Lecture1-Introductionx

Download Report

Transcript Lecture1-Introductionx

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