Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating Systems Lecture 3 Computer Systems Review

Similar presentations


Presentation on theme: "Operating Systems Lecture 3 Computer Systems Review"— Presentation transcript:

1 Operating Systems Lecture 3 Computer Systems Review
Operating System Concepts

2 Computer System Components
CPU I/O controllers (e.g. disk controller) Memory Controller The CPU and device controllers can operate concurrently. The Memory controller ensures orderly access to shared memory. Operating System Concepts

3 Computer-System Architecture
Computer-system operation One or more CPUs, device controllers connect through common bus providing access to shared memory. Concurrent execution of CPUs and devices competing for memory cycles. Operating System Concepts

4 Interrupt Driven O.S. Most modern operating systems are interrupt driven. Start-up: 1) Bootstrap: Load O.S. (kernel) and start it running. 2) O.S. waits for an event (an interrupt). Definition of interrupt: An interrupt is a method to ensure that the CPU takes note of an event. Types of interrupt: Hardware interrupts (e.g. from an I/O device) Software interrupt (from an executing process. System Call) Also called a trap or an exception Generated to signal error (e.g. divide by zero) or to request service from OS (e.g. I/O). Operating System Concepts

5 Interrupt Handling The operating system preserves the state of the CPU by storing registers and the program counter. The O.S. determines which type of interrupt has occurred by one of two methods: polling each device ("Did you interrupt me?") vectored interrupt system (Table of addresses) Separate segments of code determine what action should be taken for each type of interrupt. The OS executes the sequence of commands associated with the given interrupt. The OS recovers the stored information from the original process and continues execution. Operating System Concepts

6 Interrupt Time Line For a Single Process Doing Output
Operating System Concepts

7 Synchronous I/O Synchronous I/O: After I/O starts, control returns to user program only upon I/O completion. Process requests I/O CPU sends I/O request to device controller CPU waits for I/O to finish (signalled by interrupt) Continue executing original process (after handling interrupt) At most one I/O request is outstanding at a time, no simultaneous I/O processing. Problem: I/O is slow. CPU is idle while waiting for I/O to finish. Operating System Concepts

8 Asynchronous I/O Asynchronous I/O
After I/O starts, control returns to user program without waiting for I/O completion. Process requests I/O CPU sends request to device controller CPU continues to process instructions (either previous process or another one). Interrupt signals I/O completion CPU processes interrupt Less time is used to process I/O requests using asynchronous I/O than with synchronous I/O. Operating System Concepts

9 Two I/O Methods Synchronous Asynchronous Operating System Concepts

10 Other Considerations When using asynchronous I/O, there may be multiple I/O requests at the same time. Requests for multiple devices Multiple requests for a single device. A device-status table keeps track of the requests. It stores: Device type Device address Device State (not-functioning, idle, busy) Wait queues list multiple requests for a single device. Operating System Concepts

11 Device-Status Table Operating System Concepts

12 Direct Memory Access Structure
If only 1 character is transferred per I/O request, then an interrupt is generated after each character is transferred. Slow I/O device (e.g. modem): ~1 ms/char = 1000 ms/char Time needed to process interrupt: ~2 ms This leaves 998 ms for processing other things. Fast I/O device (e.g. hard disk): ~4 ms/char Only leaves 2 ms to process other things. Solution: Direct Memory Access (DMA) Used for high speed I/O devices. 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. Operating System Concepts

13 Storage Structure The Fetch-Execute Cycle:
Computer programs must be in main memory to be executed. The CPU fetches the next instruction (from the address stored in the instruction counter) The CPU executes the instruction: This may involve fetching operands from main memory. It may also involve storing the result in main memory. Ideally, we would want all programs stored in main memory. This is impractical because: Main memory is too small to store all needed programs and data. Main memory is volatile. It loses its contents when the power goes off. Operating System Concepts

14 Secondary Storage Main memory – only large storage media that the CPU can access directly. Secondary storage – extension of main memory that provides large nonvolatile storage capacity. Most common type of secondary storage: 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. Other types of storage: Cache, CD_ROM, Magnetic tape. Operating System Concepts

15 Moving-Head Disk Mechanism
Operating System Concepts

16 Storage Hierarchy Storage systems organized in hierarchy. Speed Cost
Volatility The fastest memory is the most expensive and most volatile. Used for CPU registers. As move down the hierarchy, memory gets slower and cheaper. Non-volatile memory is the slowest. Operating System Concepts

17 Storage-Device Hierarchy
Operating System Concepts

18 Caching Accessing main memory can be slow compared to the time it takes to execute instructions. Caching is the use of high-speed memory to hold recently-accessed data. Blocks of instructions or data from main memory are transferred to a smaller, faster memory: the cache. Locality of reference ensures efficient use of the cache: As a process executes, it references memory in clustered areas. Nearby memory locations are likely to be accessed in the near future. Therefore, when one item is requested from main memory, an entire block is transferred to the cache. Use of a cache 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. Operating System Concepts

