26
ĐỀ CƯƠNG ÔN TP MÔN : HĐIU HÀNH  LÝ THUYT 1  ) Trình bày các phương pháp tránh tương t ranh ( các gii thut) ,… ,tài nguyên  găng ? * Tiến trình (process) được định nghĩa thông qua các khái nim sau : + Trng thái ca hthng tính toán : là mt bthông tin ca tt ccác thành phn trong hthng tính toán ti mt thi đim nht định. + Mt dy chuyn trng thái ca hthng tính toán ( ký hiu : S 0 ,S 1 ,S 2 …,S n ) trong đó S 0 là trng thái ban đầu , S n là trng thái kết thúc thì được gi là 1 tiến trình.Tiến trình là mt chương trình đang chy, mi chương trình có không gian địa chriêng, đó chính là vùng  bnhdành riêng cho chương trình. Vùng bnhcha cchương trình,dliu,.. cho chương trình đó. Tiến trình Thread : - Nếu c hươ ng trình là chư ơng t rình ca ht hn g => khi c hy s là ti ến tr ình hthng. - Nếu c hươ ng tr ình là chư ơng t rìn h ca ng ười s dn g thì k hi ch y sl à ti ế n trì nh ca người sdng. * Điu độ tiến trình là đảm bo chương trình qua đon găng 1 cách hp lý. + Ti 1 thi đim có không quá 1 chương trình vào đon găng. + không chương trình nào chiếm đon găng trong thi gian vô hn. + không có chương trình nào chvô hn trước khi vào đon găng. - Có 2 loi điu độ : - điu độ mc sơ cp - điu độ mc cao cp. * Các kthut điu độ chương trình - Kthut khóa trong : kthut này không phthuc vào thiết b, có tháp dng cho mi loi ngôn ng. + nguyên lý : dùng thêm các biến vi tư cách là tài nguyên chung cha các gcho  biết chương trình vào hay ra khi đon găng. + githiết : - 2 chương trình song song. - khnăng phc vca tài nguyên găng là 1. - mi chương trình chcó mt đon găng. - các chương trình lp vô hn, nếu có kết thúc thì kết thúc ngoài đon găng. + thc hin : mi chương trình dùng mt byte cho bnhchung để làm khóa, khi vào đon găng byte này được gán bng 1.Khi sdng xong tài nguyên găng thì byte được gán bng 0.Khi chun bvào đon găng mi chương trình phi kim tra khóa ca chương trình khác , nếu có byte = 1 => phi chcho đến khi byte = 0 thì mi vào kim tra. dùng sơ đồ nguyên lý : Var turn : integer ;  par begin 1

Đề cương môn hệ điều hành

Embed Size (px)

Citation preview

Page 1: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 1/26

ĐỀ CƯƠNG ÔN TẬP MÔN : HỆ ĐIỀU HÀNH

 LÝ THUYẾT 

1 ) Trình bày các phương pháp tránh tương tranh ( các giải thuật) ,… ,tài nguyên găng ?* Tiến trình (process) được định nghĩa thông qua các khái niệm sau :+ Trạng thái của hệ thống tính toán : là một bộ thông tin của tất cả các thành phần tronghệ thống tính toán tại một thời điểm nhất định.+ Một dẫy chuyển trạng thái của hệ thống tính toán ( ký hiệu : S0,S1,S2…,Sn) trong đó S0

là trạng thái ban đầu , Sn là trạng thái kết thúc thì được gọi là 1 tiến trình.Tiến trình là mộtchương trình đang chạy, mỗi chương trình có không gian địa chỉ riêng, đó chính là vùng bộ nhớ dành riêng cho chương trình.

Vùng bộ nhớ chứa cả chương trình,dữ liệu,.. cho chương trình đó.

Tiến trình Thread :- Nếu chương trình là chương trình của hệ thống => khi chạy sẽ là tiến trình hệthống.

- Nếu chương trình là chương trình của người sử dụng thì khi chạy sẽ là tiến trìnhcủa người sử dụng.

* Điều độ tiến trình là đảm bảo chương trình qua đoạn găng 1 cách hợp lý.+ Tại 1 thời điểm có không quá 1 chương trình vào đoạn găng.+ không chương trình nào chiếm đoạn găng trong thời gian vô hạn.+ không có chương trình nào chờ vô hạn trước khi vào đoạn găng.- Có 2 loại điều độ : - điều độ ở mức sơ cấp

- điều độ ở mức cao cấp.

* Các kỹ thuật điều độ chương trình- Kỹ thuật khóa trong : kỹ thuật này không phụ thuộc vào thiết bị, có thể áp dụng cho mọiloại ngôn ngữ.

+ nguyên lý : dùng thêm các biến với tư cách là tài nguyên chung chứa các gờ cho biết chương trình vào hay ra khỏi đoạn găng.

+ giả thiết : - 2 chương trình song song.- khả năng phục vụ của tài nguyên găng là 1.- mỗi chương trình chỉ có một đoạn găng.- các chương trình lặp vô hạn, nếu có kết thúc thì kết thúc ngoài đoạn

găng.+ thực hiện : mỗi chương trình dùng một byte cho bộ nhớ chung để làm khóa, khi vào

đoạn găng byte này được gán bằng 1.Khi sử dụng xong tài nguyên găng thì byte đượcgán bằng 0.Khi chuẩn bị vào đoạn găng mỗi chương trình phải kiểm tra khóa của chươngtrình khác , nếu có byte = 1 => phải chờ cho đến khi byte = 0 thì mới vào kiểm tra. dùng sơ đồ nguyên lý :Var turn : integer ;

 par begin

1

Page 2: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 2/26

Chương trình 1 Chương trình 2RepeatWhile ( turn <> 1 ) do ;Vao doan gang 1 ;Turn : = 2 ;Thuc hien cong viec khac 1 ;Until false ;

