operating system structure - new mexico institute of ...cs325/spring2013/lec04-osstructure.pdf ·...
Post on 10-Apr-2018
225 Views
Preview:
TRANSCRIPT
CSE325 Principles of Operating Systems
Operating System Structure
David Duggan
dduggan@sandia.gov
January 24, 2013
1/24/13 CSE325 - OS Structure 3
Operating System Design and Implementation
n Affected by choice of hardware, type of system
n User goals and System goals n User goals – operating system should be convenient to use,
easy to learn, reliable, safe, secure, and fast n System goals – operating system should be easy to design,
implement, and maintain, as well as flexible, reliable, error-free, secure, and efficient
n Important principle is separation Policy: What will be done? Mechanism: How to do it?
n The separation of policy from mechanism is a very important principle, it allows maximum flexibility if policy decisions are to be changed later
Operating Systems Structures
n Structure/Organization/Layout of OSs: 1. Monolithic (one unstructured program)
2. Layered
3. Microkernel
4. Virtual Machines
n The role of Virtualization
CSE325 - OS Structure
Monolithic OS – Basic Structure
n Application programs that invoke the requested system services.
n A set of system services that carry out the operating system procedures/calls.
n A set of utility procedures that help the system services.
1/24/13 6 CSE325 - OS Structure
CSE325 - OS Structure
MS-DOS System Structure
n MS-DOS – written to provide functionality in the least space: n not divided into modules (monolithic).
n Although MS-DOS has some structure, its interfaces and levels of functionality are not well separated.
1/24/13 CSE325 - OS Structure 9
n UNIX – limited by hardware functionality, the original UNIX operating system had limited structuring. The UNIX OS consists of two separable parts
n The kernel n Consists of everything below the system-call interface
and above the physical hardware
n Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level
n Systems programs
UNIX System Structure
Layered Approach
n The operating system is divided into a number of layers (levels), each built on top of lower layers.
n The bottom layer (layer 0) is the hardware; the highest (layer N) is the user interface.
n With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers.
CSE325 - OS Structure
Microkernel System Structure
n Move as much functionality as possible from the kernel into “user” space.
n Only a few essential functions in the kernel: n primitive memory management (address space) n I/O and interrupt management n Inter-Process Communication (IPC) n basic scheduling
n Other OS services are provided by processes running in user mode (vertical servers): n device drivers, file system, virtual memory…
1/24/13 16 CSE325 - OS Structure
Microkernel System Structure
n Communication takes place between user modules using message passing
n Benefits: n Easier to extend a microkernel
n Easier to port the operating system to new architectures
n More reliable (less code is running in kernel mode)
n More secure
n Detriments: n Performance overhead of user space to kernel space
communication
CSE325 - OS Structure
Benefits of a Microkernel Organization
n Extensibility/Reliability n modular design n easier to extend a microkernel n more reliable (less code is running in kernel mode) n more secure (less code to be validated in kernel) n small microkernel can be rigorously tested.
n Portability n changes needed to port the system to a new
processor is done in the microkernel, not in the other services.
1/24/13 20 CSE325 - OS Structure
1/24/13 CSE325 - OS Structure 26
Kernel Modules
n Most modern operating systems implement kernel modules n Uses object-oriented approach
n Each core component is separate
n Each talks to the others over known interfaces
n Each is loadable as needed within the kernel
n Overall, similar to layers but more flexible
1/24/13 CSE325 - OS Structure 29
Virtual Machines
n A virtual machine takes the layered approach to its logical next step. It treats hardware and the operating system kernel as though they were all hardware
n A virtual machine provides an interface identical to the underlying bare hardware
n The operating system host creates the illusion that a process has its own processor (and virtual memory)
n Each guest provided with a (virtual) copy of underlying computer
1/24/13 CSE325 - OS Structure 30
Virtual Machines (Cont.)
(a) Non-virtual machine (b) virtual machine
Non-virtual Machine" Virtual Machine"
The Role of Virtualization
(a) General organization between a program, interface, and system.
(b) General organization of virtualizing system A on top of system B. 33
Java Virtual Machine
n Compiled Java programs are platform-neutral bytecodes executed by a Java Virtual Machine (JVM).
n JVM consists of:
- class loader
- class verifier
- runtime interpreter
n Just-In-Time (JIT) compilers increase performance.
CSE325 - OS Structure
Types of Hypervisors
(a) A type 1 hypervisor. (b) A type 2 hypervisor
1/24/13 37 CSE325 - OS Structure
1/24/13 CSE325 - OS Structure 38
Para- vs. Full-virtualization
n Presents guest with system similar but not identical to hardware
n Guest must be modified to run on paravirtualized hardware
n Guest can be an OS, or in the case of Solaris 10 applications running in containers
n Full-virtualization: unmodified guest OSes
top related