260 likes | 279 Views
Operating System Organization. 3. Purpose of an OS. Coordinate Use of the Abstractions. Processes. The Abstractions. Create the Abstractions. OS Requirements. Provide resource abstractions Process abstraction of CPU/memory use Address space
E N D
Operating SystemOrganization 3 Operating Systems: A Modern Perspective, Chapter 3
Purpose of an OS Coordinate Use of the Abstractions Processes The Abstractions Create the Abstractions Operating Systems: A Modern Perspective, Chapter 3
OS Requirements • Provide resource abstractions • Process abstraction of CPU/memory use • Address space • Thread abstraction of CPU within address space • Resource abstraction • “Anything a process can request that can block the process if it is unavailable” • NT uses “object abstraction” to reference resources • File abstraction of secondary storage use Operating Systems: A Modern Perspective, Chapter 3
DOS -- Resource Abstraction Only Program Program Libraries Program OS Services ROM Routines Processor(s) Main Memory Devices Operating Systems: A Modern Perspective, Chapter 3
OS Requirements (cont) • Provide resource abstractions • Manage resource sharing • Time/space-multiplexing • Exclusive use of a resource • Isolation • Managed sharing Operating Systems: A Modern Perspective, Chapter 3
Process Process Process Program Program Program State State State Abstraction & Sharing Libraries • OS Services • Abstraction • Manage sharing ROM Routines Processor(s) Main Memory Devices Operating Systems: A Modern Perspective, Chapter 3
OS Design Constraints • Performance • Protection and security • Correctness • Maintainability • Commercial factors • Standards and open systems Operating Systems: A Modern Perspective, Chapter 3
Performance • The OS is an overhead function should not use too much of machine’s resources • Minimum functionality is to implement abstractions • Additional function must be traded off against performance • DOS: one process • UNIX: low level file system Operating Systems: A Modern Perspective, Chapter 3
Protection & Security • Multiprogramming resource sharing • Therefore, need software-controlled resource isolation • Security policy: Sharing strategy chosen by computer’s owner • Protection mechanism: Tool to implement a family of security policies Operating Systems: A Modern Perspective, Chapter 3
Correctness & Maintainability • Security depends on correct operation of software trusted vs untrusted software • Maintainability relates to ability of software to be changed • If either is sufficiently important, can limit the function of the OS • Guiding a manned spaceship • Managing a nuclear reactor Operating Systems: A Modern Perspective, Chapter 3
Device Management Device-Independent Part Device-Dependent Part Device-Dependent Part Device-Dependent Part … Device Device Device Operating Systems: A Modern Perspective, Chapter 3
Process, Thread, and Resource Management Thread Abstraction Process Abstraction Generic Resource Manager Multiprogramming Other … Primary Memory Abstract Resources Processor Operating Systems: A Modern Perspective, Chapter 3
Memory Management Isolation & Sharing Virtual Memory Block Allocation Process Manager Primary Memory Storage Devices Operating Systems: A Modern Perspective, Chapter 3
Exclusive Access to a Resource Processor Process A Process B A’s Protected Object Supervisor Program Operating Systems: A Modern Perspective, Chapter 3
Processor Modes • Mode bit: Supervisor or User mode • Supervisor mode • Can execute all machine instructions • Can reference all memory locations • User mode • Can only execute a subset of instructions • Can only reference a subset of memory locations Operating Systems: A Modern Perspective, Chapter 3
Kernels • The part of the OS critical to correct operation (trusted software) • Executes in supervisor mode • The trap instruction is used to switch from user to supervisor mode, entering the OS Operating Systems: A Modern Perspective, Chapter 3
Supervisor and User Memory User Space User Process Supervisor Process Supervisor Space Operating Systems: A Modern Perspective, Chapter 3
send(…, A, …); receive(…, B, …); send/receive receive(…A, …); … send(…, B, …); Procedure Call and Message Passing Operating Systems call(…); trap return; Operating Systems: A Modern Perspective, Chapter 3
System Call Using the trap Instruction … fork(); … Trap Table Kernel fork() { … trap N_SYS_FORK() … } sys_fork() sys_fork() { /* system function */ … return; } Operating Systems: A Modern Perspective, Chapter 3
A Thread Performing a System Call User Space Kernel Space Thread fork(); sys_fork() { } Operating Systems: A Modern Perspective, Chapter 3
File Manager Memory Manager Device Manager Basic Operating System Organization Process, Thread & Resource Manager Processor(s) Main Memory Devices Operating Systems: A Modern Perspective, Chapter 3
The UNIX Architecture Interactive User Libraries Commands Application Programs … OS System Call Interface Trap Table Device Driver • Monolithic Kernel Module • Process Management • Memory Management • File Management • Device Mgmt Infrastructure Device Driver … Driver Interface Device Driver Operating Systems: A Modern Perspective, Chapter 3
Microkernel Organization Process Process Libraries Process User Supervisor Server Server Server Device Drivers Microkernel Processor(s) Main Memory Devices Operating Systems: A Modern Perspective, Chapter 3
Windows NT Organization Process Process T T Process T T T T Libraries T T T Process Management Memory Management File Management Device Mgmt Infrastructure Subsystem Subsystem Subsystem User Supervisor I/O Subsystem NT Executive NT Kernel Hardware Abstraction Layer Processor(s) Main Memory Devices Operating Systems: A Modern Perspective, Chapter 3
Monitoring the Kernel Process Process T Task Manager T Process T T T T Libraries T T T pview pstat Subsystem Subsystem Subsystem User Supervisor I/O Subsystem NT Executive NT Kernel Hardware Abstraction Layer Processor(s) Main Memory Devices Operating Systems: A Modern Perspective, Chapter 3