You are on page 1of 138

I HC NNG

TRNG I HC BCH KHOA

KHOA CNG NGH THNG TIN

NGUYN L H IU HNH

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

TRNG I HC BCH KHOA NNG

Gii thiu
Ni dung gio trnh
CHNG 1. M U CHNG 2. TIN TRNH CHNG 3. VO/RA CHNG 4. QUN L B NH CHNG 5. H THNG FILE

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Cc vn
1. Khi nim h iu hnh 2. Chc nng ca h iu hnh 3. V tr ca h iu hnh 4. Cc thnh phn ca h iu hnh 5. Cu trc ca h iu hnh

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Khi nim h iu hnh


H iu hnh (HH) l phn gn b trc tip vi phn cng v l mi trng cho cc chng trnh ng dng chy trn n.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Chc nng ca h iu hnh


Qun l v phn phi ti nguyn 1 cch hp l Gi lp mt my tnh m rng v to giao din tin li vi ngi s dng

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Ti nguyn
Ti nguyn phn cng B x l B nh Cc thit b nhp xut

Ti nguyn phn mm Cc file, chng trnh dng chung,...


Gio trnh Nguyn l H iu hnh Trn H Thy Tin

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 1. M U

V tr ca h iu hnh
Cc CT ng dng Cc CT ng dng Cc CT tin ch NNLT, CTDch,... H iu hnh Phn cng H IU HNH Cc CT tin ch

Ngn ng my Micro Programming Cc thit b vt l Phn cng

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Cc thnh phn ca h iu hnh


Qun l tin trnh Qun l b nh Qun l nhp xut Qun l tp tin H thng bo v H thng dch lnh (Shell)
10/2/2007

Qun l m ng Gio trnh Nguyn l H iu hnh Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Cc thnh phn ca h iu hnh


Qun l tin trnh
To lp, hu b mt tin trnh Tm dng, ti kch hot mt tin trnh Cung cp cc c ch trao i thng tin gia cc tin trnh Cung cp c ch ng b ho cc tin trnh
Gio trnh Nguyn l H iu hnh Trn H Thy Tin

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Cc thnh phn ca h iu hnh


Qun l b nh
Cp pht v thu hi vng nh cho tin trnh khi cn thit Ghi nhn tnh trng b nh chnh: vng cp pht, vng cn c th s dng... Quyt nh tin trnh no c np vo b nh chnh khi c mt vng nh trng.
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 10

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Cc thnh phn ca h iu hnh


Qun l nhp xut
Gi cc lnh iu khin n cc thit b Tip nhn cc ngt X l li

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

11

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Cc thnh phn ca h iu hnh


Qun l tp tin
To lp, hu b mt tp tin. To lp v hu b mt th mc. Cung cp cc thao tc x l tp tin v th mc. To lp quan h tng ng gia tp tin v b nh ph cha n.
Gio trnh Nguyn l H iu hnh Trn H Thy Tin

10/2/2007

12

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Cc thnh phn ca h iu hnh


H thng bo v
Xy dng c ch bo v thch hp. Trong trng hp nhiu ngi cng s dng ng thi cc tin trnh.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

13

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Cc thnh phn ca h iu hnh


H thng dch lnh (Shell)
ng vai tr giao din gia NSD v HH Cc lnh c chuyn n HH di dng ch th iu khin. Shell nhn lnh v thng dch lnh HH c x l tng ng

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

14

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Cc thnh phn ca h iu hnh


Qun l mng
Mt h thng phn b nhiu b x l vi cc b nh c lp. Cc tin trnh trong h thng c th kt ni vi nhau qua mng truyn thng. Vic truy xut n ti nguyn mng thng qua cc trnh iu khin giao tip mng.
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 15

TRNG I HC BCH KHOA NNG

CHNG 1. M U

Cu trc ca h iu hnh
H thng nguyn khi (Monolithic System) H thng phn lp (Layer System) My o (Virtual Machine) M hnh Client-Server (Client-Server Model)

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

16

TRNG I HC BCH KHOA NNG

CHNG 1. M U

H thng nguyn khi


Cu trc HH c xem l ko cu trc HH c xy dng da trn tp hp cc th tc ring l. Mi th tc c th gi ln nhau khi cn CT ng dng c th truy xut n th tc cp thp, phn cng. Do vy HH kh kim sot v bo v h thng Khi xy dng th tc phi nh ngha r tham s u vo, tham s u ra
10/2/2007 Gio Nguyn l H i u hnh HH thi utrnh tnh ch ng trong vic qun l mi 17 Trn H Thy Tin trng. (tnh cht tnh, ch c kch hot khi cn)

TRNG I HC BCH KHOA NNG

CHNG 1. M U

H thng nguyn khi


V d: Cu trc MSDOS
Chng trnh ng dng Chng trnh h thng thng tr Drivers MSDOS Drivers ROM-BIOS
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 18

TRNG I HC BCH KHOA NNG

CHNG 1. M U

H thng nguyn khi


Hot ng ca b x l c chia lm 2 ch - Ch Kernel: chy thc hin cc th tc ca HH (li gi h thng) - Ch User: chy thc hin cc CT ca NSD

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

19

TRNG I HC BCH KHOA NNG

