Presentation is loading. Please wait.

Presentation is loading. Please wait.

OPERATING SYSTEMS Lecture 3: we will explore the role of the operating system in a computer Networks and Communication Department 1.

Similar presentations


Presentation on theme: "OPERATING SYSTEMS Lecture 3: we will explore the role of the operating system in a computer Networks and Communication Department 1."— Presentation transcript:

1 OPERATING SYSTEMS Lecture 3: we will explore the role of the operating system in a computer Networks and Communication Department 1

2 Outline Networks and Communication Department  Define the operating system  Discuss the process of bootstrapping  Identify the components of an operating system  Memory manager  Process manager  Device manager  File manager

3 Computer System Networks and Communication Department

4 7.4 Figure 7.1 A computer system

5 Computer System Networks and Communication Department  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.

6 Computer System Networks and Communication Department  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.

7 Operating System Introduction Networks and Communication Department

8 Operating System Networks and Communication Department 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.

9 Bootstrap Process Networks and Communication Department

10 Bootstrap Process Networks and Communication Department  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?

11 What is the Bootstrap process? Networks and Communication Department  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.

12 Bootstrap Process Networks and Communication Department 1. 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. 2. When loading is done, the program counter is set to the first instruction of the operating system in RAM.

13 7.13 Figure 7.2 The bootstrap process

14 The typical components of an operating system Networks and Communication Department

15 Operating System Components Networks and Communication Department  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.

16 Operating System Components Networks and Communication Department  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.

17 OS Components- User interface Networks and Communication Department  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.

18 User Operating System Interface - CLI Networks and Communication Department  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.

19 User Operating System Interface - GUI Networks and Communication Department  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)

20 OS Components- Memory manager Networks and Communication Department  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.

21 Monoprogramming Networks and Communication Department  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.

22 Monoprogramming Networks and Communication Department Figure shows memory in Monoprogramming a environment

23 Monoprogramming (Cont.) Networks and Communication Department  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

24 Multiprogramming Networks and Communication Department  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

25 Multiprogramming Networks and Communication Department Figure shows memory in a multiprogramming environment

26 Categories of multiprogramming Networks and Communication Department

27 Multiprogramming (Cont.) Networks and Communication Department

28 Multiprogramming (Cont.) Networks and Communication Department  Nonswapping category:  This means that the program remains in memory for the duration of execution  Two techniques belong to the this category: Partitioning paging

29 Multiprogramming (Cont.) Networks and Communication Department  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

30 Partitioning Networks and Communication Department  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

31 Partitioning- how its work ?! Networks and Communication Department 1. 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 2. Then, it saves the address of the memory location where the last instruction was executed and moves to the next program. 3. The same procedure is repeated with the second program 4. After all the programs have been served, the CPU moves back to the first program

32 Partitioning- how its work ?! (Cont.) Networks and Communication Department  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

33 Partitioning- how its work ?! (Cont.) Networks and Communication Department Figure shows memory with partitioning technique

34 Partitioning issues Networks and Communication Department  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

35 Paging Networks and Communication Department  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

36 Paging - how its work!! Networks and Communication Department  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

37 Paging - how its work!! Networks and Communication Department Figure shows memory with paging technique

38 Paging issues Networks and Communication Department  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

39 Demand paging Networks and Communication Department  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

40 Demand paging (Cont.) Networks and Communication Department  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

41 Demand segmentation Networks and Communication Department  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

42 Demand segmentation Networks and Communication Department An example of demand segmentation is shown in figure

43 Demand paging and segmentation Networks and Communication Department  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


Download ppt "OPERATING SYSTEMS Lecture 3: we will explore the role of the operating system in a computer Networks and Communication Department 1."

Similar presentations


Ads by Google