©j.tiberghien - ulb-vub version 2007 première partie, chap. 2, page 1 chapitre 1.2 systèmes...

26
©J.Tiberghien - ULB-VUB Version 2007 1 Première partie, chap. 2, page Chapitre 1.2 Systèmes d’exploitation

Upload: amani-records

Post on 31-Mar-2015

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 1Première partie, chap. 2, page

Chapitre 1.2

Systèmes d’exploitation

Page 2: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 2Première partie, chap. 2, page

Layered Operating System model

Hardware

Operating

SystemApplication

Page 3: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 3Première partie, chap. 2, page

Absolute Binary Loader

ABL

CentralMemory

s3,t4

s3,t4

Page 4: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 4Première partie, chap. 2, page

Command Interpreter

ABL

CentralMemory

chess

s3,t4

Cmnd.Int.

Fmgr.

Page 5: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 5Première partie, chap. 2, page

Interactive usage

Page 6: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 6Première partie, chap. 2, page

Batch Processing

Page 7: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 7Première partie, chap. 2, page

File Manager

• Organizes data on disk

• Hides the details of physical files

• Offers standardized file organizations– Sequential– Random Access– Indexed Sequential

• Maintains File Directories

Page 8: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 8Première partie, chap. 2, page

Random Access Files

• Space inefficient• Fast access

Page 9: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 9Première partie, chap. 2, page

Sequential Files

• Space efficient• Slow access

Page 10: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 10Première partie, chap. 2, page

Indexed Sequential Files

Good compromise:•Space efficient•Access reasonably fast

Page 11: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 11Première partie, chap. 2, page

Command Interpreter

ABL

chess

Cmnd.Int.

Fmgr.

Page 12: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 12Première partie, chap. 2, page

Control by Command Interpreter

Program X

Return to CMND.INT

Start User Pgm

Cmnd Interpreter

Page 13: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 13Première partie, chap. 2, page

Interrupts

Interrupt Handler

Page 14: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 14Première partie, chap. 2, page

KFL =

KDA =DDA =

4 5 6

1 2 3

* 0 #

7 8 9

Data Memory

Arithmetic Unit

Control Unit

Program Memory

ND =

SC =

p1 COPY #0 ND P2

p2 COPY #0 SC P3

p3 NE? ND #3 P3 P4

p4 NE? SC #321 P1 P5

p5 COPY #1 DDA P1

p10 MUL SC #10 SC P11p11 ADD SC KDA SC P12

p13 ADD ND #1 ND P14p12 COPY #0 KFL P13

Interrupt handler

p14 RTI

Interrupt

Page 15: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 15Première partie, chap. 2, page

Interrupt Handler

Program X

Return to int.handlr

Start User Pgm

Interrupt Handler

Find cause int.

ControlUnit

Page 16: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 16Première partie, chap. 2, page

Interrupt Handler Based System

Commandinterpreter

Userprogram

Filemanager

A.B.L.

Interrupthandler

Page 17: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 17Première partie, chap. 2, page

Single-task Systems

active

waitingfor cpu

Blocked(= busywaiting)

task completed

start I/O

activation

load

I/Ocompletion

Page 18: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 18Première partie, chap. 2, page

active

waitingfor cpu blocked

task completed

start I/Opreemption

activation

load

swapout

I/Ocompletion(interrupt)

Multi-task Systems

Page 19: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 19Première partie, chap. 2, page

Multitasking Issues• Process Scheduling

Which program becomes active when ?

• Job Scheduling (or Queue Management)Which programs reside in Central Memory ?

• Memory ManagementHow much memory gets each program ?

• Output SpoolingHow to keep output of programs apart ?

Page 20: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 20Première partie, chap. 2, page

Process Scheduler All programs have a priority and the one waiting

with the highest priority becomes active.

• Non-preemptive Scheduling:

Priorities are compared whenever

• the active program blocks itself

• a clock tick occurs (typically every 10 mS)

• Preemptive Scheduling

Priorities are continuously compared.

Page 21: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 21Première partie, chap. 2, page

Process Priorities

active

blocked

+1-1

p = p0 waitingfor cpu

+1

Page 22: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 22Première partie, chap. 2, page

Job Scheduler Selects the programs to be loaded in Central

Memory

• Manual selection

(starting an application under Windows)

• Automatic selection – based on priorities

– Based on the Round Robin algorithm

Page 23: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 23Première partie, chap. 2, page

Round Robin

Centralmemory

Preempted tasks

after t seconds

New tasks

Input queue

Completed

tasks

Page 24: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 24Première partie, chap. 2, page

Memory Management

• Allocates memory to each program

– Static Allocation

• Good Job Scheduling mandatory.

–Dynamic Allocation: Virtual Memory

• Job Scheduling not so important.

Page 25: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 25Première partie, chap. 2, page

Virtual Memory

Page Table

123

456

cm

pm

pmpm

004

002

10031004

1007

1009

CM PM

cmpm

Page 26: ©J.Tiberghien - ULB-VUB Version 2007 Première partie, chap. 2, page 1 Chapitre 1.2 Systèmes dexploitation

©J.Tiberghien - ULB-VUBVersion 2007 26Première partie, chap. 2, page

Output Spooling

Program A

Program B

Program C

Program D