CHNG 1. M U

H thng nguyn khi


Khi HH khi ng tt c cc li gi h thng u c np v nh v vo RAM. HH to bng Dispatch gm cc Slot, mi Slot l mt con tr tr n /C u ca mt CT phc v

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

20

TRNG I HC BCH KHOA NNG

CHNG 1. M U

H thng phn lp
H thng c xy dng bi nhiu lp. Mi lp c xy dng da trn cc lp bn trong Lp trong cng (lp 0): phn cng Lp ngoi cng (lp N): giao din vi NSD Mi lp l mt i tng tru tng (d liu+thao tc x l d liu). Mi lp c th gi cc th tc ca cc lp bn trong
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 21

TRNG I HC BCH KHOA NNG

CHNG 1. M U

H thng phn lp
V d: h thng THE (Technische Hogeschool Eidhoven) thit k nm 1968 Lp 5: Chng trnh ng dng Lp 4: Qun l b m cho thit b nhp/xut Lp 3: Trnh iu khin thao tc console Lp 2: Qun l b nh Lp 1: iu phi CPU Lp 0: Phn cng
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 22

TRNG I HC BCH KHOA NNG

CHNG 1. M U

My o

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

23

TRNG I HC BCH KHOA NNG

CHNG 1. M U

M hnh Client-Server
HH bao gm nhiu tin trnh ng vai tr Server vi cc chc nng chuyn bit. Phn ht nhn HH ng vai tr giao tip gia tin trnh Client v tin trnh Server. Ch c phn ht nhn cc nh ph thuc vo phn cng.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

24

TRNG I HC BCH KHOA NNG

CHNG 1. M U

M hnh Client-Server
Tin trnh Client Tin trnh Client Server qun l tin trnh Ht nhn Phn cng Server qun l u cui Message Server qun l b nh

...

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

25

TRNG I HC BCH KHOA NNG

CHNG 1. M U

M hnh Client-Server
V d: Cu trc Windows NT
OS/2 OS/2 Subsystem Win32 Win32 Subsystem

Executive Services Object Security Manager Monitor ... Virtual Process Memory Manager Kernel
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin

I/O Manager

Hardware

26

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Cc vn
1. Cc khi nim 2. M hnh trng thi 3. Thao tc trn tin trnh 4. iu phi tin trnh 5. ng b ho tin trnh

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

27

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Cc khi nim
Tin trnh (Process): chng trnh ang thc hin Mi tin trnh c mt tp ti nguyn v mi trng ring (con tr lnh, Stack, thanh ghi, khng gian a ch) Cc tin trnh hon ton c lp vi nhau, c th lin lc thng qua cc c ch truyn tin gia cc tin trnh.
Gio trnh Nguyn l H iu hnh Trn H Thy Tin

10/2/2007

28

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Cc khi nim
Tin trnh h thng: c sinh ra khi thc hin cc li gi h thng Tin trnh ca ngi s dng: c sinh ra khi thc thi CT ca NSD

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

29

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Cc khi nim
C 2 loi tin trnh: - Tin trnh k tip: thi im bt u ca tin trnh ny nm sau thi im kt thc ca tin trnh kia - Tin trnh song song: thi im bt u ca tin trnh ny nm trc thi im kt thc ca tin trnh kia

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

30

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Cc khi nim
P0 0 s0 f0 s1 P1 f1 t s1>=f0 s0>=f1

s1<=f0 P0 0 s0 s 1 f0 P1 f1 t s0<=f1

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

31

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Cc khi nim
HH qun l tin trnh thng qua khi qun l tin trnh (Process Control Block:PCB) PCB: vng nh lu tr cc thng tin m t cho tin trnh nh: nh danh ca tin trnh: phn bit gia cc tin trnh. Trng thi tin trnh: hot ng hin hnh ca tin trnh.
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 32

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Cc khi nim
Ng cnh ca tin trnh: - Trng thi CPU: ni dung cc thanh ghi (IP). Lu tr ni dung thanh ghi khi xy ra ngt. - B x l: xc nh s hiu CPU m tin trnh ang s dng (my c cu hnh nhiu CPU). - B nh chnh: danh sch cc vng nh c cp cho tin trnh. - Ti nguyn s dng: danh sch cc ti nguyn h thng m tin trnh ang s dng.
10/2/2007 Gio t trnh ldanh H iu hnh - Ti nguyn Tr oNguyn l p: sch cc ti nguyn 33 c n H Thy Tin tin trnh to lp.

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Cc khi nim
Thng tin giao tip: - Tin trnh cha: tin trnh to lp tin trnh ny - Tin trnh con: cc tin trnh do tin trnh ny to ra - u tin: thng tin gip b iu phi la chn tin trnh c cp CPU Thng tin thng k v hot ng ca tin trnh: - Thi gian s dng CPU
10/2/2007

- Thi gianGio chtrnh Nguyn l H iu hnh Trn H Thy Tin