19 Maintaining Consistency
An operating system needs to maintain consistency at different levels of the storage system. Example: Suppose an integer, A, is stored in a file, B, on the disk. Suppose we want to increment A by 1. A is copied from disk to main memory. A is copied from main memory to cache A is copied from the cache to a register. We now have 4 copies of A. A is incremented in the register. Now A has different values in different locations. The OS must ensure that any process wanting to access A gets the most recently updated version. Operating System Concepts

20 Migration of A From Disk to Register
Operating System Concepts

21 Dual-Mode Operation Sharing system resources requires operating system to ensure that an incorrect program cannot cause other programs to execute incorrectly. E.g. Writing over memory used by another program Writing to the same output device at the same time Many O.S.'s 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. Operating System Concepts

22 Dual-Mode Operation (Cont.)
Mode bit added to computer hardware to indicate the current mode: monitor (or kernel) (0) or user (1). When an interrupt or fault occurs hardware switches to monitor mode. Interrupt/fault monitor user set user mode Privileged instructions can be issued only in monitor mode. Operating System Concepts

23 System Calls When a user program needs O.S. service, it makes a system call. The system call is treated as a software interrupt. The mode switches to monitor mode. The O.S. makes sure all the parameters are legal. After processing the interrupt, the O.S. switches to user mode and returns to the user process. If a process tries to execute privileged instructions while in user mode, the hardware generates a trap (exception). The O.S. will usually terminate the user program (and may generate a core dump). Operating System Concepts

24 I/O Protection A user program can disrupt the operation of a system by: Issuing illegal I/O instructions Accessing memory locations within the O.S. Refusing to relinquish the CPU 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). All I/O is performed through system calls. Operating System Concepts

25 Use of A System Call to Perform I/O
Operating System Concepts

26 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. Note: The O.S. in monitor mode has unrestricted access to all memory. The load instructions for the base and limit registers are privileged instructions. Operating System Concepts

27 Use of A Base and Limit Register
Operating System Concepts

28 Hardware Address Protection
Operating System Concepts

29 CPU Protection The Operating System must protect the CPU from being taken over by a user program (e.g. in an infinite loop). 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. Timer also sometimes used to compute the current time. Load-timer is a privileged instruction. Operating System Concepts

30 Common System Components
An operating system is a large, complex program. It must be subdivided into smaller pieces to manage it. Common components of an operating system include: Process Management Main Memory Management File Management I/O System Management Secondary Management Networking Protection System Command-Interpreter System Operating System Concepts

31 Process Management 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 the following activities in connection with process management. Process creation and deletion. process suspension and resumption. Provision of mechanisms for: process synchronization process communication handling deadlocks Operating System Concepts

32 Main Memory Management
Programs must be mapped to absolute addresses and loaded into memory. The executing program must have access to instructions and data from main memory by generating absolute addresses. The operating system is responsible for the following activities in connections with memory management: 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. Operating System Concepts

33 File Management A file is a collection of related information defined by its creator. Commonly, files represent programs (both source and object forms) and data. The operating system is responsible for the following activities in connections with file management: 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. Operating System Concepts

34 I/O System and Secondary Storage Management
I/O Management The I/O system consists of: Memory management: A buffer-caching system A general device-driver interface Drivers for specific hardware devices Secondary Storage Management The operating system is responsible for the following activities in connection with disk management: Free space management Storage allocation Disk scheduling Operating System Concepts

35 Networking The O.S. handles communication between computers on a network through protocols: ftp: File transfer protocol http: Hypertext transfer protocol The O.S. Must manage communication and access to shared resources. Operating System Concepts

36 Protection System Protection refers to a mechanism for controlling access by programs, processes, or users to both system and user resources. Security – defense of the system against internal and external attacks Huge range, including denial-of-service, worms, viruses, identity theft, theft of service The protection mechanism must: distinguish between authorized and unauthorized usage. specify the controls to be imposed. provide a means of enforcement. Operating System Concepts

37 The Command-Interpreter System
The Command-interpreter is the interface between the user and the system. In UNIX, it is the shell. Its function is to get and execute the next instruction. Many commands are given to the operating system by control statements which deal with: process creation and management I/O handling secondary-storage management main-memory management file-system access protection networking Operating System Concepts

38 Operating System Services
Program execution – system capability to load a program into memory and to run it. I/O operations – since user programs cannot execute I/O operations directly, the operating system must provide some means to perform I/O. File-system manipulation – program capability to read, write, create, and delete files. Communications – exchange of information between processes executing either on the same computer or on different systems tied together by a network. Implemented via shared memory or message passing. Error detection – ensure correct computing by detecting errors in the CPU and memory hardware, in I/O devices, or in user programs. Operating System Concepts

39 Additional O.S. functions
Additional functions exist not for helping the user, but rather for ensuring efficient system operations. Resource allocation – allocating resources to multiple users or multiple jobs running at the same time. Accounting – keep track of and record which users use how much and what kinds of computer resources for account billing or for accumulating usage statistics. Protection – ensuring that all access to system resources is controlled. Operating System Concepts


Download ppt "Operating Systems Lecture 3 Computer Systems Review"

Similar presentations


Ads by Google