Operating System OverviewToday’s Objectives By the end of the hour you should be able to:Today’s ApplicationsApplication RequirementsSlide 5Slide 6Slide 7Delegate Common Functions?Delegate Common Functions to an Operating SystemOS Exports a Virtual Machine InterfaceIncrease Portability = Minimize Machine-Specific CodeSlide 12OS Runs on Multiple Platforms while Presenting same InterfaceSlide 14POSIX – The UNIX Interface StandardA peek into UnixUnix: ApplicationUnix: LibrariesTypical Unix OS StructureSlide 20Summary: What is an Operating System?History of Operating SystemsHistory of Operating SystemsSlide 24Slide 25History of Computer GenerationsComputer Hardware ReviewSlide 28CPUCPU RegistersCPU Register ExamplesSlide 32Code Layout for ProcessSlide 34Memory HierarchySlide 36Slide 37Slide 38Computer Hardware Review Example I/O Device: DiskExample of modern architectureI/O Interrupt MechanismOperating System Review: ProcessesContext SwitchingSemaphoresShared Resources, Conflicts, and DeadlocksInter-process CommunicationCopyright ©: Nahrstedt, Angrave, Abdelzaher 1Operating System Overview Tarek AbdelzaherLawrence AngraveVikram AdveCopyright ©: Nahrstedt, Angrave, Abdelzaher2Today’s Objectives By the end of the hour you should be able to:Explain the main purpose of operating systems and describe milestones of OS evolutionExplain fundamental machine concepts such as: Instruction processing,Memory hierarchy, Interrupts, and I/OExplain fundamental OS concepts such as: System calls, processes,synchronization,FilesExplain the POSIX standard (UNIX specification)Copyright ©: Nahrstedt, Angrave, Abdelzaher3Today’s ApplicationsBrowser Second LifeYahooChat ClientPop MailApplication SoftwareHardware NetworkCopyright ©: Nahrstedt, Angrave, Abdelzaher4Application RequirementsBrowser Second LifeYahooChat ClientPop MailApplication SoftwareHardware NetworkRead/writeDisplayPrintStoreSend/receiveCopyright ©: Nahrstedt, Angrave, Abdelzaher5Browser Second LifeYahooChat ClientPop MailApplication SoftwareHardware NetworkRead/writeDisplayPrintStoreRead/writeDisplayPrintStoreSend/receiveSend/receiveApplication RequirementsCopyright ©: Nahrstedt, Angrave, Abdelzaher6Browser Second LifeYahooChat ClientPop MailApplication SoftwareHardware NetworkRead/writeDisplayPrintStoreRead/writeDisplayPrintStoreSend/receiveSend/receiveRead/writeDisplayPrintStoreSend/receiveApplication RequirementsCopyright ©: Nahrstedt, Angrave, Abdelzaher7Browser Second LifeYahooChat ClientPop MailApplication SoftwareHardware NetworkRead/writeDisplayPrintStoreRead/writeDisplayPrintStoreSend/receiveSend/receiveRead/writeDisplayPrintStoreSend/receiveSend/receiveDisplayStorePrintRead/writeApplication RequirementsCopyright ©: Nahrstedt, Angrave, Abdelzaher8Delegate Common Functions?Browser Second LifeYahooChat ClientPop MailApplication SoftwareHardware NetworkRead/writeDisplayPrintStoreRead/writeDisplayPrintStoreSend/receiveSend/receiveRead/writeDisplayPrintStoreSend/receiveSend/receiveDisplayStorePrintRead/writeCopyright ©: Nahrstedt, Angrave, Abdelzaher9Delegate Common Functions to an Operating SystemWeb Server Second LifeYahooChatPop MailApplication SoftwareOperating SystemNetworkHardwareRead/WriteStandardOutputDeviceControlFileSystemCommunicationCopyright ©: Nahrstedt, Angrave, Abdelzaher10OS Exports a Virtual Machine InterfaceWeb Server Second LifeYahooChatPop MailApplication SoftwareOperating SystemNetworkHardwareRead/WriteStandardOutputDeviceControlFileSystemCommunicationStandard Operating System Interface (Virtual Machine)Copyright ©: Nahrstedt, Angrave, Abdelzaher11Increase Portability = Minimize Machine-Specific CodeWeb Server Second LifeYahooChatPop MailApplication SoftwareNetworkHardwareMachine specific partRead/WriteStandardOutputDeviceControlFileSystemCommunicationOperating System (machine independent part)Standard Operating System Interface (Virtual Machine)Copyright ©: Nahrstedt, Angrave, Abdelzaher12Web Server Second LifeYahooChatPop MailApplication SoftwareNetworkHardwareMachine specific partRead/WriteStandardOutputDeviceControlFileSystemCommunicationOperating System (machine independent part)Standard Operating System Interface (Virtual Machine)PortableIncrease Portability = Minimize Machine-Specific CodeCopyright ©: Nahrstedt, Angrave, Abdelzaher13Web Server Second LifeYahooChatPop MailApplication SoftwareRead/WriteStandardOutputDeviceControlFileSystemCommunicationOperating System (machine independent part)Standard Operating System Interface (Virtual Machine)PortableOS Runs on Multiple Platforms while Presenting same InterfaceCopyright ©: Nahrstedt, Angrave, Abdelzaher14Web Server Second LifeYahooChatPop MailApplication SoftwareNetworkHardwareMachine specific partRead/WriteStandardOutputDeviceControlFileSystemCommunicationOperating System (machine independent part)Standard Operating System Interface (Virtual Machine)PortableOS Runs on Multiple Platforms while Presenting same InterfaceCopyright ©: Nahrstedt, Angrave, Abdelzaher15POSIX – The UNIX Interface StandardWeb Server Second LifeYahooChatPop MailApplication SoftwareNetworkHardwareMachine specific partRead/WriteStandardOutputDeviceControlFileSystemCommunicationOperating System (machine independent part)The POSIX Standard Specifies UNIX InterfacePortableCopyright ©: Nahrstedt, Angrave, Abdelzaher16A peek into UnixApplicationPortable OS LayerLibrariesMachine-dependent layerUser space/levelKernel space/level• User/kernel modes are supported by hardware •Some systems do not have clear user-kernel boundaryCopyright ©: Nahrstedt, Angrave, Abdelzaher17Unix: ApplicationApplication (E.g., emacs)Portable OS LayerLibrariesMachine-dependent layerWritten by programmerCompiled by programmerUses function callsCopyright ©: Nahrstedt, Angrave, Abdelzaher18Unix: LibrariesApplicationPortable OS LayerLibraries (e.g., stdio.h)Machine-dependent layerProvided pre-compiledDefined in headersInput to linker (compiler)Invoked like functionsCopyright ©: Nahrstedt, Angrave, Abdelzaher19Typical Unix OS StructureApplicationPortable OS LayerLibrariesMachine-dependent layersystem calls (read, open..)All “high-level” codeCopyright ©: Nahrstedt, Angrave, Abdelzaher20Typical Unix OS StructureApplicationPortable OS LayerLibrariesMachine-dependent layerBootstrapSystem initializationInterrupt and exception I/O device driverMemory managementKernel/user mode switchingProcessor managementCopyright ©: Nahrstedt, Angrave,
View Full Document