34

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Cc khi nim
Khi qun l tin trnh
1 2 PID Status Ready List/WaitingList CPU-State-Rec Processor 3 Main store Resource Created resource Parent 4 Progeny Priority CPU time 10/2/2007 5 ...l H iu hnh Gio trnh Nguyn Trn H Thy Tin 35 PCB1 PCB2 PCB3 Unit1 RCB1 RCB1 PCB Unit2 RCB2 RCB2

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Cc khi nim
Tiu trnh (Threads): mt n v x l c bn ca h thng. Mt tiu trnh cng c th to lp cc tin trnh con Mt tin trnh c th s hu nhiu tiu trnh Cc tiu trnh trong cng mt tin trnh c th: - Chia s mt khng gian a ch. - Truy xut n cc Stack ca nhau
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 36

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

M hnh trng thi


Cc trng thi ca tin trnh Mi to: tin trnh ang c to lp. Running: tin trnh ang c x l. Ready: tin trnh ang sn sng, ch cp CPU x l Blocked: tin trnh b chn, khng th tip tc. Kt thc: tin trnh hon tt x l.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

37

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

M hnh trng thi


S chuyn trng thi ca tin trnh
Mi to 1 Ready 2 6
10/2/2007

Kt thc 5 3 Running

4 Blocked
38

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

M hnh trng thi


S chuyn trng thi ca tin trnh (1) Tin trnh mi to lp c a vo h thng. (2) B iu phi cp pht cho tin trnh mt khong thi gian s dng CPU. (3) Tin trnh kt thc, b iu phi thu li CPU. (4) Tin trnh yu cu ti nguyn nhng cha c p ng, hoc phi ch mt s kin hay thao tc nhp/xut.
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 39

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

M hnh trng thi


S chuyn trng thi ca tin trnh (5) B iu phi chn mt tin trnh khc x l. (6) Ti nguyn m tin trnh yu cu sn sng cp pht, hay s kin, thao tc nhp/xut tin trnh ang i hon tt.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

40

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Thao tc trn tin trnh


To lp tin trnh Mt tin trnh c th to lp nhiu tin trnh mi Tin trnh to ra tin trnh mi gi l tin trnh cha Tin trnh mi c to ra gi l tin trnh con Tin trnh con n lt li to ra mt lot cc tin trnh con ca n,... Qu trnh ny tip tc s to thnh cy tin trnh
Gio trnh Nguyn l H iu hnh Trn H Thy Tin

10/2/2007

41

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Thao tc trn tin trnh


To lp tin trnh Khi to lp tin trnh,HH cn thc hin: 9 nh danh cho tin trnh (PID) 9 a tin trnh vo danh sch qun l ca h thng 9 Xc nh u tin ca tin trnh 9 To khi qun l tin trnh (PCB) 9 Cp pht ti nguyn ban u cho tin trnh
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 42

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Thao tc trn tin trnh


Kt thc tin trnh Khi tin trnh kt thc, HH thc hin: Thu hi cc ti nguyn ca h thng cp pht cho tin trnh Hu tin trnh khi tt c cc danh sch qun l ca h thng Hu b PCB ca tin trnh
Gio trnh Nguyn l H iu hnh Trn H Thy Tin

10/2/2007

43

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


Mc tiu iu phi Tiu chun iu phi iu phi khng c quyn, iu phi c quyn ng h ngt gi u tin ca tin trnh T chc iu phi Cc chin lc iu phi
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 44

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


Mc tiu iu phi 10/2/2007

S cng bng gia cc tin trnh Tnh hiu qu (tn dng 100% thi gian s dng CPU) Cc tiu ho thi gian lu li trong h thng Thi gian p ng hp l (cc tiu ho thi gian hi p cho cc tng tc ca NSD) Thng lng ti a (cc i ho s cng vic c Gio trnh iu hnh - nh) x l trong mNguyn t thl H i gian c 45
Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


Tiu chun iu phi (c im ca tin trnh) 10/2/2007

Tnh hng xut/nhp ca tin trnh Tnh hng x l ca tin trnh Tin trnh tng tc hay x l theo l u tin ca tin trnh Thi gian s dng CPU ca tin trnh Thi gian cn li tin trnh cn hon tt
Gio trnh Nguyn l H iu hnh Trn H Thy Tin 46

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


iu phi c quyn Tin trnh khi nhn c CPU th c c quyn s dng cho n khi tin trnh hon tt hay t nguyn gii phng CPU Quyt nh iu phi CPU xy ra khi: + Tin trnh chuyn t trng thi Running sang Blocked + Tin trnh kt thc
10/2/2007

Gio l H d i Gii thu t trnh Nguyn n gi n, u hnh ci- t nhng ngn c47 n cc Trn H Thy Tin tin trnh cn li trong h thng c c hi x l

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


iu phi khng c quyn Tin trnh c th b tm dng hot ng bt c lc no m khng c bo trc, tin trnh khc x l. (khi c mt tin trnh khc c u tin cao hn v quyn dnh s dng CPU) Quyt nh iu phi CPU xy ra khi: + Tin trnh chuyn t trng thi Running sang Blocked
10/2/2007

+ Tin trnh chuyn t trng thi Running sang Gio trnh Nguyn l H iu hnh 48 Ready Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


iu phi khng c quyn + Tin trnh chuyn t trng thi blocked sang Ready + Tin trnh kt thc Ngn cn c tnh trng cc tin trnh c chim CPU, nhng vic tam dng mt tin trnh dn n cc mu thun trong truy xut. i hi phng php ng b ho thch hp
Gio trnh Nguyn l H iu hnh Trn H Thy Tin 49

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


