1. Trang chủ
  2. » Giáo án - Bài giảng

The architecture of computer hardware and systems software an information technology approach ch15p1

31 151 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Chapter 15 – Part 1 The Internal Operating System

  • OS Internals – Part I

  • Target Model

  • Loading and Executing a Program

  • Multi-Tasking System

  • Processes

  • Process Control Block

  • Two Processes Sharing a Single Program

  • Process States

  • Process State Diagram

  • Threads

  • CPU Scheduling

  • Dispatching Objectives

  • Nonpreemptive Dispatching

  • Preemptive Dispatching

  • Slide 16

  • Memory Management

  • Memory Overlays

  • Virtual Memory

  • Frames and Pages

  • Slide 21

  • Dynamic Address Translation

  • Page Table

  • Slide 24

  • Locality of Reference

  • Page Replacement Algorithms

  • Virtual Memory Tradeoffs

  • Virtual Memory vs. Caching

  • Secondary Storage Scheduling

  • Other OS Issues

  • Java Virtual Machine

Nội dung

Chapter 15 – Part The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 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 of the 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 of the 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

Ngày đăng: 10/01/2018, 16:24