RepeatWhile ( turn <> 2 ) do ;Vao doan gang 2 ;Turn : = 1;Thuc hien cong viec khac 2 ;Until false ;Par end ;End;

 Nếu công việc khác mà ngắn => 2 chương trình vẫn phải chờ nhau , mặc dù tài nguyên

găng không được sử dụng.Dùng 2 biến C1 , C2 cho 2 chương trình và thực hiện như sau :var C1 , C2 : integer ; beginC1:= 0 ; C2:= 0; par begin

Chương trình 1 Chương trình 2RepeatWhile ( C2 > 0 ) do ;C1:= 1 ;Vao doan gang 1 ;

C1:=0 ;Thuc hien cong viec khac 1 ;Until false ;

RepeatWhile ( C1 > 0 ) do ;C2:= 1 ;Vao doan gang 2 ;

C2:= 0 ;Thuc hien cong viec khac 2 ;Until false ;Par end ;End ;

Ưu điểm : không đòi hỏi công cụ đặc biệt và có thể sử dụng bất kỳ cho các loại máy tùyý.có thể vận dụng phát huy tài nguyên. Nhược điểm :

* Giải thuật Dekkensử dụng 3 biến C1 , C2 , ttvar C1 , C2 , tt : integer ;

BeginChương trình 1 Chương trình 2

2

Page 3: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 3/26

RepeatC1:= 1 ;While ( C2 = 1) do;BeginIf ( tt =2 ) then begin

C1:= 0 ;While (tt = 2) do ;C1:=1 ; end ;End;Vao doan gang 1 ;C1:= 0 ; tt:= 2 ;Thuc hien cong viec khac 1;Until false ;

RepeatC2:= 1;While ( C1 = 1) do ;BeginIf ( tt = 1) then begin

C2:= 0 ;While (tt = 1) do ;C2:= 1 ; end ;End ;Vao doan gang 2 ;C2:= 0 ; tt:= 1;Thuc hien cong viec khac 2;Until false ;Par end ;End ;

 Nhược điểm : phức tạp, tỉ lệ, số lượng chương trình.* Phương pháp kiểm tra và xác lập ( test and set )Dùng lện TS cho phép thực hiện nhiều công việc liên tục, các công việc này tạo thành hệlệch nguyên tố không chỉ thực hiện 1 công việc.Procedure TS var local : integer ;Beginlocal := global ;global := 1 ;end; Nguyên lý :

- 2 lệnh trên được thực hiện liên tục không chia rẽ .

- Mỗi chương trình sử dụng local riêng của nó và biến global của toàn chươngtrình.Quá trình TS được thực hiện theo sơ đồ sau :var lc1 , lc2 : integer ;global : integer ;Beginglobal := 0 ; par begin

Chương trình 1 Chương trình 2Repeatlc1 := 1 ;

while lc1 := 1 do TS ( lc1 ) ;vao doan gang 1;global := 0 ;thuc hien cong viec khac 1 ;until false ;

Repeatlc2 := 1 ;

while lc2 := 1 do TS (lc2 ) ;vao doan gang 2 ;global := 0 ;thuc hien cong viec khac 2 ;until false ; par end ;end ;

3

Page 4: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 4/26

Ưu điểm : khắc phục được độ phức tạp của thuật toán vì không phụ thuộc vào số lượngchương trình Nhược điểm : vẫn còn hiện tượng chờ đợi tiếp tục.* Phương pháp đèn báo- Nguyên lý : hệ thống sử dụng một biến đèn báo nguyên đặc biệt gọi là Semaphore (S).

Ban đầu S nhận giá trị bằng khả năng phục vụ tài nguyên găng.Hệ thống có 2 thao táctrên S là : P(S) và C(S). Mỗi lệnh này thực hiện 2 công việc 1 cách liên tục , các côngviệc trong các lệnh này không được chia rẽ.+ P(S) thực hiện 2 công việc : - giảm S = S -1 .

- kiểm tra S < 0 => chương trình xếp hàng+ V(S) thực hiện 2 công việc : - tăng S = S + 1

- kiểm tra S ≤ 0 => kích hoạt chương trình đang xếp hàng.Sơ đồ :var S : integer ; beginS := 1 ;

 par begin chương trình 1 chương trình 2repeatP(S)vao doan gang 1 ;V(S)thuc hien cong viec khac 1 ;until false ;

repeatP(S)vao doan gang 2;V(S)thuc hien cong viec khac 2 ;until false ; par end ;end ;

 

Ưu điểm : chống được hiện tượng chờ đợi tích cực* Tài nguyên găng :là tài nguyên mà trong một khoảng thời gian nhất định chỉ phục vụ hợp lý cho một số hữuhạn các chương trình => được gọi là tài nguyên găng.Đoạn găng là đoạn chương trình sử dụng tài nguyên găng còn lại được gọi là chỗ hẹp.

Trong khoảng thời gian tài nguyên sử dụng tiến trình thì gọi là chương trình găng.2) Trình bày các phương pháp phân trang, phân đoạn bộ nhớ, các chiến lược quản lýbộ nhớ 2.1 – Cấu trúc phân đoạn :Chương trình được biên tập từng modun độc lập riêng rẽ, kết quả tập hợp chương trình làmột bảng điều khiển cho biết độ dài mỗi modun và chương trình sử dụng modun nào,

 bảng điều khiển có tên Segment Control Block (SCB) .Hệ thống nạp tiếp các modun mới khi bộ nhớ còn đủ chỗ trống, nếu thiếu bộ nhớ sẽ đưa bớt ra ngoài một số modun. Nhược điểm : hiệu quả sử dụng bộ nhớ phụ thuộc vào cách phân chia chương trình thànhcác modun độc lập . Nếu tồn tại vài modun có độ dài lớn => hiệu quả sử dụng bộ nhớ thấp.Cấu trúc này chỉ áp dụng được khi bộ nhớ được quản lý theo kiểu phân đoạn2.2 – Cấu trúc phân trang :

4

Page 5: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 5/26