ng h ngt thi gian B m thi gian qui nh mt thng s thi gian t thch hp ng vi mt lt cp CPU cho mt tin trnh Sau mt khong thi gian t s xy ra mt ngt bo hiu ht thi gian s dng CPU ca tin trnh hin hnh. HH s thu hi CPU v b iu phi s quyt nh tin trnh no s c cp pht.
Gio trnh Nguyn l H iu hnh Trn H Thy Tin 50

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


u tin ca tin trnh u tin ca tin trnh: gi tr gip phn nh tm quan trng ca cc tin trnh u tin tnh: + c gn sn cho tin trnh khi mi c ta ra + Khng thay i 10/2/2007

u tin ng: thay i theo thi gian v mi trng x l ca tin trnh


Gio trnh Nguyn l H iu hnh Trn H Thy Tin 51

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


T chc iu phi Danh sch sn sng (Ready List) Danh sch ch i (Waiting List) Cc danh sch ch i ring cho tng ti nguyn (thit b ngoi vi)

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

52

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


T chc iu phi
Ready List I/O waitingList CPU Yu cu Ht quyn s dng Ngt i mt ngt

S chuyn i gia cc danh sch iu phi


10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 53

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


Chin lc iu phi Thut ton FIFO Thut ton Round Robin (xoay vng) Thut ton SJF (Shortest-Job-First) Thut ton s dng u tin

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

54

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


Chin lc iu phi
Ready List C B A CPU

iu phi FIFO

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

55

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


Chin lc iu phi
Ready List A C B A CPU

iu phi Round Robin

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

56

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

iu phi tin trnh


T chc iu phi Danh sch sn sng (Ready List) Danh sch ch (Waiting List) Cc danh sch ch ring cho tng ti nguyn (thit b ngoi vi)

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

57

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Nhu cu ng b ho Yu cu truy xut c quyn Yu cu phi hp

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

58

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Min gng (Critical Section) Vn tranh ot iu khin if (taikhoan-tienrut)>=0 taikhoan=taikhoan-tienrut; else error (<<khong the rut tien!>>); 10/2/2007

