Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

02.Os Structure


Published on

Operating System

Published in: Technology
  • Be the first to comment

02.Os Structure

  1. 1. Computer System Architecture (Software) Chapter 2. Operating System structure Spring 2008 Guo Xunhua
  2. 2. Operating System Structure Computer hardware structure System calls System programs Operating system components Guo, Xunhua 2
  3. 3. Computer hardware structure
  4. 4. Computer hardware Guo, Xunhua 4
  5. 5. Hardware Architecture (Storage Centric) Guo, Xunhua 5
  6. 6. Hardware Architecture (Bus-based) CPU Arithmetric-Logic Unit Secondary Input Devices Control Unit Storage ... ... ... ... ... ... ... ... ... ... ... ... Communication BUS Output Devices Devices ... ... ... ... ... ... ... ... ... ... ... ... Primary Storage Guo, Xunhua 6
  7. 7. Hardware components Central Processing Unit (CPU) Control Unit Arithmetic-Logic Unit Storage Primary Storage Secondary Storage Input/Output Devices (Including Communication Devices) Guo, Xunhua 7
  8. 8. Computer hardware operation M t or oni Bus I/O devices and the CPU can execute concurrently. Each device controller is in charge of a particular device type. Each device controller has a local buffer. CPU moves data from/to main memory to/from the local buffers. I/O is from the device to local buffer of controller. Device controller informs CPU that it has finished its operation by causing an interrupt. Guo, Xunhua 8
  9. 9. Common Functions of Interrupts Interrupt transfers control to the interrupt service routine interrupt vector contains the addresses of all the service routines. Interrupt architecture must save the address of the interrupted instruction. Incoming interrupts are disabled while another interrupt is being processed to prevent a lost interrupt. A trap is a software-generated interrupt caused either by an error or a user request. An operating system is interrupt driven. Guo, Xunhua 9
  10. 10. Interrupts (a) (b) (a) Steps in starting an I/O device and getting interrupt (b) How the CPU is interrupted Guo, Xunhua 10
  11. 11. Interrupt time line Guo, Xunhua 11
  12. 12. Synchronous I/O interrupts After I/O starts, control returns to user program only upon I/O completion. wait instruction idles the CPU until the next interrupt. wait loop (contention for memory access). at most one I/O request is outstanding at a time; no simultaneous I/O processing. Guo, Xunhua 12
  13. 13. Asynchronous I/O interrupts After I/O starts, control returns to user program without waiting System call – request to the operating system Device-status table contains entry for each I/O device indicating its type, address, and state (not functioning, idle or busy) Multiple requests for the same device are maintained in a wait queue. Operating system indexes into I/O device table to determine device status and to modify table entry to include interrupt. Guo, Xunhua 13
  14. 14. DMA Structure Used for high-speed I/O devices able to transmit information at close to memory speeds. Device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention. Only one interrupt is generated per block, rather than the one interrupt per byte. Guo, Xunhua 14
  15. 15. Storage Structure Main memory The only large storage media that the CPU can access directly. Secondary storage extension of main memory that provides large nonvolatile storage capacity. Magnetic disks Optical disks Magnetic tapes Guo, Xunhua 15
  16. 16. Typical memory hierarchy Storage systems organized in hierarchy: Speed, cost, volatility Caching copying information into faster storage system; main memory can be viewed as a fast cache for secondary storage. Guo, Xunhua 16
  17. 17. Structure of a large Pentium system Guo, Xunhua 17
  18. 18. Hardware protection Dual-Mode Operation I/O Protection Memory Protection CPU Protection Guo, Xunhua 18
  19. 19. Dual-mode operation Sharing system resources requires operating system to ensure that an incorrect program cannot cause other programs to execute incorrectly. Provide hardware support to differentiate between at least two modes of operations. User mode – execution done on behalf of a user. Monitor mode (also supervisor mode, kernel mode, or system mode) – execution done on behalf of operating system. Guo, Xunhua 19
  20. 20. Dual-mode operation Guo, Xunhua 20
  21. 21. User mode and monitor mode Mode bit added to computer hardware to indicate the current mode monitor (0) or user (1). When an interrupt or fault occurs hardware switches to monitor mode Privileged instructions can be issued only in monitor mode. Guo, Xunhua 21
  22. 22. I/O protection All I/O instructions are privileged instructions. Must ensure that a user program could never gain control of the computer in monitor mode i.e., a user program that, as part of its execution, stores a new address in the interrupt vector Guo, Xunhua 22
  23. 23. Memory protection Must provide memory protection at least for the interrupt vector and the interrupt service routines. In order to have memory protection, add two registers that determine the range of legal addresses a program may access: base register – holds the smallest legal physical memory address. limit register – contains the size of the range. Memory outside the defined range is protected. Guo, Xunhua 23
  24. 24. Example of memory protection Guo, Xunhua 24
  25. 25. Protection hardware Guo, Xunhua 25
  26. 26. Question Given that I/O instructions are privileged, how does the user program perform I/O? Guo, Xunhua 26
  27. 27. System calls
  28. 28. System calls The method used by a process to request action by the operating system. Usually takes the form of a trap to a specific location in the interrupt vector. Control passes through the interrupt vector to a service routine in the OS, and the mode bit is set to monitor mode. The monitor verifies that the parameters are correct and legal, executes the request, and returns control to the instruction following the system call. Guo, Xunhua 28
  29. 29. System calls System calls provide the interface between a running program and the operating system. Three general methods are used to pass parameters between a running program and the operating system: Pass parameters in registers. Store the parameters in a table in memory, and the table address is passed as a parameter in a register. Push (store) the parameters onto the stack by the program, and pop off the stack by the operating system. Guo, Xunhua 29
  30. 30. Steps in making a system call Guo, Xunhua 30
  31. 31. Some System Calls For Process Management 31
  32. 32. Some System Calls For File Management 32
  33. 33. Some System Calls For Directory Management 33
  34. 34. Some System Calls For Miscellaneous Tasks 34
  35. 35. System call interface User Interface The layers of a UNIX system. 35
  36. 36. System programs
  37. 37. System (utility) programs Solve common problems or perform common operations File manipulation: e.g., cp, mv, chmod, ls Status information: e.g., date, ps, df File modification: e.g., vi Programming-language support: e.g., gcc, asm Program loading and execution: e.g., ld, gdb Communications: e.g., telnet System programs are invoked from the shell whereas system calls are invoked from programs. Guo, Xunhua 37
  38. 38. UNIX utility programs Guo, Xunhua 38
  39. 39. Operating system components
  40. 40. Common system components Process Management Main-Memory Management File Management I/O System Management Protection System Networking Command-Interpreter System Guo, Xunhua 40
  41. 41. Process management program (passive) vs. process (active) A process is a program in execution. A process needs certain resources, including CPU time, memory, files, and I/O devices, to accomplish its task. The operating system is responsible for: process creation and deletion. process suspension and resumption. provision of mechanisms for: process synchronization process communication Deadlock handling Guo, Xunhua 41
  42. 42. Main memory management Memory is a large array of words or bytes, each with its own address. It is a repository of quickly accessible data shared by the CPU and I/O devices. Main memory is a volatile storage device The operating system is responsible for: Keep track of which parts of memory are currently being used and by whom. Decide which processes to load when memory space becomes available. Allocate and deallocate memory space as needed. Guo, Xunhua 42
  43. 43. File Management The OS through the file system provides a uniform logical view of information storage. The operating system is responsible for: File creation and deletion. Directory creation and deletion. Support of primitives for manipulating files and directories. Mapping files onto secondary storage. File backup on stable (nonvolatile) storage media. Guo, Xunhua 43
  44. 44. I/O system management The peculiarities of the various I/O devices are hidden from the bulk of the operating system itself by the I/O subsystem The I/O system consists of: A buffer-caching system A general device-driver interface Drivers for specific hardware devices Guo, Xunhua 44
  45. 45. Secondary-Storage Management Most modern computer systems use disks as the principle on-line storage medium, for both programs and data. The operating system is responsible for: Free-space management Storage allocation Disk scheduling Guo, Xunhua 45
  46. 46. Protection system Protection refers to a mechanism for controlling access by programs, processes, or users to both system and user resources. The protection mechanism must: distinguish between authorized and unauthorized usage. specify the controls to be imposed. provide a means of enforcement. Guo, Xunhua 46
  47. 47. Networking A distributed system is a collection of processors that do not share memory or a clock. Each processor has its own local memory. The processors in the system are connected through a communication network. A distributed system provides user access to various system resources. Computation speed-up Increased data availability Enhanced reliability Guo, Xunhua 47
  48. 48. Command-Interpreter System User interface which deals with: process creation and management I/O handling secondary-storage management main-memory management file-system access protection Networking Command-line and GUI Guo, Xunhua 48
  49. 49. Common system components Process Management Main-Memory Management File Management I/O System Management Protection System Networking Command-Interpreter System Guo, Xunhua 49
  50. 50. Simple structure: MS DOS Guo, Xunhua 50
  51. 51. Monolithic kernel vs. Microkernel Guo, Xunhua 51
  52. 52. The client-server model in a distributed system Guo, Xunhua 52
  53. 53. Operating-System Services Program execution I/O operations File-system manipulation Communications Error detection Additional functions for ensuring efficient system operation. Resource allocation, Accounting, Protection Guo, Xunhua 53
  54. 54. UNIX Structure Guo, Xunhua 54
  55. 55. Basic characteristics of modern operating systems Concurrency ( 并发 ) Sharing ( 共享 ) Virtualization ( 虚拟 ) Asynchronism ( 异步 ) Guo, Xunhua 55
  56. 56. Concurrency Concurrency Several events take places in a same time period Several programs (processes) run in the same time A modern operating system is a concurrency system The co-existence of multi events and processes is managed by the OS Guo, Xunhua 56
  57. 57. Sharing Sharing: several processes share the limited computer system resource An OS shall manage the system resource for proper sharing Resources are used alternatively by multi processes Exclusive sharing: e.g. printers Non-exclusive sharing: e.g. harddisks Guo, Xunhua 57
  58. 58. Virtualization Virtualization: A physical entity is map to several logical entities with time or space An important way to improve the utilization effectiveness of resources Virtual processor Virtual storage Virtual device Guo, Xunhua 58
  59. 59. Virtual Machines Guo, Xunhua 59
  60. 60. Asynchronism Conditions Several processes execute concurrently The execution sequence and time of processes are uncertain The speed of process execution is not pre- determined Target No matter how the processes are executed, the results must be the sam Guo, Xunhua 60
  61. 61. Exercises Reading: Chapter 2 and 3, Textbook Questions: Why is the distinction between monitor mode and user mode important? What are different between system calls and library functions? Guo, Xunhua 61