chương trình được tập hợp như trong tập hợp cấu trúc tuyến tính, do đó được phân thànhnhiều phần bằng nhau gọi là các trang. Sau khi biên tập ta được bản quản lý trang với mỗi phần tử ứng với một trang chương trình.Đặc điểm : chỉ phát huy được hiểu quả khi bộ nhớ được quản lý theo chiến lược phântrang.

2.3 – Chiến lược quản lý bộ nhớ :2.3.1 chiến lược chương cố địnhkhi khởi động bộ nhớ chính được chia thành nhiều phần gọi là các chương,chương trìnhnào có kích thước nhỏ hơn hoặc bằng kích thước của chương thì được nạp vào chươngđó. Nếu chương trình có kích thước lớn hơn thì phải dùng cơ chế Overlay.Đặc điểm : có thể phân mảnh nội* Thay thế :khi kích thước các chương trình bằng nhau thì :

- Nếu còn chương trống thì chương trình được nạp vào.- Nếu không còn chương trống thì phải thực hiện cơ chế Swapin

Khi kích thước các chương khác nhau :- Giải pháp 1 : gán mỗi chương trình vào chương nhỏ nhất hợp với nó,như vậy mỗichương có một hàng đơi tương ứng.

- Giải pháp 2 : dùng một hàng đợi chung cho mọi chương thì hệ thống phải lựachọn chương nhỏ nhất hợp với nó.

2.3.2. Chiến lược chương động- số lượng và kích thước các chuông không cố định, mỗi chương trình được cấp phátchính xác dung lượng cần thiết sẽ tránh được sự phân mảnh nội, nhưng lại xuất hiện hiệntượng phân mảnh ngoại.- chiến lược thay thế :+ chiến lược Best-fit : chọn khối nhớ trống nhỏ nhất.+ chiến lược First – fit : chọn khối nhớ trống đầu tiên từ đầu bộ nhớ.+ chiến lược Next –fit : chọn khối nhớ trống phù hợp đầu tiên.+ chiến lược worst – fit : chọn khối nhớ trống lớn nhất2.3.3 Chiến lược phân trang.- Chiến lược này cho phép không gian địa chỉ thực hiện của chương trình có thể.- Bộ nhớ thực: Khối C bằng nhau, mỗi khối được gọi là Frame, kích thước 512 B đến

16 MB- Bộ nhớ loogic: là tập hợp mọi địa chỉ mà 1 chương trình có thể sinh ra, được chia thànhkhối cố định có kích thước bằng nhau, mỗi khối được gọi là Page.- Do đó HĐH phải thiết lập 1 bảng phân trang (Page table) để ánh xạ địa chỉ logic thành 1địa chỉ thực. Mỗi chương trình cí 1 bảng phân trang được quản lý bằng 1 con trỏ lưu trữtrong1 khối quản lý chương trình (PCB).- Đặc điểm: Cơ chế phân trang làm cho bộ nhớ bị phân mảnh nội nhưng khắc phục được phân mảnh ngoại* Cách chuyển đổi địa chỉ :

- địa chỉ logic

 p : page number d : page offset ( độ lệch hay độ rời của ngăn nhớ ).Giả sử d có độ dài m bit

 p d

5

Page 6: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 6/26

=> kích thước trang = 2m

kích thước trường p = n- m bit có độ tối đa 2n – m trang.  bảng phân trang chia thành các trang tương ứng , nội dung ứng với các frame của

địa chỉ vật lý.

 f d

page table bộ nhớ vật lý

VD : bộ nhớ vật lý có kích thước = 32 byte , mỗi trang có kích thước = 4 byteBảng phân trang :

5612

Bộ nhớ logic : bộ nhớ logic :0 0

6

CPU P d

 f 

Page 7: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 7/26

1 12 23 34 45 5

6 67 78 89 910 1011 1112 1213 1314 1415 1516 16

171819202122232425262728293031

+ Địa chỉ logic 1 : ta có 0/4 = 0 dư 0 => độ rời = 0 , f = 0 => trang 5=> 5 x 4 + 0 = 20

+ Địa chỉ logic 2 : 2/4 = 0 dư 2 => độ rời = 2 , f = 0 => trang 5=> 5 x 4 + 2 = 22

+ Địa chỉ logic 3 : 9/4 = 2 dư 1 => độ rời = 1 , f = 2 => trang 1=> 1 x 5 + 1 = 5

* Hiện thực bảng phân trang- Bảng phân trang được lưu trữ trong bộ nhớ chính , mỗi chương trình được HĐH cấpcho 1 bange phân trang, do nằm trong bộ nhớ chính nên nó phải có 1 thanh ghi trở tới bảng phân trang.Thanh ghi trở tới bảng này gọi là trở bảng phân trang.( PTPR )Để tăng tốc độ truy cập người ta dùng các thanh ghi liên kết hay bộ nhớ kết hợp gọi là(TLB) – Trans lation look – aside Buffer.- Cấu trúc của TLB là bảng bao gồm nhiều phần tử , mỗi phần tử có 2 trường . Mộttrường là p là trường logic , 1 trường là f là trường vật lý tương ứng.

7

Page 8: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 8/26

p f 

Bộ nhớ vật lýTLB

 

 page table

* Bảo vệ bộ nhớ :Để bảo vệ bộ nhớ => gắn frame với các bit bảo vệ, các bit này nằm trong bảng phân

trang biểu thị các thuộc tính chỉ đọc,ghi, chỉ thục thi.Ngoài các bit bảo vệ người ta còn thêm bit hợp lệ hay không hợp lệ, bit này gọi là

valid => cho biết trang đó là trang của chương trình, đó là trang hợp lệ, nếu là invalid =>đó là trang không hợp lệ hay trang đó không là trang của chương trình.* Bảng phân trang đa mứcKhông gian địa chỉ logic rất lớn ( 32 – 64 bit)VD : 32 bit mã hóa được 232 = 4 G địa chỉ có 220 = 1 M mục ( trang )