Khi nim min gng: on ch ng trnh kh Gio trnh Nguyn l H c iu hnh - nng xy ra cc mu 59 Tr n H Th y Tin thun truy xut trn ti nguyn chung

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Min gng (Critical Section) iu kin gii quyt tt bi ton min gng: Khng c 2 tin trnh cng trong min gng Khng ph thuc vo tc ca tin trnh Mt tin trnh tm dng bn ngoi min gng khng c ngn cn cc tin trnh khc vo min gng Khng c tin trnh no phi ch v hn c Nguyn l H iu hnh vo miGio n gtrnh ng. 60
Trn H Thy Tin

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Gii php S dng bin kho - Dng bin lock chung cho cc tin trnh - Nu lock==1 th kho, khng cho tin trnh vo min gng. Ch cho n khi lock==0 - Nu lock==0 th cho tin trnh vo min gng, t lock==1 kho khng cho cc tin trnh khc vo min gng
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 61

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Gii php S dng bin kho
- Gii thut s dng bin kho ng b while (1) { while (lock==1);// wait lock=1; critical_section(); lock=0;
10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

Noncritical_section();
62

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
- Gii thut s dng bin kho ng b while (1) { while (lock==1);// wait lock=1; critical_section(); lock=0; non_critical_section(); }
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 63

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH CHNG 5. H THNG FILE

ng b ho tin trnh
- V d: p dng gii thut s dng bin kho ng b while (1) { t=t*2; while (lock==1);// wait lock=1;
for (s=0,i=0;i<=t;i++) s+=i;

printf(s=%i,s); lock=0;
10/2/2007

break; Gio trnh Nguyn l H iu hnh Trn H Thy Tin }

64

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Gii php Kim tra lun phin - Cc tin trnh mun i vo min gng th c gn nhn 0|1 - S dng bin turn ch th t lun phin. - Nu turn==0: tin trnh c nhn 0 c vo min gng - Nu turn==1: tin trnh c nhn 1 c vo min gng Gio trnh Nguyn l H iu hnh 65
Trn H Thy Tin

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Gii php Kim tra lun phin - Gii thut ca tin trnh c nhn 0
while (1) { while (turn != 0);// wait critical_section(); turn=1; non_critical_section();
10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

66

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Gii php Kim tra lun phin - Gii thut ca tin trnh c nhn 1
while (1) { while (turn != 1);// wait critical_section(); turn=0; non_critical_section();
10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

67

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Gii php Gii php Peterson
#define N 2 // Ch 2 tin trnh int turn=0, interested[N]={0,0}; void enter_region(int process) // Vo G { int other=1-process;//other l tin trnh i ca process interested[prcess]=1; turn=process; while ((turn==process)&&interested[other]==1);//ch
10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

68

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Gii php Gii php Peterson
void leave_region(int process) // Ra khi G { interested[prcess]=0; }

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

69

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Gii php Gii php Sleep and Wakeup - S dng 2 th tc: sleep v wakeup - Khi tin trnh cha iu kin vo min gng, n goi sleep t kho n khi mt tin trnh khc gi wakeup nh thc n. - Tin trnh khi ra khi min gng s gi wakeup nh thc tin trnh khc. - int busy;// 1: nu min gng ang bn, 0:khng bn
10/2/2007

- int blocked;//m s lng tin trnh ang b kho

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

70

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

ng b ho tin trnh
Gii php Gii php Sleep and Wakeup Gii thut:
while (1) { if (busy) { blocked=blocked+1; sleep(); } else busy=1;
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin critical_section(); }

busy=0; if (blocked) { wakeup(process); blocked=blocked-1; } noncritical_section();


71

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Xc nh trng thi an ton


Thut ton:
S dng cc cu trc d liu sau: int allocation[numprocs,numresources]; //allocation[p,r] s lng ti nguyn r thc s cp pht cho p int max[numprocs,numresources]; // max[p,r] nhu cu ti a ca tin trnh p v ti nguyn r int need[numprocs,numresources]; //need[p,r]=max[p,r]-allocation[p,r] int available[numresources]
10/2/2007 Gio trnh Nguyn l H iu hnh //available[r] s n l ng Tr H Th y ti Tin nguyn r cn t do 72

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Xc nh trng thi an ton


Thut ton:
int word[numresouces]=available; int finish[numproces]=false; 1. Tm i sao cho a. finish[i]==false; b. need[i,j]<=word[j]; vi mi ti nguyn j nu khng c i nh th, n bc 3 2. Word[j]=word[j]+allocation[i,j]; finish[i]=true; n bc 1;
10/2/2007 Gio trnh Nguynv l H m i ui hnh - h thng trng thi an 3. Nu finish[i]==true i i th 73 Trn H Thy Tin ton. Ngc li h thng b tc nghn

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Xc nh trng thi an ton


v d: gi s tnh trng hin hnh ca h thng c m t bng di. Nu tin trnh P2 yu cu cp 4 R1, 1 R3. Hy cho bit yu cu ny c th p ng m khng xy ra tnh trng tt nghn
Max R1 P1 P2 P3
10/2/2007

Allocation R3 2 3 4 R1 1 2 2 R2 0 1 1 R3 0 1 1 2

Available R1 4 R2 1 R3 2

R2 2 1 1

3 6 3

P4

Gio l u hnh -0 4trnh Nguyn 2 2H i0 Trn H Thy Tin

74

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Xc nh trng thi an ton


v d: Available[1]=4, Available[3]=2 tho mn yu cu ca P2, ta c
Need R1 P1 P2 P3
10/2/2007

Allocation R3 2 1 3 R1 1 6 2 R2 0 1 1 R3 0 2 1 2

Available R1 0 R2 1 R3 1

R2 2 0 0

2 0 1

P4

Gio l u hnh -0 4trnh Nguyn 2 0H i0 Trn H Thy Tin

75

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Xc nh trng thi an ton


v d:
Need R1 P1 P2 P3 P4 2 0 1 4 R2 2 0 0 2 R3 2 0 3 0 Allocation R1 1 0 2 0 R2 0 0 1 0 R3 0 0 1 2 Available R1 6 R2 2 R3 3

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

76

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Xc nh trng thi an ton


v d:
Need R1 P1 P2 P3 P4 0 0 1 4 R2 0 0 0 2 R3 0 0 3 0 Allocation R1 0 0 2 0 R2 0 0 1 0 R3 0 0 1 2 Available R1 7 R2 2 R3 3

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

77

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Xc nh trng thi an ton


V d:
Need R1 P1 P2 P3 P4 0 0 0 4 R2 0 0 0 2 R3 0 0 0 0 Allocation R1 0 0 0 0 R2 0 0 0 0 R3 0 0 0 2 Available R1 9 R2 3 R3 4

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

78

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Xc nh trng thi an ton


V d:
Need R1 P1 P2 P3 P4 0 0 0 0 R2 0 0 0 0 R3 0 0 0 0 Allocation R1 0 0 0 0 R2 0 0 0 0 R3 0 0 0 0 Available R1 9 R2 3 R3 6

10/2/2007

Trng thi kt qu l an ton, c th cp pht. Gio trnh Nguyn l H iu hnh Trn H Thy Tin 79

TRNG I HC BCH KHOA NNG

CHNG 2. TIN TRNH

Xc nh trng thi an ton


Bi tp:
Max R1 P1 P2 P3 P4 3 6 3 4 R2 2 1 1 2 R3 2 3 4 2 Allocation R1 1 2 2 0 R2 0 1 1 0 R3 0 1 1 2 Available R1 4 R2 1 R3 2

10/2/2007

Tin trnh P2 yu cu 4 R1, 1 R3. Hy cho bit yu cu ny c th p ng m m bo khng xy ra Gio trnh Nguyn l H iu hnh 80 Trn Hn Th y Tin tnh trng tt ngh hay khng?

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cc vn
1. Khi nim 2. Khng gian a ch v khng gian vt l 3. Cp pht lin tc 4. Cp pht khng lin tc 5. B nh o

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

81

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Khi nim
B nh l thit b lu tr duy nht thng qua CPU c th trao i thng tin vi mi trng ngoi. B nh chnh c t chc nh mt mng mt chiu cc t nh (word), mi t nh c mt a ch. Vic trao i vi mi trng ngoi thng qua thao tc c, ghi d liu vo mt a ch c th trong b nh

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

82

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Khi nim
H iu hnh thc hin: - S tng ng gia a ch logic v a ch vt l - Qun l b nh vt l - Chia s thng tin - Bo v

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

83

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Khng gian a ch v khng gian vt l


a ch logic (a ch o): cc a ch do b x l to ra. a ch vt l: a ch thc t m trnh qun l b nh nhn thy v thao tc. Khng gian a ch: tp hp tt c cc a ch o pht sinh bi mt chng trnh.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

84

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Khng gian a ch v khng gian vt l


Khng gian vt l: tp hp tt c cc a ch vt l tng ng vi cc a ch o. MMU (Memory Management Unit): mt c ch phn cng chuyn i a ch o thnh a ch vt l. Chng trnh ca NSD ch thao tc trn a ch o.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

85

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h n chng Cc h thng a chng vi phn vng c nh Cc h thng a chng vi phn vng ng Cc h thng a chng vi k thut Swapping

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

86

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h n chng
0xFFF Tin trnh ngi dng

H iu hnh 0
10/2/2007 Gio Nguyn l H h iu hnh T ch c trnh b nh trong th ng n chng Trn H Thy Tin 87

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng n chng S dng thanh ghi gii hn: a ch cao nht ca vng nh c cp cho HH Tt c cc a ch c tin trnh NSD truy xut n s c so snh vi ni dung thanh ghi gii hn. + Nu ln hn: hp l. + Ngc li : mt ngt s c pht sinh bo s truy xut bt hp l.
10/2/2007

Nguyn l H iu hnh 88 c Ti mtGio thtrnh iTr i m ch c mt chng trnh n H Th y Tin x l.

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng n chng V d: Trong HH MSDOS, mt lc ch thc thi c mt lnh. Khi NSD g lnh lp tc lnh c thc hin v sau khi hon tt, con tr xut hin sau du nhc i lnh ch NSD g lnh tip theo.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

89

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng c nh B nh c chia thnh cc phn vng (kch thc khc hay bng nhau) Cc tin trnh c nhu cu b nh s c lu tr vo hng i. S dng nhiu hng i S dng mt hng i

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

90

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng c nh
Partition 4 500K Partition 3 200K Partition 1 100K H iu hnh 0
10/2/2007 Gio trnh Nguyn l H c iu hnh Phn vng nh- nhiu Trn H Thy Tin

hng i

91

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng c nh
Partition 4 500K Partition 3 200K Partition 1 100K H iu hnh 0
10/2/2007 Gio trnh Nguyn l H c i u hnh Phn vng nh Trn H Thy Tin

mt hng i

92

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng c nh Phn vng c nh nhiu hng i Mi phn vng c mt hng i Mi tin trnh mi c to lp s c a vo hng i ca phn vng c kch thc nh nht tho mn nhu cu cha n. Cc hng i ca mt s phn vng trng, y. Cc tin trnh phi ch c cp pht b nh.
Gio trnh Nguyn l H iu hnh Trn H Thy Tin 93

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng c nh Phn vng c nh mt hng i Tt c cc tin trnh c t trong mt hng i. Khi c mt phn vng t do, tin trnh u tin trong hng i c kch thc ph hp s c t vo phn vng ny cho x l. Kch thc ca tin trnh khng ng bng kch thc ca phn vng t do phn mnh ni vi Mc a chng b gii hn bi s lng phn Gio trnh Nguyn l H iu hnh 94 vng Trn H Thy Tin

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng c nh Phn vng c nh mt hng i Gii quyt 2 vn ca a chng: s ti nh v, s bo v

V d: gi s chng trnh truy xut n a ch 100 (a ch tng i), ct c np vo phn vng 1 a ch bt u 100k, th a ch truy xut l (100k+100) 10/2/2007

Ti nh v vo thi im np chng trnh


Gio trnh Nguyn l H iu hnh Trn H Thy Tin 95

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng c nh Phn vng c nh mt hng i S dng cc thanh ghi c bit: phn cng Thanh ghi nn (Base Register) Thanh ghi gii hn (Limit Register)

Khi mt tin trnh c to lp, np vo thanh ghi nn a ch bt u ca phn vng c np, np vo thanh ghi gii hn kch thc ca tin trnh.
Gio trnh Nguyn l H iu hnh Trn H Thy Tin 96

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng c nh Phn vng c nh mt hng i a ch o c i chiu vi thanh ghi gii hn bo m tin trnh khng truy xut ngoi phm vi phn vng cp cho n. a ch vt l=a ch o+a ch trong thanh ghi nn. S dng thanh ghi nn l c th di chuyn cc chng trnh trong b nh sau khi chng bt u Gio trnh Nguyn iu hnh - ghi nn. c n npllH ithanh x l. Ch 97
Trn H Thy Tin

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng c nh Phn vng c nh mt hng i
Limit Register a ch o < no
Gio trnh Nguyn l H iu hnh a ch c l i Trn H Thy Tin

Base Register yes + a ch vt l

CPU

B nh

10/2/2007

98

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng ng Xy ra hin tng phn mnh ngoi vi K thut dn b nh: kt hp cc mnh b nh nh ri rc thnh mt vng nh ln lin tc

Cc tin trnh c th b di chuyn. Kch thc tin trnh tng trng trong qu trnh x l m khng cn vng nh trng gn k (di ch tin trnh, cp pht d).
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 99

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng ng

B A
HH

B A
HH

D A
HH

A
HH

A
HH

10/2/2007

Gio trnh Nguyn l H iphn u hnh - vng C p pht cc Trn H Thy Tin

ng

100

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng ng Gii php cp pht ng Qun l bng mt bng cc bit Qun l bng danh sch

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

101

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng ng Qun l bng mt bng cc bit

1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin 102

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi phn vng ng Qun l bng danh sch

B 4 6 9

C 11 14

0
P 0 4

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

P 14 4

11 3
103

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi k thut Swapping

Vng nh dnh cho NSD HH

Swap out Swap in

P1 P2

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

104

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht lin tc
Cc h thng a chng vi k thut Swapping Chuyn mt tin trnh ang trng thi ch nm sang b nh ph. (swap out) Khi n lt n s c mang tr li b nh chnh tip tc x l. (swap in) Xy ra hin tng phn mng ngoi vi.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

105

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang Phn on Phn on kt hp phn trang

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

106

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
tng C ch MMU Chuyn i a ch Ci t bng trang T chc bng trang

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

107

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
tng B nh vt l: chia thnh cc khi (khung trang) c kch thc bng nhau. Khng gian a ch: chia thnh cc khi (trang) c kch thc trng bng khung trang. Khi cn np mt tin trnh x l, cc trang ca tin trnh s c np vo cc khung trang cn trng.
Gio trnh Nguyn l H iu hnh Trn H Thy Tin 108

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
tng Tin trnh c kch thc N trang, s yu cu N khung trang t do.
Page 1 Page 0 Page 3 Page 2 Khng gian vt l
109

Page 0 Page 1 Page 2 Page 3


10/2/2007

Khng gian a ch Gio trnh Nguyn l H iu hnh Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
C ch MMU(Memory Management Unit) C ch phn cng h tr chuyn i a ch trong c ch phn trang (bng trang). Mi phn t trong bng trang: a ch bt u lu tr trang tng ng trong b nh vt l;s hiu khung trang tng ng.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

110

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
Chuyn i a ch a ch pht sinh bi CPU gm 2 phn: p,d + p: s hiu trang + d: a ch tng i a ch vt l=a ch bt u ca trang + d.

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

111

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
Chuyn i a ch
a ch logic CPU P d Bng trang p f a ch vt l f d B nh vt l

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

C ch phn cng h tr phn trang

112

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
Ci t bng trang S dng tp cc thanh ghi: bng trang c kch thc nh. Lu tr trong b nh, s dng thanh ghi nn(PTBR) lu a ch bt u bng trang. (Page Table Basic Register) S dng b nh kt hp (TLB), mi thanh ghi trong b nh gm: (Translation Lookaside Buffers) Gio trnh iu hnh t kho: sNguyn hil uHtrang 113 Trn H Thy Tin gi tr: s hiu khung trang

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
Ci t bng trang
a ch logic CPU P d Bng trang p PTBR + f a ch vt l f d B nh vt l

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

114

C ch phn trang s dng PTBR

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
Ci t bng trang
a ch logic CPU P d Bng trang p f p f TLB Gio trnh Nguyn l H iu hnh TrnC H yTin Th ch phn trang s dng TLB a ch vt l f d B nh vt l

10/2/2007

115

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
T chc bng trang Mi HH c mt cch t chc bng trang. a s cc HH cp cho mi tin trnh mt bngtrang Nu khng gian a ch c dung lng qu ln. Bng trang i hi mt vng nh qu ln. C 2 gii php:
10/2/2007

Phn trang a cp.


Gio trnh Nguyn l H iu hnh Trn H Thy Tin 116

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
T chc bng trang Phn trang a cp Phn chia bng trang thnh cc phn nh, bn thn bng trang cng s c phn trang

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

117

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn trang
T chc bng trang
1 500 501 900 Bng trang cp 1
10/2/2007

Page 1 Page 500 Page 501

Page 900

Bng trang cp 2 c p

B nh vt l
118

Gio trnh Nguyn l H iu hnh Bng trang nh Trn H Thy Tin

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
tng C ch MMU Chuyn i a ch Ci t bng phn on Chia s phn on

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

119

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
tng Khng gian a ch: tp cc phn on(segments) c kch thc khc nhau, c lin h logic vi nhau Mi phn on: <s hiu, di> Mi a ch logic: <s hiu phn on, offset>

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

120

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
tng
M hnh phn on b nh

Bng k hiu

Stack CT chnh

CT con

10/2/2007

Gio trnh Nguyn l H iu hnh Khng a ch Tr n H Thgian y Tin

121

Khng gian vt l

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
C ch MMU S dng bng phn on: Thanh ghi nn: a ch vt l ni bt u ca phn on Thanh ghi gii hn: chiu di ca phn on

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

122

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
Chuyn i a ch 10/2/2007

Mi a ch logic: <s,d> s: s hiu phn on d: a ch tng i offset, c gi tr t 0 n di phn on. a ch vt l=d+ gi tr cha trong thanh ghi nn
Gio trnh Nguyn l H iu hnh Trn H Thy Tin 123

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
Chuyn i a ch s
limit base

CPU

d < sai

Bng phn on ng + B nh vt l

10/2/2007

C ch phTr n c Tin tr k thut phn on n Hng Thh y

Gio trnh Nguyn l H iu hnh -

Li a ch

124

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
Ci t bng phn on S dng tp cc thanh ghi: bng phn on c kch thc nh. Lu tr trong b nh: bng phn on c kch thc ln Thanh ghi nn bng phn on (STBR) lu a ch bt u bng phn on (Segment Table Basic Register)
125 Thanh ghi c t kch thc bng phn on (STLR) Gio trnh Nguyn l H iu hnh Trn H Thy Tin

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
Ci t bng phn on
limit Bng k Segment 1 hiu Stack Segment 2 CT chnh CT con Segment 3 Segment 0
10/2/2007

6700 Segment 1 base 1400 6300 4300 3200 3200 2400 1400 6300 4700 4300 Segment 3 Segment 2

1000 400 400 1100

Segment 0
126

Khng

Gio trnh Nguyn l H iu hnh gian aTr ch n H Thy Tin

H thng phn on

Khng gian vt l

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
Ci t bng phn on
STBR STLR CPU + ng < s d < sai
10/2/2007 Gio trnh Nguyn l H iu hnh Trn HL Th y Tin i a ch

s limit base

Bng phn on ng + B nh vt l
127

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
Chia s phn on Kh nng chia x mc phn on: chia x cc chng trnh con. Mi tin trnh c mt bng phn on ring. Mt phn on c chia x khi cc phn t trong bng phn on ca hai tin trnh khc nhau cng truy xut n mt a ch vt l ging nhau
Gio trnh Nguyn l H iu hnh Trn H Thy Tin 128

10/2/2007

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on
Chia s phn on
Khng gian a ch p1 editor Segment 0 data1 Segment 1 editor Segment 0 Bng phn on p1 limit 0 1 base 25286 43062 4425 68348 limit 43062 editor 68348 72773 90003 98853 Data 1

Bng phn on p2 base 0 25286 43062 1 8850 90003

Data 2

10/2/2007

data1 Segment 1 iu hnh Gio trnh Nguyn l H Khng gian a ch p2


Trn H Thy Tin

129

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on kt hp phn trang
tng C ch MMU Chuyn i a ch

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

130

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on kt hp phn trang
tng Khng gian a ch: tp hp cc phn on. Mi phn on: chia thnh nhiu Tin trnh c a vo h thng, HH s cp pht cho tin trnh cc trang cn thit cha cc phn on ca tin trnh

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

131

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on kt hp phn trang
tng
Bng k hiu Stack CT chnh CT con

Khng gian a ch
10/2/2007 Gio trnh Nguyn l H iu hnh Trn H Thy Tin

Khng gian vt l
132

M hnh phn on kt hp phn trang

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on kt hp phn trang
Chuyn i a ch Mi a ch: <s, p, d> S: s hiu phn on P: s hiu trang D: a ch tng i

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

133

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

Cp pht khng lin tc


Phn on kt hp phn trang
C ch MMU
s s limit base + CPU s p d f
Nguyn l H i u hnh C ch Gio phtrnh n c ng phn o n n H Thy Tin kt hp Tr phn trang

Bng phn on

Bng trang ca mt phn on p f

10/2/2007

B nh v134 t l

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

B nh o
Nu t ton th khng gian a ch vo b nh vt l th kch thc ca chng trnh b gii hn bi kch thc b nh. Np tng phn ca chng trnh. Ti mt thi im, ch np vo b nh vt l cc ch th v d liu ca ct cn thit cho vic thi hnh lnh thi im .
Gio trnh Nguyn l H iu hnh Trn H Thy Tin

10/2/2007

135

TRNG I HC BCH KHOA NNG

CHNG 4. QUN L B NH

B nh o
B nh o: k thut cho php x l mt tin trnh k0 c np ton b vo b nh vt l. B nh o: m hnh ho b nh nh mt bng lu tr rt ln v ng nht. NSD lm vic vi a ch o. Vic chuyn i sang a ch vt l do HH m nhim bng c ch phn cng
Gio trnh Nguyn l H iu hnh Trn H Thy Tin

10/2/2007

136

TRNG I HC BCH KHOA NNG

CHNG 5. H THNG FILE

M hnh Client-Server
H thng nguyn khi (Monolithic System) H thng phn lp (Layer System) My o (Virtual Machine) M hnh Client-Server (Client-Server Model)

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

137

TRNG I HC BCH KHOA NNG

CHNG 5. H THNG FILE

M hnh Client-Server
H thng nguyn khi (Monolithic System) H thng phn lp (Layer System) My o (Virtual Machine) M hnh Client-Server (Client-Server Model)

10/2/2007

Gio trnh Nguyn l H iu hnh Trn H Thy Tin

138

You might also like