DOC PREVIEW
CORNELL CS 414 - Operating System Structure

This preview shows page 1-2-23-24 out of 24 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Operating System StructureAnnouncementsReview: Protecting Processes from Each OtherReview: Dual Mode OperationToday’s LecturesSlide 6How do you start the OS?What does the OS do?OS Control FlowSlide 10General OS StructureLayered StructureSlide 13Microkernel StructureSlide 15ModulesUNIX structureWindows StructureModern UNIX SystemsMAC OS XVirtual MachinesVMWare StructureBut is it real?Modern version of this questionOperating System StructureAnnouncements•Make sure you are registered for CS 415•First CS 415 project is up–Initial design documents due next Friday, February 2nd–Project due following Thursday, February 8th•Everyone should have access to CMS (http://cms3.csuglab.cornell.edu)–Check and contact me ([email protected]) or Bill Hogan ([email protected]) today if you do not have access to CMS•Also, everyone should have CSUGLab account–Contact Bill or I if you do notReview: Protecting Processes from Each Other•Problem: Run multiple applications in such a way that they are protected from one another•Goal: –Keep User Programs from Crashing OS–Keep User Programs from Crashing each other–[Keep Parts of OS from crashing other parts?]•(Some of the required) Mechanisms:–Dual Mode Operation –Address Translation (base/limit registers, page tables, etc)–Privileged instructions (set timer, I/O, etc)•Simple Policy:–Programs are not allowed to read/write memory of other Programs or of Operating SystemReview: Dual Mode Operation•Hardware provides at least two modes:–“Kernel” mode (or “supervisor” or “protected”)–“User” mode: Normal programs executed •Some instructions/ops prohibited in user mode:–Example: cannot modify page tables in user mode•Attempt to modify  Exception generated •Transitions from user mode to kernel mode:–System Calls, Interrupts, Other exceptionsToday’s Lectures•I/O subsystem and device drivers•Interrupts and traps •Protection, system calls and operating mode•OS structure•What happens when you boot a computer?Operating System Structure•An OS is just another kind of program running on the CPU – a process:–It has main() function that gets called only once (during boot)–Like any program, it consumes resources (such as memory) –Can do silly things (like generating an exception), etc.•But it is a very sophisticated program:–“Entered” from different locations in response to external events–Does not have a single thread of control•can be invoked simultaneously by two different events •e.g. sys call & an interrupt–It is not supposed to terminate–It can execute any instruction in the machineHow do you start the OS?•Your computer has a very simple program pre-loaded in a special read-only memory–The Basic Input/Output Subsystem, or BIOS•When the machine boots, the CPU runs the BIOS •The BIOS, in turn, loads a “small” OS executable–From hard disk, CD-ROM, or whatever–Then transfers control to a standard start address in this image–The small version of the OS loads and starts the “big” version. •The two stage mechanism is used so that BIOS won’t need to understand the file system implemented by the “big” OS kernel•File systems are complex data structures and different kernels implement them in different ways•The small version of the OS is stored in a small, special-purpose file system that the BIOS does understandWhat does the OS do?•OS runs user programs, if available, else enters idle loop•In the idle loop:–OS executes an infinite loop (UNIX)–OS performs some system management & profiling–OS halts the processor and enter in low-power mode (notebooks)–OS computes some function (DEC’s VMS on VAX computed Pi)•OS wakes up on:–interrupts from hardware devices–traps from user programs–exceptions from user programsOS Control FlowOperating System ModulesIdleLoopFrom bootInitializationRTIInterruptSystem callmain()ExceptionOperating System Structure•Simple Structure: MS-DOS–Written to provide the most functionality in the least space–Applications have directcontrol of hardware•Disadvantages:–Not modular–Inefficient–Low protection or securityGeneral OS StructureDeviceDriversExtensions &Add’l device driversInterrupthandlersFile SystemsMemory ManagerProcessManagerSecurityModuleAPIApp AppNetworkSupportServiceModuleBoot &initAppMonolithic StructureLayered Structure•OS divided into number of layers –bottom layer (layer 0), is the hardware–highest (layer N) is the user interface–each uses functions and services of only lower-level layers•Advantages:–Simplicity of construction–Ease of debugging–Extensible•Disadvantages:–Defining the layers–Each layer adds overheadLayered StructureDeviceDriversExtensions &Add’l device driversInterrupthandlersFile SystemsMemory ManagerProcessManagerAPIApp AppNetworkSupportBoot &initAppObjectSupportMachine dependent basic implementationsHardware Adaptation Layer (HAL)Microkernel Structure•Moves as much from kernel into “user” space•User modules communicate using message passing•Benefits:–Easier to extend a microkernel–Easier to port the operating system to new architectures–More reliable (less code is running in kernel mode)–More secure–Example: Mach, QNX•Detriments:–Performance overhead of user to kernel space communication–Example: Evolution of Windows NT to Windows XPMicrokernel StructureDeviceDriversExtensions &Add’l device driversInterrupthandlersFile SystemsMemory ManagerProcessManagerSecurityModuleAppNetworkSupportBoot &initAppBasic Message Passing SupportModules•Most modern OSs implement kernel modules–Uses object-oriented approach–Each core component is separate–Each talks to the others over known interfaces–Each is loadable as needed within the kernel•Overall, similar to layers but with more flexible•Examples: Solaris, Linux, MAC OS XUNIX structureWindows StructureModern UNIX SystemsMAC OS XVirtual Machines•Implements an observation that dates to Turing–One computer can “emulate” another computer–One OS can implement abstraction of a cluster of computers, each running its own OS and applications•Incredibly useful!–System building–Protection•Cons–implementation•Examples–VMWare, JVMVMWare StructureBut is it real?•Can the OS know whether this is a real computer as opposed to a virtual machine?–It can try to perform a protected operation… but a virtual machine monitor (VMM)


View Full Document

CORNELL CS 414 - Operating System Structure

Documents in this Course
Security

Security

49 pages

Processes

Processes

24 pages

Deadlocks

Deadlocks

57 pages

Threads

Threads

5 pages

Threads

Threads

29 pages

Deadlocks

Deadlocks

36 pages

Load more
Download Operating System Structure
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Operating System Structure and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Operating System Structure 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?