Giả sử 1 trang có kích thước 4 KB = 212 Ggiả sử 1 mục = 4 byte

= > kích thước bảng phân trang : 4 Mb => lãng phíGiải pháp : thực hiện phân trang đa mức bằng cách phân trang lại được phân trang tiếp,sau khi phân trang vẫn tốn bộ nhớ nên chỉ giữ lại những trang cần thiết ( 4 M => 1K trang ).

-

P1 : cho biết chỉ số trang trong bảng phân trang mức 1P2 : cho biết chỉ số trang trong bảng phân trang mức 2 Như vậy khi truy cập bộ nhớ thì :

P1 P2 d

8

Pi f i

Page 9: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 9/26

P2 P FP1

Outer page các bảng phân trang mức 2 bộ nhớ vật lý

- Ở bảng phân trang mức 1 có 2P1 mục- Ở bảng phân trang mức 2 có 2P2 mụcChia sẻ các trang nhớ :1 chương trình có thể dùng chung nhiều phần nhớ khác nhau.2.3.4. Cơ chế phân đoạn- Trong thực tế 1 chương trình được cấu thành bởi nhiều đoạn , mỗi đoạn là một đơnvị logic của chương trình.- Khi biên dịch thì trình biên dịch cũng tự động tạo thành các đoạn, khi được gọi thìhệ thống sẽ gán cho mỗi đoạn 1 định dạnh (ID) , mỗi đoạn sẽ được gán một số riêng biệt.

- Địa chỉ logic là một tập hợp các đoạn và mỗi đoạn có định dạnh và kích thước riêng biệt. Một địa chỉ logic sẽ xác định bởi các tên đoạn và độ rời.- Các tham số :  base : địa chỉ cơ sở. ; bảng phân đoạn :limit : độ dài của đoạn

- Thanh ghi cơ sở của bảng phân đoạn ( STBR ) cho ta biết địa chỉ cơ sở của bảng phân đoạn.

- Thanh ghi chỉ số lượng của đoạn (STLR) , thanh ghi này cho biết số lượng củachương trình, do đó khi truy cập đến đoạn S , đoạn S chỉ hợp lệ nếu S < STLR.

VD : một chương trình có 5 đoạn , đoạn 1 chứa procedure.

Bảng phân đoạn :

limit base

limit base1000 1400400 6300400 4300

1100 32001000 4700

9

CPU P1 P2 d

Page 10: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 10/26

 0123

4 1400

 

3200S0

 S3 4300

4700 

S1 

S2 S4 63006300

Không gian logic

Segment - table Không gian vật lý+ Khi truy cập :

S

địa chỉ vật lýyes

 

 No

Lỗi

 

15 12 11 0VD : địa chỉ :

10

 

 procedure

Symbol table

stack main program

function

procedure

function

stack 

 Symboltable

 

mainprogram

  limit base

0001 0010 1111 0000

Page 11: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 11/26

S# dlimit base

1

Tìm địa chỉ vật lý ?

địa chỉ vật lý

* Chia sẻ đoạn :

 

P1

 

P2

* Kết hợp phân trang và phân đoạn nhằm kết hợp các ưu điểm , hạn chế các khuyết điểmcủa từng phương pháp.- Phân trang : khuyết điểm : tách rời tầm nhìn của người sử dụng với địa chỉ logic.- Phân đoạn : khuyết điểm : khi kích thước lớn thì ta có thể không nạp được vào bộ nhớ.=> kết hợp lại bằng cách phân trang các đoạn => đó được gọi là cơ chế Segmentationwith paging.Để kết hợp => trong mỗi chương trình phải có :+ 1 bảng phân đoạn.+ Ứng với mỗi đoạn lại có một bảng phân trang => 1 chương trình có nhiều bảng phântrang.

limit base1000 4300500 6200

limit base1000 4300400 6700

11

0111 1001 1110 0010 0000 0010 0000

0010 0011 0001 0000

Program

Data

Program

Data

Page 12: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 12/26

+ 1 địa chỉ logic bao gồm :

+ S# : Segement number : cho biết nó nằm ở đoạn nào.+ P# : Page number : cho biết nó nằm ở trang nào trong đoạn.+ Offset : độ lệch hay độ rời để xác định độ rời trong frame.

VD : Bảng phân trang f 0Bảng phân đoạn

0 f 1 1 f 2

2 f 3

3 f 4

4 f 5

15 f 6

f 7

f 8

10 f 9135

f 10

190f 11

* Bảo vệ bộ nhớ :Để bảo vệ tốt bộ nhớ :trong bảng phân đoạn người ta thêm vào các bit chứa các thông tin bảo vệ và chia sẻ.

Bảng phân đoạn

Bảng phân trang

P : PresentM : Modified.

 BÀI TẬP 

1.Bài tập về Deadlock ( tắc nghẽn )

S# P# offset

12

3279

1568

 

0 3 10

 

Page 13: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 13/26

* Bài toán kiểm tra xem hệ thống có ở trạng thái an toàn không ?Trạng thái an toàn là trạng thái mà khi có hệ thống đó tồn tại 1 chuỗi con toán.Vd1 : 1 hệ thống có 3 chương trình : P0 , P1, P2 .ở thời điểm t0 ; TN : băng từ (12 )Chương trình :

Chương trình Tối đa Đường giữP0 10 5P1 4 2P2 9 2

Hỏi hệ thống này có an toàn không ?Bài giải :Tổng số TN = 12 , chương trình đang giữ 9 còn lại 3 TN

Chuỗi (P0 , P1, P2 ) không an toàn(P0 ,P2 , P1) không an toàn(P1 ,P0, P2 )  an toàn

hệ thống đang ở trạng thái an toàn.Vd2 :

P0 10 5P1 4 2P2 9 3

Ta có : tổng = 12 ,đường giữ 10 còn lại 2

