lecture 2: overview of operating system

42
1 Lecture 2: Overview of Operating System Operating System Fall 2010

Upload: nehru-calhoun

Post on 31-Dec-2015

28 views

Category:

Documents


1 download

DESCRIPTION

Lecture 2: Overview of Operating System. Operating System Fall 2010. Outline. What is Operating System OS as User/Computer Interface Services provided by OS OS as Resource Manager Evolution of OS Major Achievements of OS. What is Operating System?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Lecture 2: Overview of Operating System

1

Lecture 2: Overview of Operating System

Operating SystemFall 2010

Page 2: Lecture 2: Overview of Operating System

2

Outline

What is Operating System OS as User/Computer Interface Services provided by OS OS as Resource Manager Evolution of OS Major Achievements of OS

Page 3: Lecture 2: Overview of Operating System

3

What is Operating System? An operating system is a program that controls

the execution of application programs and acts as an interface between applications and the computer hardware.

Three objectives of operating systems: Convenience

Makes a computer more convenient to use Efficiency

Allows the computer system resources to be used in an efficient manner

Ability to evolve Permit the effective development, testing, and

introduction of new system functions without interfering with service

Page 4: Lecture 2: Overview of Operating System

4

OS as User/Computer Interface

EndUser

Programmer

Operating-System

Designer

Computer Hardware

Operating-System

Utilities

ApplicationPrograms

Page 5: Lecture 2: Overview of Operating System

5

Services provided by the operating systems Program Development

OS provides a variety of facilities and services, such as editors and debuggers, to assist the programmer in creating programs. Typically, these services are in the form of utility programs that, while not strictly part of the core of the OS, are supplied with the OS and are referred to as application program development tools.

Program Execution A number of tasks need to be performed before we

can execute a program. Instructions and data must be loaded into main memory. I/O devices and files must be initialized, and other resources must be prepared. The OS handles these duties for the user.

Page 6: Lecture 2: Overview of Operating System

6

Services provided by the operating systems (cont.) Access to I/O Devices

Each I/O devices requires its own peculiar set of instructions or control signals for operating. The OS provides a uniform interface that hides these details so that the programmer can access such devices using simple reads and writes.

Controlled Access to File The OS must provide protection mechanisms to

control access to the files for different users. Certain files can read only, or write only, or execute only. The OS must enforce the access mechanism.

System Access In the case of a shared or public system, the OS

control access to the system as a whole and to specific system resources.

Page 7: Lecture 2: Overview of Operating System

7

Services provided by the operating systems (cont.) Error Detection and Response

A variety of errors can occur while a computer system is running

Internal and External hardware errors such as memory error, device failure, or malfunctions.

Software error such as arithmetic overflow or underflow, attempt to access forbidden memory locations

Operating system cannot grant request of application Accounting

Collect usage statistic Monitor performance Used to anticipate future enhancement prepare billing information

Page 8: Lecture 2: Overview of Operating System

8

OS as Resource Manager

OSSoftware

processor

I/O controller

Programsanddata

I/O controller

I/O controller

processor…

.

.

.

Memory

Computer SystemI/O devices

printers

Keyboardsetc.

Auxiliarystoragedevices,

disks, tapes

Page 9: Lecture 2: Overview of Operating System

9

OS as Resource Manager (cont.)

The OS is responsible for controlling and managing the various resources of a computer system. The OS functions in the same way as an

ordinary computer software, i.e., it is a program or suite of programs executed by the processor

The OS frequently relinquishes control of the processor and must depend on the processor to allow it to regain control

The OS itself doesn’t do any “useful” work.

Page 10: Lecture 2: Overview of Operating System

10

Ease of Evolution of an OS

A major OS will evolve over time for a number of reasons: Hardware upgrades plus new types of

hardware New services demanded by users Fixer – fix holes in OS

Page 11: Lecture 2: Overview of Operating System

11

Evolution of OS (1)

1940-1950 No operating system Run as an open shop User signs up for certain time to use it

Page 12: Lecture 2: Overview of Operating System

12

Evolution of OS (2) - Simple Batch Systems

Interrupt Processing

Device Drivers

Job Sequencing

Control Language Interpreter

UserProgram

Area

Monitor

mid 1950s - mid 1960s User no longer has direct

access to the machine Submit the job to an

operator who batches the jobs together sequentially and places the entire batch on the input device

Often jobs of a similar nature can be bundled together to further increase economy

