E N D
1. Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation
I/O Structure
Storage Structure
Storage Hierarchy
Hardware Protection
General System Architecture
2. Operating System Concepts Computer-System Architecture
3. Operating System Concepts Computer-System Operation 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 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.
4. Operating System Concepts Common Functions of Interrupts Interrupt transfers control to the interrupt service routine generally, through the interrupt vector, which 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.
5. Operating System Concepts Interrupt Handling The operating system preserves the state of the CPU by storing registers and the program counter.
Determines which type of interrupt has occurred:
polling
vectored interrupt system
Separate segments of code determine what action should be taken for each type of interrupt
6. Operating System Concepts Interrupt Time Line For a Single Process Doing Output
7. Operating System Concepts I/O Structure 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.
After I/O starts, control returns to user program without waiting for I/O completion.
System call request to the operating system to allow user to wait for I/O completion.
Device-status table contains entry for each I/O device indicating its type, address, and state.
Operating system indexes into I/O device table to determine device status and to modify table entry to include interrupt.
8. Operating System Concepts Two I/O Methods
9. Operating System Concepts Device-Status Table
10. Operating System Concepts Direct Memory Access 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 on interrupt is generated per block, rather than the one interrupt per byte.
11. Operating System Concepts Storage Structure Main memory only large storage media that the CPU can access directly.
Secondary storage extension of main memory that provides large nonvolatile storage capacity.
Magnetic disks rigid metal or glass platters covered with magnetic recording material
Disk surface is logically divided into tracks, which are subdivided into sectors.
The disk controller determines the logical interaction between the device and the computer.
12. Operating System Concepts Moving-Head Disk Mechanism
13. Operating System Concepts Storage Hierarchy Storage systems organized in hierarchy.
Speed
Cost
Volatility
Caching copying information into faster storage system; main memory can be viewed as a last cache for secondary storage.
14. Operating System Concepts Storage-Device Hierarchy
15. Operating System Concepts Caching Use of high-speed memory to hold recently-accessed data.
Requires a cache management policy.
Caching introduces another level in storage hierarchy. This requires data that is simultaneously stored in more than one level to be consistent.
16. Operating System Concepts Migration of A From Disk to Register
17. Operating System Concepts Hardware Protection Dual-Mode Operation
I/O Protection
Memory Protection
CPU Protection
18. Operating System Concepts 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.
1. User mode execution done on behalf of a user.
2. Monitor mode (also kernel mode or system mode) execution done on behalf of operating system.
19. Operating System Concepts Dual-Mode Operation (Cont.) 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.
20. Operating System Concepts 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).
21. Operating System Concepts Use of A System Call to Perform I/O
22. Operating System Concepts 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.
23. Operating System Concepts Use of A Base and Limit Register
24. Operating System Concepts Hardware Address Protection
25. Operating System Concepts Hardware Protection When executing in monitor mode, the operating system has unrestricted access to both monitor and users memory.
The load instructions for the base and limit registers are privileged instructions.
26. Operating System Concepts CPU Protection Timer interrupts computer after specified period to ensure operating system maintains control.
Timer is decremented every clock tick.
When timer reaches the value 0, an interrupt occurs.
Timer commonly used to implement time sharing.
Time also used to compute the current time.
Load-timer is a privileged instruction.
27. Operating System Concepts Network Structure Local Area Networks (LAN)
Wide Area Networks (WAN)
28. Operating System Concepts Local Area Network Structure
29. Operating System Concepts Wide Area Network Structure
30. Operating System Concepts Layers of Computer System
31. Operating System Concepts Services Provided by the Operating System Program development
Editors and debuggers
Program execution
Access to I/O devices
Controlled access to files
System access
32. Operating System Concepts Services Provided by the Operating System Error detection and response
internal and external hardware errors
memory error
device failure
software errors
arithmetic overflow
access forbidden memory locations
operating system cannot grant request of application
33. Operating System Concepts Services Provided by the Operating System Accounting
collect statistics
monitor performance
used to anticipate future enhancements
used for billing users
34. Operating System Concepts Operating System Functions same way as ordinary computer software
It is program that is executed
Operating system relinquishes control of the processor to execute other programs
35. Operating System Concepts
36. Operating System Concepts Kernel Portion of operating system that is in main memory
Contains most-frequently used functions
Also called the nucleus
37. Operating System Concepts Uniprogramming Processor must wait for I/O instruction to complete before preceding
38. Operating System Concepts Multiprogramming When one job needs to wait for I/O, the processor can switch to the other job
39. Operating System Concepts Multiprogramming
40. Operating System Concepts Major Achievements Processes
Memory Management
Information protection and security
Scheduling and resource management
System structure
41. Operating System Concepts Processes A program in execution
An instance of a program running on a computer
The entity that can be assigned to and executed on a processor
A unit of activity characterized by a single sequential thread of execution, a current state, and an associated set of system resources
42. Operating System Concepts Process Consists of three components
An executable program
Associated data needed by the program
Execution context of the program
All information the operating system needs to manage the process
43. Operating System Concepts Process
44. Operating System Concepts Memory Management Process isolation
Automatic allocation and management
Support for modular programming
Protection and access control
Long-term storage
45. Operating System Concepts Virtual Memory Allows programmers to address memory from a logical point of view
While one process is written out to secondary store and the successor process read in there in no hiatus
46. Operating System Concepts File System Implements long-term store
Information stored in named objects called files
47. Operating System Concepts Paging Allows process to be comprised of a number of fixed-size blocks, called pages
Virtual address is a page number and an offset within the page
Each page may be located any where in main memory
Real address or physical address in main memory
48. Operating System Concepts
49. Operating System Concepts Virtual Memory Addressing
50. Operating System Concepts Information Protection and Security Access control
regulate user access to the system
Information flow control
regulate flow of data within the system and its delivery to users
Certification
proving that access and flow control perform according to specifications
51. Operating System Concepts Scheduling and Resource Management Fairness
give equal and fair access to all processes
Differential responsiveness
discriminate between different classes of jobs
Efficiency
maximize throughput, minimize response time, and accommodate as many uses as possible
52. Operating System Concepts Major Elements ofOperating System
53. Operating System Concepts System Structure View the system as a series of levels
Each level performs a related subset of functions
Each level relies on the next lower level to perform more primitive functions
This decomposes a problem into a number of more manageable subproblems
54. Operating System Concepts Operating System Design Hierarchy
55. Operating System Concepts Operating System Design Hierarchy
56. Operating System Concepts Operating System Design Hierarchy
57. Operating System Concepts Characteristics of Modern Operating Systems Microkernel architecture
assigns only a few essential functions to the kernel
address space
interprocess communication (IPC)
basic scheduling
58. Operating System Concepts Characteristics of Modern Operating Systems Multithreading
process is divided into threads that can run simultaneously
Thread
dispatchable unit of work
executes sequentially and is interruptable
Process is a collection of one or more threads
59. Operating System Concepts Characteristics of Modern Operating Systems Symmetric multiprocessing
there are multiple processors
these processors share same main memory and I/O facilities
All processors can perform the same functions
60. Operating System Concepts Characteristics of Modern Operating Systems Distributed operating systems
provides the illusion of a single main memory and single secondary memory space
used for distributed file system
61. Operating System Concepts Characteristics of Modern Operating Systems Object-oriented design
used for adding modular extensions to a small kernel
enables programmers to customize an operating system without disrupting system integrity
62. Operating System Concepts Client/Server Model Simplifies the Executive
possible to construct a variety of APIs
Improves reliability
each service runs as a separate process with its own partition of memory
clients cannot not directly access hardware
Provides a uniform means fro applications to communicate via LPC
Provides base for distributed computing
63. Operating System Concepts Threads and SMP Different routines can execute simultaneously on different processors
Multiple threads of execution within a single process may execute on different processors simultaneously
Server processes may use multiple threads
Share data and resources between process
64. Operating System Concepts
65. Operating System Concepts UNIX Hardware is surrounded by the operating-system
Operating system is called the kernel
Comes with a number of user services and interfaces
shell
C compiler
66. Operating System Concepts UNIX
67. Operating System Concepts Modern UNIX Systems System V Release 4 (SVR4)
Solaris 2.x
4.4BSD
Linux