chuỗi (P0 , P1, P2 ) không an toànchuỗi (P0 ,P2 , P1) không an toànchuỗi (P1 ,P0, P2 )  không an toànchuỗi ( P1, P2,P0 ) không an toànchuỗi ( P2,P0,P1) không an toànchuỗi (P2 ,P1,P0) không an toàn hệ thống không an toàn

* Giải thuật tìm một chuỗi an toànB1 : work , finish , 2 vecto có độ dài m,nWork = available

Finish[i] = false ∀ iB2 : tìm i thỏa mãn : Finish[i] = false

Need i ≤ work ; ( Need i : hàng i của Need ) Nếu không ∃ i thỏa mãn điều kiện trên => B4B3 : work = work + allocation iFinish[i] = true ;Quay về B2 .B4 : nếu finish[i] = true ∀ i => hệ thống ở trạng thái an toàn

13

Page 14: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 14/26

VD1 : có 5 chương trình P0 ,P1,P2,P3,P4 có 3 TN : A,B,C trong đó A = 10 , B = 5, C = 7Tại thời điểm t0 :

Available Max allocation Need work A B C A B C A B C A B C A B C

P0 3 3 2 7 5 3 0 1 0 7 4 3 3 3 2P1 3 2 2 2 0 0 1 2 2 5 3 2P2 9 0 2 3 0 2 6 0 0 7 4 3P3 2 2 2 2 1 1 0 1 1 7 5 3P4 4 3 3 0 0 2 4 3 1 10 5 5

7 2 5 10 5 7

B1 :work = available = { 3 ,3 ,2 }Finish[i] = false ∀ i

B2 :

 Need ≤ work => i = 1 => finish[1] = true => work = work + allocation 1i = 3 => finish[3] = true => work = work + allocation 3i = 0 => finish[0] = true => work = work + allocation 0i = 2 => finish[2] = true => work = work + allocation 2i = 4 => finish[4] = true => work = work + allocation 4

=> hệ thống đang ở trạng thái an toàn=> chuỗi an toàn (P1,P3, P0,P2,P4)VD2 :Một hệ thống có 4 TN và cùng loại có 3 chương trình,mỗi chương trình cần tối đa 2 TN.Hãy chứng tỏ hệ thống không bị Deadlock ( nguyên A = 4 )

Max allocation ( giả sử có các trường hợp )P0 2P1 2

  P2 2

GIẢI :- Trường hợp 1 :

Available Max Allocation Need Work P0 0  2 2 0 0P1 2 2 0 2P2 2 0 2 4 

4 4

work = available = 0 . finish[i] =false ∀ i.

 Need ≤ work : i = 0 => finish[0] = true => work = work + allocation 0 ;i = 1 => finish[1] = truei = 2 => finish[2]= true

2 1 1 0 0 0 0 0

2 2 1 2 1 0 1 1

0 1 1 0 0 0 2 1

14

Page 15: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 15/26

=> hệ thống đang ở trạng thái an toàn.=> chuỗi an toàn (P0,P1,P2) ;

- Trường hợp 2 : 

Available Max allocation need work 

P0 0 2 1 1 0P1 2 2 0 2P2 2 1 1 3

4 4B1 :Work = available = 0 ;Finish = false ∀ i.B2 : need ≤ work : i =1 => finish[1] = true .

i = 0 => finish[0] = truei = 2 => finish[2] = true.

=> hệ thống đang ở trạng thái an toàn.

=> chuỗi an toàn (P1, P0, P2).* Các trường hợp khác làm tương tự .

* GIẢI THUẬT CẤP PHÁT TÀI NGUYÊN 

Vecto request (n x m) request[i, j] = k Tức là chương trình Pi cần thêm k thực thể R  j.Cấp phát qua các bước :B1 : request i ≤ need i => chuyển sang B2, nếu không thì báo lỗi.B2 : request i ≤ available => chuyển sang B3 nếu không thì Pi phải chờ.B3 : giả sử cấp phát để thỏa mãn yêu cầu của Pi thì lúc đóAvailable = available – request i ;Allocation = allocation i + request i ; Need i = need i – request i ;Tiếp tục áp dụng giải thuật kiểm tra trạng thái an toàn,nếu trạng thái là an toàn thì TNđược cấp phát thực sự cho Pi ,nếu không thì Pi phải đợi và khôi phục trạng thái hệ thống bằng cách : available = available + request i ;

Allocation = allocation i – request i ;Need i = need i + request i ;

Vd : giả sử hệ thống đang ở trạng thái :Available Max allocation need

P0 3 3 2 7 5 3 0 1 0 7 4 3P1 3 2 2 2 0 0 1 2 2P2 9 0 2 3 0 2 6 0 0P3 2 2 2 2 1 1 0 1 1P4 4 3 3 0 0 2 4 3 1

7 2 5a) nếu P1 yêu cầu các TN( 1, 0 ,2) có được thỏa mãn không ?

15

Page 16: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 16/26

Available Max allocation need requestP0 3 3 2 7 5 3 0 1 0 7 4 3P1 3 2 2 2 0 0 1 2 2 1 0 2P2 9 0 2 3 0 2 6 0 0

P3 2 2 2 2 1 1 0 1 1P4 4 3 3 0 0 2 4 3 17 2 5

GIẢI :B1 : request 1 ≤ need 1 => B2.B2 : request 1 ≤ available => B3.B3 : giả sử cấp phát để thảo mãn yêu cầu của Pi thì :Available = available - request 1 = 2 3 0 ;Allocation = allocation 1 + request 1 = 3 0 2 ; Need = need 1 – request 1 = 0 2 0 ;

Áp dụng giải thuật kiểm tra trạng thái an toàn ,co bảng mới :Available Max allocation need request work P0 2 3 0 7 5 3 0 1 0 7 4 3 2 3 0P1 3 2 2 3 0 2 0 2 0 1 0 2 5 3 2P2 9 0 2 3 0 2 6 0 0 7 4 3P3 2 2 2 2 1 1 0 1 1 7 5 3P4 4 3 3 0 0 2 4 3 1 10 5 5