Page 13: Lecture 2: Overview of Operating System

13

Evolution of OS (2) - Simple Batch Systems (cont.)

Job Control Language (JCL) Special type of programming language Provide instruction to the monitor

$JOB user_spec ; identify the user for accounting purposes$FORTRAN ; load the FORTRAN compiler source program cards $LOAD ; load the compiled program $RUN ; run the program data cards $EOJ ; end of job

$JOB user_spec ; identify a new user $LOAD application $RUN data $EOJ

Page 14: Lecture 2: Overview of Operating System

14

Evolution of OS (2) - Simple Batch Systems (cont.) Need additional hardware features to support

the batch OS: Memory Protection – protect the OS from being wiped

out Timer – prevent the job run infinitely Privileged Instruction

certain instruction can only be executed by OS, and not by user.

I/O could only be performed in monitor (supervisor) mode, CPU runs in supervisor mode or user mode

Interrupts early models did not have this capability. Later models have. Make more efficient use of resources

Note: Some memory is given to OS and some processor time is given to OS. But we are still better off because machine is a lot faster than human operation.

Page 15: Lecture 2: Overview of Operating System

15

Evolution of OS (3) - Multiprogrammed Batch Systems

1960s - present Several users are in

memory at the same time

Match I/O intensive job with CPU intensive job

Important to have Interrupt-Driven I/O or DMA to support multiprogrammed batch system.

Monitor (more like a operating system)

User program 1

User program 2

User program 3

User program 4

Page 16: Lecture 2: Overview of Operating System

16

Uniprogramming

Processor must wait for I/O instruction to complete before preceding

Page 17: Lecture 2: Overview of Operating System

17

Multiprogramming

When one job needs to wait for I/O, the processor can switch to the other job

Page 18: Lecture 2: Overview of Operating System

18

Multiprogramming

Page 19: Lecture 2: Overview of Operating System

19

Evolution of OS (4) - Time-Sharing Systems

1970s - present To support interactive computing In a time-sharing system, multiple users

simultaneously access the system through terminals, with the OS interleaving the execution of each user program in a short burst or quantum of computation.

Context Switching A job (now often called process) can get “switched in”

or “switched out”. OS should give the illusion for the process as if it exists

in the CPU continuously

Page 20: Lecture 2: Overview of Operating System

20

Batch Multiprogramming versus Time Sharing

Batch Multiprogramming Time Sharing

Principal objective Maximize processor use Minimize response time

Source of directives to operating system

Job control language commands provided with the job

Commands entered at the terminal

Page 21: Lecture 2: Overview of Operating System

21

Evolution of OS (5) Real-time computer

Execute programs that are guaranteed to have an upper bound on tasks that they carry out.

e.g. guided missile systems, medical monitoring equipment

Multiprocessor – have more than one CPU Shared memory multiprocessors

Access the same memory - memory access must be synchronized

Distributed memory multiprocessors Each CPU has its own associated memory – communication

between processors is often slow and complicated Networked/Distributed Systems – consist of multiple

computers Networked systems: users are aware of the different

computers that make up the system Distributed systems: multiple computers are transparent to

the user.

Page 22: Lecture 2: Overview of Operating System

22

Major Achievements of OS OS are the most complex software ever

developed In the last several decades, we have

made several theoretical advances in the development of OS: Processes Memory management Information protection and security Scheduling and resources management Systems structures

Page 23: Lecture 2: Overview of Operating System

23

Processes - Definition The concept of process is fundamental to

the structure of OS. Many definitions have been given: A program in execution An instance of a program running on a

computer The entity that can be assigned to and

executed by a processor A unit of activity characterized by a single

sequential thread of execution, a current state, and an associated set of system resources.

Page 24: Lecture 2: Overview of Operating System

24

Processes In a multiprogrammed systems, many jobs are in progress

at the same time. It became impossible to analyze their interactions. Therefore, there are many source of errors:

Improper Synchronization It is often the case that a routine must be suspended awaiting an

event that occurs elsewhere Failed Mutual Exclusion

Certain shared resources can only be used by one user at a time Nondeterminate Program Execution

The results of a particular program should depend only on the input and not on the activities of other programs in a shared system

Deadlocks It is possible for two or more programs to be hung up waiting for

each other We need to tackle these problems in a systematic way.

The concept of the process provides the foundation.

Page 25: Lecture 2: Overview of Operating System

25

Processes - Components We can think of a process as consisting

