Computers Operating System Essentials Operating Systems PROGRAM OPERATING SYSTEM HARDWARE Operating Components APPLICATION PROGRAMS SYSTEM PROGRAMS (COMPILERS, etc.) MEMORY OPERATING SYSTEM MACHINE LANGUAGE KERNEL MICROPROGRAMMING ROM PHYSICAL EXECUTION CPU System Structure Layers Processor Hardware functions: circuits, instruction set, procedures, interrupts Process management: multiprogramming, management of secondary storage, logical addressing External resource management: communication among process, file management, device access and addressing, user support OS Functions User Interface Resource Management Evolution User Interface Functions Create programs Execute programs Access I/O devices Manage file access Provide shared access Manage error detection Provide accounting Resource Management Shares resources among applications Increases efficiency Evolution Support hardware upgrades Enables operating system upgrades and additional features Fixes Essential OS Functions Process management Memory management Information protection and security Scheduling and resource management System architecture Process Consists of Executable program Data and data resources Execution context: register contents, priorities and module status Process Management Multiprogramming Running several programs at a time to increase cpu utilization Time sharing Allowing multiple interactive users to log in at the same time Real time transaction processing Allow multiple users/programs to use the same copy of a program at once Batch Multiprogramming (Short term dispatching) READY NEW RUNNING WAITING I/O HALTED ERROR/ COMPLETE Process Control Block (Short term scheduling) Block Identifier State Program Counter Memory Pointers Context Data I/O Status Accounting Information Contents Current process ID New/Ready/Wait/etc Address of next instruction Start and end location of process in memory Register contents I/O requests and assignments Dispatching: lower level process scheduling 50 - 60 automatic interrupts per second Returns control to the OS for rescheduling preemptive scheduling run to completion Process Management Problems Synchronization: correct management of interrupted processes Mutual exclusion: keeping shared resource use separate Determinate program operation: programs get the same result every time independent of what else is running Deadlock Memory Management Virtual memory and file management Isolation Automatic allocation and management Support modular programming Protection and access control Long-term storage Addresses Physical address: actual memory location. NEEDED BY THE CPU Relative address: offset from a reference physical address. NEEDED BY THE OPERATING SYSTEM Logical address: address within a programmed unit (e.g. page). NEEDED BY APPLICATION PROGRAMS Virtual Memory PAGE NUMBER + OFFSET PAGE TABLE FRAME NUMBER + OFFSET PAGE TABLE PAGE TABLE Pages Page Frames Page Table Access A page table is an index to the current location of a page. Access can be Swapped Page Segmentation (hierarchical) Hashed Translation Lookaside Buffer : Page Cache ALU CNTL ..... CACHE BUS MAIN MEMORY TLB Page Frames DASD Pages Information Protection and Security Access control: authorization and access limitation Information flow control: manage the distribution of information to the proper location Certification: assure that protection and security systems are working correctly Scheduling and Resource Management Considers Fairness Differential response Efficiency Modern Operating Systems Microkernel Architecture Multithreading Symmetric pultiprocessing Virtual Machine O/S Users think they have the entire machine Copies of machine can execute the complete machine language May run different operating systems in different partitions OS Management