Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
1,26 MB
Nội dung
Chapter 15 – Part The Internal Operating System TheArchitectureofComputerHardwareandSystems Software: AnInformationTechnologyApproach 3rd Edition, Irv Englander John Wiley and Sons 2003 OS Internals – Part I Process Scheduling CPU Scheduling Memory Management Virtual Storage Chapter 15 15.1-2 Target Model Chapter 15 15.1-3 Loading and Executing a Program Network Services Translates logical file requests File management IOCS (I/O control system) Device management / Resource allocation Load programs into MM Allocates execution time Provides overall system control Chapter 15 Memory management / Scheduling Monitor 15.1-4 Multi-Tasking System The OS must allocate resources (CPU, memory, I/O) to multiple processes Different scheduling routines are used for different objectives Chapter 15 15.1-5 Processes Process: basic unit of work in the OS A program together with all the resources that are associated with it as it is executed Program: a file or listing Process: a program being executed Independent vs cooperating processes PID (process ID): a unique identifier for each process Process creation: user vs system Forking, spawning, cloning a new process Parent and child processes Chapter 15 15.1-6 Process Control Block A block of data for each process in the system Contains all relevant information about the process Typical process control block on the right Chapter 15 15.1-7 Two Processes Sharing a Single Program Chapter 15 15.1-8 Process States Three primary process operating states Ready state Running state Blocked state Dispatching - Move from ready state to running state Wake-up - Move from blocked state to ready state Time-out - Move from running state to ready state Process completion killed, terminated, destroyed Additional states – suspend, swap Resumption – Move from suspended state to ready state Chapter 15 15.1-9 Process State Diagram Chapter 15 15.1-10 Memory Management Memory Partitioning Fixed Variable Best fit, first-fit, largest-fit algorithms Memory fragmentation Overlays Programs are divided into small logical pieces for execution Pieces are loaded into memory as needed Memory Relocation Addresses have to be adjusted unless relative addressing is used Chapter 15 15.1-17 Memory Overlays Chapter 15 15.1-18 Virtual Memory Virtual memory increases the apparent amount of memory by using far less expensive hard disk space Provides for process separation Demand paging Pages brought into memory as needed Page table Keeps track of what is in memory and what is still out on hard disk Chapter 15 15.1-19 Frames and Pages Program Memory Unit Page Frame Address Logical Physical Size to 4KB to 4KB Amount # of bits in Installed memory instruction word Chapter 15 15.1-20 Frames and Pages Binary Paging Chapter 15 15.1-21 Dynamic Address Translation Chapter 15 15.1-22 Page Table Page Frame 10 11 Pages not in main memory: page fault when accessed 10 Disk 10 11 Swap space Chapter 15 Virtual Memory Pages 15.1-23 Steps in Handling a Page Fault Chapter 15 15.1-24 Locality of Reference Most memory references confined to small region Well-written program in small loop, procedure or function Data likely in array and variables stored together Working set Number of pages sufficient to run program normally, i.e., satisfy locality of a particular program Chapter 15 15.1-25 Page Replacement Algorithms Page fault - page is not in memory and must be loaded from disk Algorithms to manage swapping First-In, First-Out FIFO – Belady’s Anomaly Least Recently Used LRU Least Frequently Used LFU Not Used Recently NUR Referenced bit, Modified (dirty) bit Second Chance Replacement algorithms Thrashing too many page faults affect system performance Chapter 15 15.1-26 Virtual Memory Tradeoffs Disadvantages SWAP file takes up space on disk Paging takes up resources ofthe CPU Advantages Programs share memory space More programs run at the same time Programs run even if they cannot fit into memory all at once Process separation Chapter 15 15.1-27 Virtual Memory vs Caching Cache speeds up memory access Virtual memory increases amount of perceived storage Independence from the configuration and capacity ofthe memory system Low cost per bit compared to main memory Chapter 15 15.1-28 Secondary Storage Scheduling First-Come, First-Served Shortest Distance First Indefinite postponement problem Scan Middle of disk gets serviced twice N-Step C-Scan Disk seek in only one direction Return after last request in queue served Two queues Queue of requests being processed Queue of new requests Chapter 15 15.1-29 Other OS Issues Deadlock Two processes have one another’s resources that the other needs in order to proceed Prevention Avoidance Detection and recovery Process Synchronization Chapter 15 15.1-30 Java Virtual Machine Chapter 15 15.1-31 ... devices Advantage of process/thread families over multiple independent processes: Reduced OS overhead for resource allocation and process management Substantially less information than a normal... that can be run independent of other parts of the process Event-driven programs No control blocks Shares resources allocated to its parent process including primary storage, files and I/O... new process Parent and child processes Chapter 15 15.1-6 Process Control Block A block of data for each process in the system Contains all relevant information about the process Typical