7 2 5 10 5 5Có work = available = {2 ,3 ,0}

Finish[i] =false ∀ i. Need i ≤ work i = 1 => finish[1] = true.i = 3 => finish[3] = true.i = 0 => finish[0] = true.i = 2 =>finish[2] = true.i = 4 => finish[4] = true.=> hệ thống đang ở trạng thái an toàn=> hệ thống cấp phát tài nguyên cho P1. b) nếu P4 yêu cầu (3, 3, 0) có được thỏa mãn không ?

Available Max allocation need requestP0 3 3 2 7 5 3 0 1 0 7 4 3P1 3 2 2 2 0 0 1 2 2P2 9 0 2 3 0 2 6 0 0P3 2 2 2 2 1 1 0 1 1P4 4 3 3 0 0 2 4 3 1 3 3 0

7 2 5GIẢI :B1 : request 4 ≤ need 4 ;B2 : request 4 ≤ available ;B3 : giả sử cấp phát để thỏa mãn yêu cầu của P4 thì :

16

Page 17: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 17/26

available = available – request 4 = 0 0 2available = allocation 4 + request 4 = 3 3 2need = need 4 – request 4 = 1 0 1áp dụng giải thuật kiểm tra trạng thái an toàn => có bảng mới :

Available Max allocation need request work 

P0 0 0 2 7 5 3 0 1 0 7 4 3 0 0 2P1 3 2 2 2 0 0 1 2 2P2 9 0 2 3 0 2 6 0 0P3 2 2 2 2 1 1 0 1 1P4 4 3 3 3 3 2 1 0 1 3 3 0 không ∃ need ≤ work => hệ thống ở trạng thái không an toàn => P4 không được

cấp phát tài nguyên => P4 phải đợi và khôi phục trạng thái hệ thống bằng cách :available = available + request 4 = 3 3 2allocation = allocation 4 – request 4 = 0 0 2need = need 4 + request 4 = 4 3 1 hệ thống trở về trạng thái ban đầu

Available Max allocation needP0 3 3 2 7 5 3 0 1 0 7 4 3P1 3 2 2 2 0 0 1 2 2P2 9 0 2 3 0 2 6 0 0P3 2 2 2 2 1 1 0 1 1P4 4 3 3 0 0 2 4 3 1

7 2 5

* GIẢI THUẬT PHÁT HIỆN DEADLOCK 

B1 : work , finish

work = availablefinish[i] =false ∀ iB2 : tìm i thỏa mãn : finish[i] = false

request i ≤ work nếu không ∃ i thỏa mãn yêu cầu trên => B4;B3 : work =work + allocation i

rồi quay về B2finish[i] = true

B4 : nếu ∃ i với finish[i] = false => hệ thống bị Deadlock  chương trình Pi bị deadlock.

VD : có 5 chương trình P0 ,P1,P2,P3,P4 và 3 tài nguyên A(7) ,B(2) và C(6)Available requestP0 0 1 0 0 0 0P1 2 0 0 2 0 2P2 3 0 3 0 0 0P3 2 1 1 1 0 0P4 0 0 2 0 0 2hỏi hệ thống có bị deadlock không ?

17

Page 18: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 18/26

GIẢI :

allocation request available work P0 0 1 0 0 0 0 0 0 0 0 0 0P1 2 0 0 2 0 2 0 1 0

P2 3 0 3 0 0 0 3 1 3P3 2 1 1 1 0 0 5 2 4P4 0 0 2 0 0 2 5 2 6

7 2 6 7 2 6B1 :

work = availablefinish[i] =false ∀ i.

B2 : request i ≤ work i = 0 => finish[0] = true => work = work + allocation 0i = 2 => finish[2] = true => work = work + allocation 2

i = 3 => finish[3] = true => work = work + allocation 3i = 4 => finish[4] = true => work = work + allocation 4i = 1 => finish[1] = true => work = work + allocation 1=> chuỗi (P0,P2,P3,P4,P1) an toàn => hệ thống không bị deadlock * Nếu P2 yêu cầu thêm 1 thực thể C thì hệ thống có bị deadlock không ?

allocation request available work P0 0 1 0 0 0 0 0 0 0 0 0 0P1 2 0 0 2 0 2 0 1 0P2 3 0 3 0 0 1P3 2 1 1 1 0 0P4 0 0 2 0 0 2

7 2 6B1 : work = available

finish[i] = false ∀ iB2 : i = 0 => finish[0] = truekhông có request nào nhỏ hơn => hệ thống bị deadlock chương trình bị deadlock là (P1,P2,P3,P4) II-BÀI TẬP VỀ ĐỊNH THỜI GIAN CPU 1) giải thuật first come first servered ( chương trình đưa ra yêu cầu trước sẽ đượccấp phát CPU trước)- dùng danh sách FIFO1 chương trình được thực thi cho đến khi phải chờ hay kết thúc.VD : giả sử tại một thời điểm có 3 chương trình : P1,P2,P3

dùng giải thuật FCFS

P1 P2 P3

0 24 27 30thời gian chờ trung bình :

18

Page 19: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 19/26

P1 = 0 msP2 = 24 msP3 = 27 ms

=>0 24 27

3

+ += 17 ms

- nếu thứ tự yêu cầu là P2,P3,P1

P2 P3 P1

0 3 6 30thời gian đợi của các chương trình : P1 = 6

P2 = 0P3 = 3

thời gian chờ trung bình :6 0 3

3

+ += 3 ms

đặc điểm FCFS : không công bằng với chu kỳ CPU ngắn do các chương trình này phảichờ trong thời gian dài,giải thuật này không phù hợp với các hệ thống chiwa sẻ thời

gian,thường được sử dụng trong các hệ thống bó.2) giải thuật shortest job first (SJF)Nguyên lý : gán cho mỗi chương trình chiều dài của chu kỳ CPU tiếp theo mà khi CPUsắn sàng thì nó được gán cho chương trình có chu kỳ CPU ngắn nhất.VD :

