* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Operating systems
Survey
Document related concepts
Transcript
1 OPERATING SYSTEMS Networks and Communication Department Lecture 3: we will explore the role of the operating system in a computer Outline Define the operating system Discuss the process of bootstrapping Identify the components of an operating system Memory manager Process manager Device manager File manager Networks and Communication Department Computer System Networks and Communication Department 7.4 7.1 A computer system Figure Computer System A computer is a system composed of 2 major components: hardware and software. Computer hardware: is the physical equipment. Software is the collection of programs that allows the hardware to do its job. Networks and Communication Department Computer System Computer software is divided into 2 broad categories: The operating system and application programs Application programs: use the computer hardware to solve users’ problems. The operating system: controls the access to hardware by users. Networks and Communication Department Operating System Introduction Networks and Communication Department Operating System An operating system: is an interface between the hardware of a computer and the user (programs or humans) that facilitates the execution of other programs and the access to hardware and software resources Two major design goals of an operating system are: Efficient use of hardware. Ease of use of resources. Networks and Communication Department Bootstrap Process Networks and Communication Department Bootstrap Process The operating system is responsible for loading other programs into memory for execution. However, the operating system itself is a program that needs to be loaded into the memory and be run. How is this dilemma solved? Networks and Communication Department What is the Bootstrap process? So a very small section of memory is made of ROM and holds a small program called the bootstrap program (Firmware). The program is only responsible for loading the operating system itself, or that part of it required to start up the computer, into RAM memory. Networks and Communication Department Bootstrap Process 1. 2. When the computer is turned on, the CPU counter (a type of the CPU registers) is set to the first instruction of this bootstrap program and executes the instructions in this program. When loading is done, the program counter is set to the first instruction of the operating system in RAM. Networks and Communication Department 7.13 Figure 7.2 The bootstrap process The typical components of an operating system Networks and Communication Department Operating System Components Today’s operating systems are very complex. An operating system needs to manage different resources in a computer system. It resembles an organization with several managers at the top level. Networks and Communication Department Operating System Components Each manager is responsible for managing their department, but also needs to cooperate with others and coordinate activities. A modern operating system has at least four duties: memory manager, process manager, device manager and file manager. Networks and Communication Department OS Components- User interface Each operating system has a : user interface: a program that accepts requests from users (processes) and interprets them for the rest of the operating system. A user interface in some operating systems, such as UNIX, is called a shell. In others, it is called a window to denote that it is menu driven and has a GUI (graphical user interface) component. Networks and Communication Department User Operating System Interface - CLI Command Line Interface (CLI) or command interpreter allows direct command entry Which is an operating system shell that uses alphanumeric characters typed on a keyboard to provide instructions and data to the operating system, interactively. Networks and Communication Department User Operating System Interface - GUI User-friendly desktop metaphor interface Usually mouse, keyboard, and monitor Icons represent files, programs, actions, etc Various mouse buttons over objects in the interface cause various actions (provide information, options, execute function, open directory (known as a folder) Many systems now include both CLI and GUI interfaces Microsoft Windows is GUI with CLI “command” shell Apple Mac OS X as “Aqua” GUI interface with UNIX kernel underneath and shells available Solaris is CLI with optional GUI interfaces (Java Desktop, KDE) Networks and Communication Department OS Components- Memory manager Although the memory size of computers has increased tremendously in recent years, so has the size of the programs and data to be processed. Memory allocation must be managed to prevent applications from running out of memory. Operating systems can be divided into two broad categories of memory management: monoprogramming and multiprogramming. Networks and Communication Department Monoprogramming In monoprogramming, most of the memory capacity is dedicated to a single program. only a small part is needed to hold the operating system. In this configuration, the whole program is in memory for execution. When the program finishes running, the program area is occupied by another program. Networks and Communication Department Monoprogramming Figure shows memory in Monoprogramming a environment Networks and Communication Department Monoprogramming (Cont.) There are several problems with this technique: If the size of memory is less than the size of the program, can the program run? the program cannot be run Inefficient use of memory and CPU time Networks and Communication Department Multiprogramming In multiprogramming: more than one program is in memory at the same time and they are executed concurrently with the CPU switching rapidly between the programs Networks and Communication Department Multiprogramming Figure shows memory in a multiprogramming environment Networks and Communication Department Categories of multiprogramming Networks and Communication Department Multiprogramming (Cont.) Networks and Communication Department Multiprogramming (Cont.) Nonswapping category: This means that the program remains in memory for the duration of execution Two techniques belong to the this category: Partitioning paging Networks and Communication Department Multiprogramming (Cont.) Swapping category: This means that, during execution, the program can be swapped between memory and disk one or more times. Two techniques belong to the this category: Demand paging Demand segmentation Networks and Communication Department Partitioning The first technique used in multiprogramming. Memory is divided into variable length sections Each section or partition holds one program The CPU switches between programs With this technique, each program is entirely in memory and occupying contiguous locations Networks and Communication Department Partitioning- how its work ?! 1. 2. 3. 4. The CPU starts with one program, executing some instructions until it either encounters an input/output operation or the time allocated for that program has expired Then, it saves the address of the memory location where the last instruction was executed and moves to the next program. The same procedure is repeated with the second program After all the programs have been served, the CPU moves back to the first program Networks and Communication Department Partitioning- how its work ?! (Cont.) Priority levels can be used to control the amount of CPU time allocated to each program Its improves the efficiency of the CPU, but there are still some issues Networks and Communication Department Partitioning- how its work ?! (Cont.) Figure shows memory with partitioning technique Networks and Communication Department Partitioning issues The size of the partitions has to be determined beforehand by the memory manager what will happen if partition sizes are small or large?! The memory manager can compact the partitions to remove the holes and creates new partitions, but this creates extra overhead on the system Networks and Communication Department Paging Paging improves the efficiency of partitioning Memory is divided into equally sized sections called frames Programs are also divided, into equally sized sections called pages The size of a page and frame is usually the same and equal to the size of the block used by the system to retrieve information from a storage device Networks and Communication Department Paging - how its work!! A page is loaded into a frame in memory The program does not have to be contiguous in memory There is no need for the new program to wait until set of contiguous frames are free before being loaded into memory Networks and Communication Department Paging - how its work!! Figure shows memory with paging technique Networks and Communication Department Paging issues The whole program still needs to be in memory before being executed Ex: A program has six pages, cannot be loaded into memory if there are only four unoccupied frames Networks and Communication Department Demand paging In this technique the program is divided into pages but the pages can be loaded into memory one by one, executed, and replaced by another page. In addition, a page can be loaded into any free frame Networks and Communication Department Demand paging (Cont.) An example of demand paging is shown in figure below. Two pages from program A, one page from program B, and one page from program C are in the memory Networks and Communication Department Demand segmentation A technique similar to paging is segmentation A programmer thinks in terms of modules A program is usually made up of a main program and subprograms In demand segmentation, the program is divided into segments that match the programmer’s view These are loaded into memory, executed, and replaced by another module from the same or a different program since segments in memory are of equal size, part of a segment may remain empty Networks and Communication Department Demand segmentation An example of demand segmentation is shown in figure Networks and Communication Department Demand paging and segmentation Demand paging and segmentation can be combined to further improve the efficiency of the system A segment may be too large to fit any available free space in memory Memory can be divided into frames, and module can be divided into pages The pages of a module can then be loaded into memory one by one and executed Networks and Communication Department