Download presentation
Presentation is loading. Please wait.
1
Operating Systems Structure
External Structure Operating System Interfaces System Calls Device Drivers Internal Structure: Layering and Monolithic Kernels Alternative Structures: Microkernels Exokernels and Library Operating Systems
2
External Structure of an OS
applications programs/ processes system call interface scheduler file system kernel memory manager etc. device drivers hardware
3
Example: Windows NT User mode Integral subsystems
Application POSIX Application OS/2 Application User mode Integral subsystems Environment subsystems Workstation service Server service Security Win 32 POSIX OS/2 Kernel mode Executive Executive Services I/O Manager Security Refernce Monitor IPC Manager Virtual Memory Manager (VMM) Process Manager PnP Manager Power Manager Window Manager GDI Object Manager Kernel mode drivers Microkernel Hardware Abstraction Layer (HAL) Hardware
4
Internal Structure of an OS
applications programs/ processes system call interface scheduler file system kernel memory manager etc. device drivers hardware
5
Internal Structure: Layered Services
The “Onion View” of the OS. user programs file system intermachine network communication device manager and device drivers real-time clock manager interprocess communication process coordinator process manager memory manager hardware Xinu [Comer 1984]
6
Internal Structure: Monolithic vs. μ-Kernels
Layered Kernel Microkernel ... user process device drivers file server process server virtual memory user user user file system user IPC kernel I/O and device management virtual memory process management μ-kernel kernel hardware hardware Hierarchical decomposition. Leads to monolithic kernels. Kernel has only core operating system functions. Other functions run in server processes in user space.
7
Operations in a μ-Kernel
user file system server sys_open() file handle μ-kernel open_file request Non-kernel components of the OS are implemented as server processes. Communication between user and servers using messages through kernel. “Client-server computing on a single computer.” Examples: Mach, Windows NT/2000/XP/7/8/10/…, Chorus, L4, …
8
In micro-kernels, both users and servers run
in user-mode. This includes the File System Server. The file server does not need to execute any privileged instructions (i.e., instructions that need to be run in kernel mode.) Of course, IO operations to read/write from/to disks need to run in kernel mode, but these usually are managed by the microkernel. (For example, IO port operations are privileged on the x86.)
9
Client-Server Computing with μ-Kernel
user file system server file handle Network μ-kernel μ-kernel μ-kernel open_file req open_file request Non-kernel components of the OS are implemented as server processes. Communication between user and servers using messages through kernel. “Client-server computing on a single computer.” Examples: Mach, Windows NT/2000/XP/7/8/10/…, Chorus, L4, …
10
Benefits of μ-Kernels Extensibility:
New services can be added by adding server processes. Flexibility: Services can be customized. Portability: Kernel small, with well-defined interface. Robustness: Servers can fail “locally” Distributed System Support: Interface between users and services is message-based.
11
μ-Kernels: Performance is Problem
user server reply μ-kernel request Request traverses user/kernel boundary twice, same for reply. Solution approaches: Move critical services back into the kernel (“make kernel bigger”) Make kernel “smaller”
12
Bigger: Windows NT User mode Integral subsystems
Application POSIX Application OS/2 Application User mode Integral subsystems Environment subsystems Workstation service Server service Security Win 32 POSIX OS/2 Kernel mode Executive Executive Services I/O Manager Security Refernce Monitor IPC Manager Virtual Memory Manager (VMM) Process Manager PnP Manager Power Manager Window Manager GDI Object Manager Kernel mode drivers Microkernel Hardware Abstraction Layer (HAL) Hardware
13
Smaller: Exokernel Claim: Providing abstractions of resources or virtual machines for applications to execute is the wrong approach! The Exokernel approach: Export hardware resources securely (!) instead of emulating them. Expose everything about resources, but do it securely, e.g.: Allow application to access HW resources as efficiently as possible. Export physical names of resources (e.g., addresses) Allow applications to allocate specific resources
14
Exokernel: Secure Binding
Web Application High-Performance Num. Application Application http Application libraries DSM POSIX TCP IPC Traps VM “Library Operating System” Exokernel Secure bindings Hardware Frame Buffer TLB Network Memory Disk Library OSs manage hardware resources. Exokernel protects Library OSs from each other.
15
Summary: Operating Systems Structure
External Structure Operating System Interfaces System Calls Device Drivers Internal Structure: Layering and Monolithic Kernels Alternative Structures: Microkernels Exokernels and Library Operating Systems
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.