Lecture 1: Operating System Services

advertisement

Lecture 1: Operating System Services

What is an Operating System?

An operating system is an event driven program which acts as an interface between a user of a computer, and the computer hardware.

What are the main purposes of an operating system?

1. Transform a bare machine into an environment or virtual machine in which a user may execute programs.

2. To use the computer hardware in an efficient way.

3. To create a friendly interface between the user and bare machine.

User

Operating System

Bare Machine

To create such an environment the operating system provides certain services to programs and to the users of those programs. Some of these services are:

Program execution:

Error handling:

Job sequencing:

Input/Output operations:

Interrupt handling:

File system manipulation:

Scheduling:

Resource Allocation:

Accounting of computer resources:

Protection:

Program execution: Users are interested in executing programs. The system must be able to load a program into memory and run it. The program must be able to end its execution, either normally or abnormally.

Error handling: For each type of error, the operating system should take the appropriate action to assure correct ant consistent computing.

Example:

Power failure in the CPU or memory.

Parity error on tape.

Printer out of paper.

Arithmetic overflow.

Access illegal memory location.

Job sequencing: The system must determine the sequence in which jobs should be processed. In the first operating systems to transfer control from one Job to the next, a Job Control language interpreter(a command interpreter) had to be used.

Example:

$JOB

$COMPILE "Fortran“

Program

$LOAD & RUN

Data

$EOJ

Input/Output operations: Since a user program cannot execute I/O operations directly, the O.S. must provide some means to do so.

Example:

Rewind tape drive

Start I/O

Skip first record

Interrupt handling: Operating systems are event driven programs. If there are no programs to execute, no

I/O devices to service, and no user to respond to, an O.S. will sit quietly, waiting for something to happen. Events are almost always signaled by the occurrence of an interrupt or trap.

When an interrupt occurs, the hardware transfers control to the O.S., it determines which type of interrupt has occurred, and takes the appropriate actions.

Types of interrupts: 1) Software interrupts

2) Hardware interrupts

Software interrupts: They are generated within the CPU.

1. System calls(also known as SuperVisor Calls-SVC)

2. Traps(i.e. to handle program errors)

Hardware interrupts: These are signals sent to the cpu by devices to indicate that an I/O operation is completed.

1.

I/O interrupts

Timer interrupt: Every time the O.S. assigns the CPU to a program, the timer register is set to a value, say 100 ms, and at each clock tick the register is decremented by one. When the timer register reaches the value zero, an interrupt is generated, and the O.S. takes control of the computer system again, avoiding thus, that none program monopolizes the CPU.

File system manipulation: Users will want to be able to create, delete, read, or write files.

Scheduling: The system has to decide when to introduce new processes into the system and the order in which processes should run.

Resource Allocation: When there are multiple process running concurrently, resources must be allocated to each one of them.

Example:

A compiler.

A tape unit.

Memory.

Accounting of computer resources: The operating system must keep track of the type and amount of resources used by each user. This information can be used for the purpose of paying for the use of the system or for accumulating usage statistics.

Protection: When several processes are being executed concurrently to increase CPU utilization, it should not be possible for one process to interfere the others.

Operating system characteristics

Concurrency:

Sharing:

Long term storage:

Determinacy

Non-determinacy:

Concurrency:

The existence of several simultaneous or parallel activities: for example, overlapping I/O operations and computation.

INPUT DEVICE

CPU

OUTPUT DEVICE

| Data 1 | Data 2 | Data 3 |

| Data 1 | Data 2 | Data 3|

| Data 1 | Data 2 | Data 3|

Sharing:

The existence of several processes accessing the same data area or device. For example, sharing a compiler or a disk unit.

Long term storage:

Programs and data can be stored for long periods of time.

Determinacy

The same program running with the same data should produce the same results.

Non-determinacy:

The operating system must respond to events, which will occur in an unpredictable order but it must preserve the consistency of the whole system. If we have two processes, say P1 and P2, running concurrently, and P1 produces the events E1, E2, E3 and P2 produces the events E3, E4, E5. These six events might occur in different orders, such as E1,E2, E4, E3, E5,E6 or E3, E1, E4, E2,

E3, E5 and the OS will keep all the system in a coherent way.

Operating systems types

Mainframe operating systems

Server operating systems

Multiprocessor operating systems

Network Operating Systems

Distributed Operating Systems

Web operating systems (meta-computing)

Personal computer operating systems

Real time operating systems

Embedded operating systems

Smart card operating systems

Download