Chương trình Thời điểm đến Thời gian xử lý

P1 0.0 7P2 2.0 4P3 4.0 1P4 5.0 4

GIẢI :lưu đồ Gantt theo giải thuật SJF

P1 P3 P2 P3

thời gian đợi trung bình : P1 = 0 ; P3 = 3 ; P2 = 6 ; P4 = 7

0 3 6 7

4

+ + += 4 ms

Tính theo FCFS 

P1 P3 P2 P3

0 7 11 12 16

thời gian chờ trung bình : P1 = 0 , P2 = 5 , P3 = 7 , P4 = 7=>

0 5 7 7

4

+ + +

= 4,75 ms

Ưu điểm : tối ưu trong công việc giảm thời gian đợi chu kỳ. Nhược điểm : phải ước lượng thời gian cần CPU tiếp theo.Độ ưu tiên : công việc ngắn được ưu tiên trước.3) Giải thuật Shortest Remaining Time First (SRTF)Lưu đồ :

19

Page 20: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 20/26

 P1 P2 P3 P2 P4 P1

0 2 4 5 7 11 16thời gian chờ trung bình : P1 = 9 ; P2 = 1 ; P3 = 0 ; P4 = 2

=> 9 1 0 24

+ + + = 3 ms

Đặc điểm : tránh được trường hợp các chương trình có thời gian dài độc chiếm CPU , cóthời gian hoàn thành tốt hơn giải thuật SJFĐộ ưu tiên : ưu tiên chương trình có thời gian thực thi ngắnquản lý thời gian thực thi còn lại của các chương trình.4) Giải thuật Round Robin (RR) :VD :

Chương trình Thời gian thực hiệnP1 24P2 3

P3 3TQ = 2.P1 P2 P3 P1 P2 P3 P1 P1 … … P1

thời gian đợi trung bình : P1 = 6 ; P2 = 6 ; P3 = 7

=>6 6 7

3

+ +≈ 6,33 ms

VD2 : 

P1 53P2 17P3 68P4 24

TQ = 20

 

0 20 37 57 77 97 117 121 134 154 162

=> thời gian chờ trung bình : P1 = 81 ; P2 = 20 ; P3 = 94

=>

81 20 94

3

+ +

= 65 ms

 

P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

20

Page 21: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 21/26

BÀI TẬP CHUNG CHO CÁC GIÁ TRỊ ĐỊNH THỜI CPU

Bt1:

Chương trình Thời gian thực hiện Thời gian đếnP1 10 0

  P2   29 0P3   3   0P4   7 0

  P5 12 0QT=10xét các giải thuật FCFS, SJF, SRTF, RR.Giải thuật nào cho thời gian chờ đợi trung bình nhỏ nhất , thời gian hoàn thành , thời gianđáp ứng .Giải :- Giải thuật FCFS

lưu đồ :P1 P2 P3 P4 P5

0 10 39 42 49 61thời gian chờ đợi trung bình : P1 = 0 ; P2 = 10 ; P3 = 39 ; P4 = 42 ; P5 = 49 ;

=>0 10 39 42 49

5

+ + + += 28 ms

Thời gian hoàn thành : P1 = 10 ; P2 = 39 ; P3 = 42 ; P4 = 49 ; P5 =61

=>10 39 42 49 61

5

+ + + += 40,2 ms

Thời gian đáp ứng : P1 = 0 ; P2 = 10 ; P3 = 39 ; P4 = 42 ; P5 = 49 ;=>

0 10 39 42 49

5

+ + + += 28 ms.

- Giải thuật SJF :Lưu đồ :

P1 P3 P4 P5 P2

0 10 13 20 32 61Thời gian đợi trung bình : P1 = 0 ; P2 = 32 ; P3 = 10 ; P4 = 13 ; P5 = 20 .

=>0 32 10 13 20

5

+ + + += 15 ms

Thời gian hoàn thành : P1 = 10 ; P2 = 61 ; P3 = 13 ; P4 = 20 ; P5 = 32.

=>10 61 13 20 32

5

+ + + +

= 27,2 ms.

Thời gian đáp ứng : P1 = 0 ; P2 = 32 ; P3 = 10 ; P4 = 13 ; P5 = 20 .

=>0 32 10 13 20

5

+ + + += 15 ms

- Giải thuật SRTF :lưu đồ : giống giải thuật SJF do thời điểm đến cùng bằng nhau.

21

Page 22: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 22/26

- Giải thuật RR :Lưu đồ :

P1 P2 P3 P4 P5 P2 P5 P2

0 10 20 23 30 40 50 52 61

Thời gian chờ trung bình : P1 = 0 ; P2 = 32 ; P3 = 20 ; P4 = 23 ; P5 = 40 .=>

0 32 20 23 40

5

+ + + += 23 ms

Thời gian tiến hành : P1 = 10 ; P2 = 61 ; P3 = 23 ; P4 = 30 ; P5 = 52.

=>10 61 23 30 52

5

+ + + += 35,2 ms

Thời gian đáp ứng : P1 = 0 ; P2 = 10 ; P3 = 20 ; P4 = 23 ; P5 = 30.

=>0 10 20 23 30

5

+ + + += 16,6 ms

BT2 : 

Chương trình Thời gian đến Thời gian xử lýP1 0.0 8P2 0.4 4P3 1.0 1

Tính thời gian đợi,thời gian hoàn thành, thời gian đáp ứng. ( bằng các giải thuật FCFS ,SJF, SRTF , RR )GIẢI :- Giải thuật FCFS :Lưu đồ : 

P1 P2 P3

0 8 12 13Thời gian đợi trung bình : P1 = 0 ; P2 = ( 8 – 0,4) = 7,6 ; P3 = 11.

=>0 7,6 11

3

+ += 6,2 ms

Thời gian hoàn thành : P1 = 8 ; P2 = (12-0,4) = 11,6 ; P3 = 12.

