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

Post on 31-Mar-2015

220 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Chapitre 1.2

Systèmes d’exploitation

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

Layered Operating System model

Hardware

Operating

SystemApplication

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

Absolute Binary Loader

ABL

CentralMemory

s3,t4

s3,t4

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

Command Interpreter

ABL

CentralMemory

chess

s3,t4

Cmnd.Int.

Fmgr.

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

Interactive usage

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

Batch Processing

©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

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

Random Access Files

• Space inefficient• Fast access

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

Sequential Files

• Space efficient• Slow access

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

Indexed Sequential Files

Good compromise:•Space efficient•Access reasonably fast

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

Command Interpreter

ABL

chess

Cmnd.Int.

Fmgr.

©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

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

Interrupts

Interrupt Handler

©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

©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

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

Interrupt Handler Based System

Commandinterpreter

Userprogram

Filemanager

A.B.L.

Interrupthandler

©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

©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

©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 ?

©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.

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

Process Priorities

active

blocked

+1-1

p = p0 waitingfor cpu

+1

©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

©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

©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.

©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

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

Output Spooling

Program A

Program B

Program C

Program D

top related