1: IntroductionWhat is an Operating System?Computer System StructureFour Components of a Computer SystemComputer StartupComputer System OrganizationStorage StructureStorage HierarchyStorage-Device HierarchyPerformance of Various Levels of StorageOperating-System OperationsProcess ManagementProcess Management ActivitiesMemory ManagementStorage ManagementMass-Storage ManagementI/O SubsystemProtection and Security2: Operating-System StructuresOperating System Services (Cont.)Simple StructureMS-DOS Layer StructureLayered ApproachLayered Operating SystemUNIXUNIX System StructureMac OS X StructureModules3: Processes3: ProcessesProcess ConceptProcess Control Block (PCB)Slide 33CPU Switch From Process to ProcessProcess Scheduling QueuesSchedulersSchedulers (Cont.)Context Switch4: CPU SchedulingCPU SchedulerDispatcherScheduling CriteriaOptimization CriteriaShortest-Job-First (SJF) SchedulingPriority SchedulingRound Robin (RR)Multilevel QueueMultilevel Queue SchedulingMultilevel Feedback QueueMultiple-Processor Scheduling5: Main Memory5: Memory ManagementObjectivesBackgroundBase and Limit RegistersBinding of Instructions and Data to MemoryMultistep Processing of a User ProgramLogical vs. Physical Address SpaceMemory-Management Unit (MMU)Dynamic relocation using a relocation registerDynamic LoadingDynamic LinkingSwappingSchematic View of SwappingDynamic Storage-Allocation ProblemFragmentationPagingPaging Model of Logical and Physical MemoryPaging ExampleMemory ProtectionSegmentationUser’s View of a ProgramLogical View of Segmentation6: File-System InterfaceSlide 75Slide 76File ConceptFile StructureFile AttributesFile OperationsFile Types – Name, ExtensionDirectory StructureA Typical File-system OrganizationOperations Performed on DirectoryOrganize the Directory (Logically) to ObtainFile SharingFile Sharing – Multiple UsersFile Sharing – Remote File SystemsProtectionAccess Lists and GroupsWindows XP Access-control List ManagementA Sample UNIX Directory Listing7: Mass-Storage SystemsSlide 94Slide 95Overview of Mass Storage StructureMoving-head Disk MechanismOverview of Mass Storage Structure (Cont.)Disk StructureDisk AttachmentNetwork-Attached StorageStorage Area NetworkDisk SchedulingSSTFSCANC-SCANC-LOOKSelecting a Disk-Scheduling AlgorithmDisk ManagementBooting from a Disk in Windows 2000Swap-Space ManagementRAID StructureRAID (cont)RAID LevelsRAID (0 + 1) and (1 + 0)Stable-Storage ImplementationTertiary Storage DevicesRemovable DisksRemovable Disks (Cont.)WORM DisksTapesOperating System IssuesApplication InterfaceTape DrivesFile NamingHierarchical Storage Management (HSM)SpeedSpeed (Cont.)ReliabilityCostPrice per Megabyte of DRAM, From 1981 to 2004Price per Megabyte of Magnetic Hard Disk, From 1981 to 2004Price per Megabyte of a Tape Drive, From 1984-20007: SecuritySlide 135Slide 136The Security ProblemStandard Security AttacksProgram ThreatsLayout of Typical Stack FrameProgram Threats (Cont.)System and Network ThreatsCryptography as a Security ToolSecure Communication over Insecure MediumEncryptionEncryption (Cont.)Symmetric EncryptionAsymmetric EncryptionAsymmetric Encryption (Cont.)Asymmetric Encryption ExampleEncryption and Decryption using RSA Asymmetric CryptographyCryptography (Cont.)AuthenticationAuthentication (Cont.)Authentication – Hash FunctionsAuthentication - MACAuthentication – Digital SignatureSlide 158Key DistributionMan-in-the-middle Attack on Asymmetric CryptographyDigital CertificatesEncryption Example - SSLUser AuthenticationImplementing Security DefensesFirewalling to Protect Systems and NetworksNetwork Security Through Domain Separation Via FirewallComputer Security ClassificationsExample: Windows XP1: Introduction1.2What is an Operating System?A program that acts as an intermediary between a user of a computer and the computer hardware.Operating system goals:Execute user programs and make solving user problems easier.Make the computer system convenient to use.Use the computer hardware in an efficient manner.1.3Computer System StructureComputer system can be divided into four componentsHardware – provides basic computing resourcesCPU, memory, I/O devicesOperating systemControls and coordinates use of hardware among various applications and usersApplication programs – define the ways in which the system resources are used to solve the computing problems of the usersWord processors, compilers, web browsers, database systems, video gamesUsersPeople, machines, other computers1.4Four Components of a Computer System1.5Computer Startupbootstrap program is loaded at power-up or rebootTypically stored in ROM or EPROM, generally known as firmwareInitializates all aspects of systemLoads operating system kernel and starts execution1.6Computer System OrganizationComputer-system operationOne or more CPUs, device controllers connect through common bus providing access to shared memoryConcurrent execution of CPUs and devices competing for memory cycles1.7Storage StructureMain memory – only large storage media that the CPU can access directly.Secondary storage – extension of main memory that provides large nonvolatile storage capacity.Magnetic disks – rigid metal or glass platters covered with magnetic recording material Disk surface is logically divided into tracks, which are subdivided into sectors.The disk controller determines the logical interaction between the device and the computer.1.8Storage HierarchyStorage systems organized in hierarchy.SpeedCostVolatilityCaching – copying information into faster storage system; main memory can be viewed as a last cache for secondary storage.1.9Storage-Device Hierarchy1.10Performance of Various Levels of StorageMovement between levels of storage hierarchy can be explicit or implicit1.11Operating-System OperationsInterrupt driven by hardwareSoftware error or request creates exception or trapDivision by zero, request for operating system serviceOther process problems include infinite loop, processes modifying each other or the operating systemDual-mode operation allows OS to protect itself and other system componentsUser mode and kernel mode Mode bit provided by hardwareProvides ability to distinguish when system is running user code or kernel codeSome instructions designated as privileged, only executable in kernel modeSystem call changes mode to kernel, return from call resets it to
View Full Document