=>8 11,6 12

3

+ += 10,5 ms

Thời gian đáp ứng : P1 = 0 ; P2 = ( 8 – 0,4) = 7,6 ; P3 = 11.

 =>

0 7,6 11

3

+ += 6,2 ms

- Giải thuật SJF :Lưu đồ :

P1 P3 P2

0 8 9 13Thời gian chờ đợi trung bình : P1 = 0; P2 = (9=0,4) = 8,6 ; P3 = 7

22

Page 23: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 23/26

=>0 8,6 7

3

+ += 5,2 ms

Thời gian hoàn thành : P1 = 8 ; P2 = (13- 0,4) = 12,6 ; P3 = 8

=>8 12,6 8

3

+ += 9,53 ms

Thời gian đáp ứng : P1 = 0; P2 = (9=0,4) = 8,6 ; P3 = 7

=>0 8,6 7

3

+ += 5,2 ms

- Giải thuật SRTF :Lưu đồ : 

P1 P2 P3 P2 P1

0 0,4 1 2 5,4 13Thời gian chờ trung bình : P1 = 5 ; P2 = 1 ; P3 = 0.

=>5 1 0

3

+ += 2 ms

Thời gian hoàn thành : P1 = 13 ; P2 = 5 ; P3 = 1.

=>13 5 1

3

+ += 6,3 ms

Thời gian đáp ứng : P1 = 0 ; P2 = 0 ; P3 = 0.

=>0 0 0

3

+ += 0 ms

- Giải thuật RR :Lưu đồ :

P1 P2 P3 P1 P2 P1 P2 P1 P2 P1 P1 P1 P1

0 1 2 3 4 5 6 7 8 9 13

Thời gian chờ trung bình : P1 = 5 ; P2 = 4,6 ; P3 = 1

=>5 4,6 1

3

+ += 5,33 ms

Thời gian hoàn thành : P1 = 13 ; P2 = (9 – 0,4) = 8,6 ; P3 = 2

=>13 8,6 2

3

+ += 7,9 ms

Thời gian đáp ứng : P1 = 0 ; P2 = (1- 0,4) = 0,6 ; P3 = 1

=>0 0,6 1

3

+ += 0,53 ms

 BÀI TẬP VỀ BỘ NHỚ ẢO

- Giải thuật thay trang tối ưu ( OPT) thay trang không được sử dụng lâu nhất.VD : 1 chương trình có 5 trang nhưng chỉ được cấp phát cho 3 frame và chuỗi tham chiếutrang nhớ của nó là : 2321.5245.3252 . Khi tham chiếu

2 3 2 1 5 2 4 5 3 2 5 2

23

Page 24: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 24/26

222

 => có 3 page fault

VD2 :cho chuỗi tham chiếu các trang nhớ sau : 1234.2156.2123.7632.1236số trang cấp phát là 4

1 2 3 4 2 1 5 6 2 1 2 3 7 6 3

2 1 2 3 6

4 page fault.- Giải thuật LRU : thay thế trang không được tham chiếu lâu nhất.VD1 : cho chuỗi 2321.5245.3252 , có 3 frame

2 3 2 1 5 2 4 5 3 2 5 2

=> 4 page fault.VD2 : cho chuỗi : 1234.2156.2123.7632.1236 , cấp phát cho 4 frame

1 2 3 4 2 1 5 6 2 1 2 3 7 6 3

2 1 2 3 6

6 page fault.- Giải thuật FIFO : trang nào vào trước sẽ được thay thế trước

24

2 23

23

231

235

235

435

435

435

235

235

235

1 12

123

1234

1234

1234

1235

1236

1236

1236

1236

1236

7236

7236

7236

7

236

1

236

1

236

1

236

1

236

2 23

23

231

251

251

254

254

354

352

352

352

1 12

123

1234

1234

1234

1254

1256

1256

1256

1256

1236

1237

6237

6237

6237

6231

6231

6231

6231

Page 25: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 25/26

VD1 : cho chuỗi 2321.5245.3252 , cấp phát cho 3 frame

2 3 2 1 5 2 4 5 3 2 5 2 

6 page fault.

VD2 : cho chuỗi 1234.2156.2123.6321 , cấp phát 4 frame 

1 2 3 4 2 1 5 6 2 1 2 3 

6 3 2 1 

có 5 page fault.

- Giải thuật thay trang Clock VD1 : cho chuỗi 2321.5245.3252 , cấp phát cho 3 frame ( kí hiệu : * = Ub = 1)

2 3 2 1 5 2 4 5 3 2 

F F F F5 2

5 2

F

=> có 5 page fault.

25

2 23

23

23

1

53

1

52

1

52

4

52

4

32

4

32

4

35

4

35

2

1 12

12

3

1234

12

34

12

34

52

34

56

34

56

24

56

21

56

21

36

21

3621

3621

3621

362

2* 2*

3*2*

3*2*

3*

1*

5*

31

5*

2*

1

5*

2*

4*

5*

2*

4*

3*

24

3*

2*

4

3*

2*

5*

3*

2*

5*

Page 26: Đề cương môn hệ điều hành

8/8/2019 Đề cương môn hệ điều hành

http://slidepdf.com/reader/full/de-cuong-mon-he-dieu-hanh 26/26

VD2 : cho chuỗi 1234.2156.2123.7632.1236 , cấp phát cho 4 frame.

1 2 3 4 2 1 5 6 2 1 

2 3 7 6 3 2 1 2 3 6

có 10 page fault.

THE END

 

1* 1*

2*1*

2*

3*

1*

2*

3*

4*

1*

2*

3*

4*

1*

2*

3*

4*

5*

2

34

5*

6*

34

5*

6*

2*

4

5*

6*

2*

1*

5*

6*

2*

1*

3*

621

3*

7*

21

3*

7*

6*

1

3*

7*

6*

1

3*

7*

6*

2*

1*

762

1*

76

1*

3*

6

1*

3*

6*