130 likes | 238 Views
Design Strategies. 19. Software Organization. Application Software. Application Software. Application Software. Application Software. Other System Software. Other System Software. Other System Software. Other System Software. Other OS Functions. Other OS Functions.
E N D
Design Strategies 19 Operating Systems: A Modern Perspective, Chapter 19
Software Organization Application Software Application Software Application Software Application Software Other System Software Other System Software Other System Software Other System Software Other OS Functions Other OS Functions Other OS Functions Other OS Functions Kernel Functions Nucleus Functions Nucleus Functions Nucleus Functions Skeletal Nucleus (c) Extensible (d) Layered (b) Modular (a) Monolithic Operating Systems: A Modern Perspective, Chapter 19
File Manager Process & Resource Manager Memory Manager Device Manager Figure 19‑2: OS Function Organization Processor(s) Main Memory Devices Operating Systems: A Modern Perspective, Chapter 19
Function Interactions Process/Thread Admin Virtual Memory Scheduler File Management Synchronization Device Management IPC Deadlock Management Interrupt Handler Resource Management Protection Mechanisms Memory Allocation Operating Systems: A Modern Perspective, Chapter 19
Multiple OS Policies on a Single Hardware Architecture … OS Policy Implementation OS Policy Implementation OS Policy Implementation Virtual Machine Interface Extensible Kernel Hardware • Popularized in IBM VM • Approach is used in Windows NT Subsystems Operating Systems: A Modern Perspective, Chapter 19
Porting an OS to Different Architectures OS Policy Implementation Extensible Kernel Architecture Adaptor … Hardware Architecture 1 Hardware Architecture 2 Hardware Architecture N • Used in Windows NT Technology • Used in Linux (sort of …) Operating Systems: A Modern Perspective, Chapter 19
Mach Microkernel-based OS BSD 4.3 Implementation OSF/1 Implementation RT-Mach Implementation … OS Policy Implementation Mach Kernel Interface Mach Microkernel (Tasks, Threads, Ports, …) Hardware Operating Systems: A Modern Perspective, Chapter 19
send(receiver, …); Message Object Transferring Large Messages in Accent Sender Receiver Message Object … … Sender’s Page Table Receiver’s Page Table Operating Systems: A Modern Perspective, Chapter 19
Load page Page Fault Update Map Virtual Address Physical Address New Page Kernel-Based Page Replacement Secondary Memory Kernel Space Page Replacement Fault Handler Page Frame 0 Page Frame 1 … Processor MMU … Primary Memory Operating Systems: A Modern Perspective, Chapter 19
Mach Memory Page Replacement The replacement policy can be specified by a user space program Secondary Memory Page Replacement Kernel Space Load page Fault Handler Page Frame 0 Page Fault Update Map Page Frame 1 … Virtual Address Physical Address Processor MMU New Page … Primary Memory Operating Systems: A Modern Perspective, Chapter 19
Binding Memory Objects Arbitrary Object Mem Obj Manager Kernel Space Conventional Page Objects Kernel Mem Obj Mgr Virtual Address User Space Application Operating Systems: A Modern Perspective, Chapter 19
The CHORUS Microkernel and Servers Sys V UNIX Implementation COOL Implementation RT-OS Implementation … OS Policy Implementation CHORUS Kernel Interface Chorus Microkernel (Actors, Threads, Ports, …) Hardware Operating Systems: A Modern Perspective, Chapter 19