of three components: An executable program The associated data needed by the

program The execution context of the program

All information the operating system needs to manage the process

Page 26: Lecture 2: Overview of Operating System

26

Processes

ContextData

Instructions

ContextData

Instructions

OS processlist

processA

processB

PSW

PC

bh

PC

PC

PC

other registers

BaseLimit

CPU registers

Page 27: Lecture 2: Overview of Operating System

27

Memory management Process isolation

The OS must prevent independent processes from interfering with the data and memory of each other

Automatic allocation and management Programs should be dynamically allocated across the

memory hierarchy as required. Support for modular programming Protection and access control

Sometimes it is desirable to share data. Sometimes it is not. The OS must enforce them

Long-term storage

Page 28: Lecture 2: Overview of Operating System

28

Virtual Memory

Allows programmers to address memory from a logical point of view

While one process is written out to secondary store and the successor process read in there in no hiatus

Page 29: Lecture 2: Overview of Operating System

29

File System

Implements long-term store Information stored in named

objects called files

Page 30: Lecture 2: Overview of Operating System

30

Paging Allows process to be comprised of a

number of fixed-size blocks, called pages

Virtual address is a page number and an offset within the page

Each page may be located any where in main memory

Real address or physical address in main memory

Page 31: Lecture 2: Overview of Operating System

31

Page 32: Lecture 2: Overview of Operating System

32

Virtual Memory Addressing

ProcessorMemory

Management Unit

MainMemoryVirtual

AddressRealAddress

SecondaryMemory

DiskAddress

Page 33: Lecture 2: Overview of Operating System

33

Information Protection and Security Access control

Regulate user access to the system Information flow control

Regulate flow of data within the system and its delivery to users

Certification Providing that access and flow control

perform according to specifications

Page 34: Lecture 2: Overview of Operating System

34

Scheduling and Resources Management A key task of an OS is to manage the

various resources available to it and to schedule their use by the various active processes.

Any scheduling policy must consider three factors: Fairness

Give equal and fair access to all processes Differential Responsiveness – priorities

Discriminate between different classes of jobs Efficiency

maximize throughput, minimize response time, and accommodate as many uses as possible etc.

Page 35: Lecture 2: Overview of Operating System

35

System Structure Early OS are monolithic Later OS are modular

View the system as a series of levels Each level performs a related subset of

functions Each level relies on the next lower level

to perform more primitive functions This decomposes a problem into a

number of more manageable subproblems

Page 36: Lecture 2: Overview of Operating System

36

System Structure (cont.)

Microkernel architecture assigns only a few essential functions

to the kernel address space interprocess communication (IPC) basic scheduling

Page 37: Lecture 2: Overview of Operating System

37

System Structure (cont.) Modules

Most modern operating systems implement kernel modules

Uses object-oriented approach Each core component is separate Each talks to the others over known

interfaces Each is loadable as needed within the kernel

Overall, similar to layers but with more flexible

Page 38: Lecture 2: Overview of Operating System

38

Solaris Modular Approach

Page 39: Lecture 2: Overview of Operating System

39

Operating System Design Hierarchy

Level

Name Objects Example operations

13 Shell User programming environment

Statements in shell language

12 User processes

User processes Quit, kill, suspend, resume

11 Directories Directories Create, destroy, attach, detach, search, list

10 Devices External devices, such as printer, displays and keyboards

Open, close, read, write

9 File system Files Create, destroy, open, close, read, write

8 Communications

Pipes Create, destroy, open, close, read, write

Page 40: Lecture 2: Overview of Operating System

40

Operating System Design Hierarvichy (cont.)

Level Name Objects Example operations

7 Virtual Memory Segments, pages Read, write, fetch

6 Local secondary store

Blocks of data, device channels

Read, write, allocate, free

5 Primitive processes

Primitive process, semaphores, ready list

Suspend, resume, wait, signal

Page 41: Lecture 2: Overview of Operating System

41

Operating System Design Hierarvichy (cont.)

Level

Name Objects Example operations

4 Interrupts Interrupt-handler Invoke, enable, disable interrupt

3 Procedures Procedures, call stack, display

Mark stack, call, return

2 Instruction Set

Evaluation stack, microprogram interpreter, scalar and array data

Load, store, add, subtract branch

1 Electronic circuits

Registers, gates, buses, etc.

Clear, transfer, activate, complement

Page 42: Lecture 2: Overview of Operating System

42

End

Thank you!