DOC PREVIEW
FSU COP 5611 - Letter 8 OS Organization

This preview shows page 1-2-3-4-28-29-30-31-57-58-59-60 out of 60 pages.

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

Unformatted text preview:

Operating System Organization Andy Wang COP 5611 Advanced Operating Systems Outline Organizing operating systems Some microkernel examples Object oriented organizations Spring Organization for multiprocessors Operating System Organization What is the best way to design an OS Put another way what are the important software characteristics of an OS Decide on those then design to match them Important OS Software Characteristics Correctness and simplicity Power and completeness Performance Extensibility and portability Suitability for distributed and parallel systems Compatibility with existing systems Security and fault tolerance Common OS Organizations Monolithic Virtual machine Layered designs Kernel designs Microkernels Object Oriented Note that individual OS components can be organized these ways Monolithic OS Design Build OS as single combined module Hopefully using data abstraction compartmentalized function etc OS lives in its own single address space Examples DOS early Unix systems most VFS file systems Pros Cons of Monolithic OS Organization Highly adaptable at first Little planning required Potentially good performance Hard to extend and change Eventually becomes extremely complex Eventually performance becomes poor Highly prone to bugs Virtual Machine Organizations A base OSprovides services in a very generic way One or more other OSes live on top of the base system Using the services it provides To offer different views of system to users Examples IBM s VM 370 the Java interpreter Pros Cons of VM Organizations Allows multiple OS personalities on a single machine Good OS development environment Can provide good portability of applications Significant performance problems Especially if more than 2 layers Lacking in flexibility Layered OS Design Design tiny innermost layer of software Next layer out provides more functionality Using services provided by inner layer Continue adding layers until all functionality required has been provided Examples Multics Fluke layered file systems and comm protocols Pros Cons of Layered Organization More structured and extensible Easy model Layer crossing can be expensive In some cases multiple layers unnecessary Kernel OS Designs Similar to layers but only two OS layers Kernel OS services Non kernel OS services Move certain functionality outside kernel file systems libraries Unlike VMs kernel doesn t stand alone Examples Most modern Unix systems Pros Cons of Kernel OS Organization Advantages of layering without disadvantage of many layers Easier to demonstrate correctness Not as general as layering Offers no organizing principle for other parts of OS user services Kernels tend to grow to monoliths Microkernel OS Design Like kernels only less so Try to include only small set of required services in the microkernel Moves even more out of innermost OS part Like parts of VM IPC paging etc Examples Mach Amoeba Plan 9 Windows NT Chorus Pros Cons of Microkernel Organization Those of kernels plus Minimizes code for most important OS services Offers model for entire system Microkernels tend to grow into kernels Requires very careful initial design choices Serious danger of bad performance Object Oriented OS Design Design internals of OS as set of privileged objects using OO methods Sometimes extended into application space Tends to lead to client server style of computing Examples Mach internally Spring totally Pros Cons of OO OS Organization Offers organizational model for entire system Easily divides system into pieces Good hooks for security Can be a limiting model Must watch for performance problems Some Important Microkernel Designs Micro ness is in the eye of the beholder Mach Amoeba Plan 9 Windows NT Mach Mach didn t start life as a microkernel Became one in Mach 3 0 Object oriented internally Doesn t force OO at higher levels Microkernel focus is on communications facilities Much concern with parallel distributed systems Mach Model User processes Software emulation 4 3BSD SysV HP UX other emul emul emul emul layer Microkernel User space Kernel space What s In the Mach Microkernel Tasks Threads Ports and Port Sets Messages Memory Objects Device Support Multiprocessor Distributed Support Mach Tasks An execution environment providing basic unit of resource allocation Contains Virtual address space Port set One or more threads Kernel User space Mach Task Model Address space Process Thread Process port Bootstrap port Exception Registered port ports Mach Threads Basic unit of Mach execution Run in context of one task All threads in one task share its resources Unix process similar to Mach task with single thread Task and Thread Scheduling Very flexible Controllable by kernel or user level programs Threads of single task can run in parallel On single processor and multiple processors Local and global schedulers for multicore machines User level scheduling can extend to multiprocessor scheduling Mach Ports Basic Mach object reference mechanism Kernel protected communication channel Tasks communicate by sending messages to ports Threads in receiving tasks pull messages off a queue Ports are location independent Port queues protected by kernel bounded Port Rights Mechanism by which tasks control who may talk to their ports Kernel prevents messages being set to a port unless the sender has its port rights Port rights also control which single task receives on a port Port Sets A group of ports sharing a common message queue A thread can receive messages from a port set Thus servicing multiple ports Messages are tagged with the actual port A port can be a member of at most one port set Mach Messages Typed collection of data objects Unlimited size Sent to particular port May contain actual data or pointer to data Port rights may be passed in a message Kernel inspects messages for particular data types like port rights Mach Memory Objects A source of memory accessible by tasks May be managed by user mode external memory manager a file managed by a file server Accessed by messages through a port Kernel manages physical memory as cache of contents of memory objects Mach Device Support Devices represented by ports Messages control the device and its data transfer Actual device driver outside the kernel in an external object Mach Multiprocessor and Distributed System Support Messages and ports can extend across processor machine boundaries Location transparent entities Kernel manages distributed hardware Per processor data structures but also structures


View Full Document

FSU COP 5611 - Letter 8 OS Organization

Documents in this Course
Load more
Download Letter 8 OS Organization
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 Letter 8 OS Organization 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 Letter 8 OS Organization 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?