23
BÀI TẬP CHƯƠNG II QUẢN LÍ TIẾN TRÌNH 1./ Xét tập hợp các tiến trình sau: Tiến trình Thời điểm vào RL Thời gian CPU Độ ưu tiên P 1 0 10 3 P 2 1 1 1 P 3 2.5 2 3 P 4 3 1 4 P 5 4.5 5 2 Hãy cho biết kết quả điều phối theo các chiến lược FCFS SJF Round Robin với q = 2 Độ ưu tiên độc quyền Độ ưu tiên không độc quyền tính thời gian chờ cho từng tiến trình và thời gian chờ trung bình trong các chiến lược trên. Giải a./ FCFS P 1 P 2 P 3 P 4 P 5 Thời gian chờ: P 1 : 0 P 2 : 10 – 1 = 9 P 3 : 11 – 2.5 = 8.5 P 4 : 13 – 3 = 10 P 5 : 14 – 4.5 = 9.5 b./ SJF P 1 P 2 P 4 P 3 P 5 Thời gian chờ trung bình = 0 1 0 1 1 1 2 1 4 1 9 P1 P 2 P 3 P 4 P 5 0 1 0 1 1 1 3 1 4 1 9 P 1 P2 P3 P4 P5

Ôn tập hệ điều hành

Embed Size (px)

DESCRIPTION

QUẢN LÍ TIẾN TRÌNHBài tập điều phối tiến trình • FCFS• SJF• Round Robin• Độ ưu tiên độc quyền• Độ ưu tiên không độc quyềnQUẢN LÍ BỘ NHỚ CHÍNHHỆ THỐNG TẬP TIN

Citation preview

Page 1: Ôn tập hệ điều hành

BÀI TẬP CHƯƠNG IIQUẢN LÍ TIẾN TRÌNH

1./ Xét tập hợp các tiến trình sau:

Tiến trìnhThời điểm vào

RLThời gian

CPUĐộ ưu tiên

P1 0 10 3P2 1 1 1P3 2.5 2 3P4 3 1 4P5 4.5 5 2

Hãy cho biết kết quả điều phối theo các chiến lược FCFS SJF Round Robin với q = 2 Độ ưu tiên độc quyền Độ ưu tiên không độc quyền tính thời gian chờ cho từng tiến trình và thời gian chờ trung bình trong các chiến lược trên.

Giảia./ FCFS

P1 P2 P3 P4 P5

Thời gian chờ:P1: 0P2: 10 – 1 = 9 P3: 11 – 2.5 = 8.5P4: 13 – 3 = 10P5: 14 – 4.5 = 9.5

b./ SJF

P1 P2 P4 P3 P5

Thời gian chờ:P1: 0P2: 10 – 1 = 9 P3: 12 – 2.5 = 9.5P4: 11 – 3 = 8P5: 14 – 4.5 = 9.5

c./ Round Robin

Thời gian chờ trung bình =

Thời gian chờ trung bình =

0 10 11 12 14 19

P1 P2 P3 P4 P5

0 10 11 13 14 19

P1 P2 P3 P4 P5

19

P1 P2 P3 P4 P5

2 120 10 143 5 7 8 16 17

Page 2: Ôn tập hệ điều hành

P1 P2 P1 P3 P4 P5 P1 P5 P1 P5 P1

Thời gian chờ:P1: 1 + 5 + 2 + 1 = 9P2: 2 – 1 = 1 P3: 5 – 2.5 = 2.5P4: 7 – 3 = 4P5: 8 + 2 + 2 – 4.5 = 7.5

d./ Độ ưu tiên độc quyền

P1 P2 P5 P3 P4

Thời gian chờ:P1: 0P2: 10 – 9 = 1 P3: 16 – 2.5 = 13.5P4: 18 – 3 = 5P5: 11 – 4.5 = 6.5

e./ Độ ưu tiên không độc quyền

P1 P2 P1 P5 P3 P1 P4

Thời gian chờ:P1: 1 + 7 = 8P2: 0P3: 9.5 – 2.5 = 7P4: 18 – 3 = 15P5: 0

2./ Cho các tiến trình sau:

Tiến trình Thời điểm vào RL Thời gian CPUP1 0 8P2 0.4 4P3 1 1

Hãy cho biết các kết quả điều phối chiến lược FCFS và SJF và thời gian chờ của từng chiến lược

Thời gian chờ trung bình =

0 10 11 16 18 19

P1 P2 P3 P4 P5

Thời gian chờ trung bình

Thời gian chờ trung bình

0 9.5 11.5 18 19

P1 P2 P3 P4 P5

1 2 4.5

Page 3: Ôn tập hệ điều hành

Giảia./ FCFS

P1 P2 P3

Thời gian chờP1: 0P2: 8 – 0.4 = 7.6P3: 12 – 1 = 11

b./ SJF

P1 P3 P2

P1: 0P2: 9 – 0.4 = 8.6P3: 8 – 1 = 7

3./ Điều phối các tiến trình sau theo chiến lược điều phối độ ưu tiên độc quyền.

Tiến trình Chiều dài CPU burst Thời điểm vào RL Độ ưu tiênP1 2 0 2P2 5 1 3P3 3 2 1P4 4 3 0

Tính thời gian chờ cho từng tiến trình và thời gian chờ trung bình.

Giải

P1 P3 P4 P2

Thời gian chờ:P1: 0 P2: 9 – 1 = 8P3: 0P4: 5 – 3 = 2

Chú ý:- FCFS vào trước thực hiện trước.- SJF tiến trình nào có chiều dài CPU burst ngắn thì thực hiện trước.

P1 P2 P3

8 130 12

Thời gian chờ trung bình

P1 P2 P3

8 130 9

Thời gian chờ trung bình

P1 P2 P3

2 140 5

P4

9

Thời gian chờ trung bình

Page 4: Ôn tập hệ điều hành

- RR mỗi tiến trình chỉ được thực hiện trong một thời gian q nhất định, các tiến trình lần lượt thực hiện xoay vòng.

- Điều phối theo độ ưu tiên độc quyền: có độ ưu tiên nhỏ thực hiện trước.- Điều phối ưu tiên không độc quyền: giống như trên nhưng nếu đang thực hiện mà xuất hiện tiến trình có

độ ưu tiên nhỏ hơn thì phải dừng để nhường cho tiến trình kia thực hiện.

BÀI TẬP CHƯƠNG IVQUẢN LÍ BỘ NHỚ CHÍNH

1./ Trong mô hình cấp phát bộ nhớ liên tục, có năm phân mảnh bộ nhớ theo thứ tự với kích thước là 600KB, 500KB, 200KB, 300KB. Giả sử có 4 tiến trình đang chờ cấp phát bộ nhớ theo thứ tự P1, P2, P3, P4. Kích thước tương ứng của các tiến trình trên là: 212KB, 417KB, 112KB, 426KB. Hãy cấp phát bộ nhớ cho các tiến trình trên theo thuật toán First-fit, Best-first, Worst-fit.

GiảiFirst – fit

P4 chờBest – fit

Worst – fit

P4 chờ2./ (đề kiểm tra) Trong mô hình cấp phát bộ nhới liên tục, có 5 phân mảnh bộ nhớ với kích thước là 200KB, 400KB, 600KB, 300KB, 500KB. Giả sử có 4 tiến trình đang chờ cấp phát bộ nhớ theo thứ tự P1, P2, P3, P4. Kích thước tương ứng các tiến trình trên là: 220KB, 250KB, 550KB, 320KB.

Hãy cấp phát bộ nhớ cho các tiến trình trên theo thuật toán First – fit và Best – fit.Giải

First – fit

P3 đang chờ

P1

600KB

426KB 174KB

500KB

200KB 300KB

600KB

212KB 112KB 276KB

500KB

200KB 300KB

600KB

212KB 112KB 276KB

500KB

417KB 83KB

200KB 300KB

417KB 83KB 88KB112KB 88KB212KB

400KB600KB300KB 500KB

220KB 250KB 320KB

417KB 83KB

Page 5: Ôn tập hệ điều hành

Best – fit

Chú ý: - First – fit :tìm vùng nhớ đầu tiên đủ lớn để chứa tiến trình- Best – fit: tìm vùng nhớ nhỏ nhất mà có thể chứa tiến trình- Worst – fit:tìm vùng nhớ lớn nhất cấp cho tiến trình.

3./ Một tiến trình được nạp vào bộ nhớ theo mô hình phân trang với kích thước trang là 1024 byte. Bảng trang như sau:

Hãy chuyển các địa chỉ logic sau thành địa chỉ vật lý: a) 1251; b) 32491

536

Giảia)a = 1521p = 1521 div 1024 = 1d = 1521 mod 1024 = 497f = 5 (dựa vào bảng trang vì p = 1)A=5*1024 + 497 = 5617

b)a = 3249p = 3249 div 1024 = 3d = 1521 mod 1024 = 177f = 6 (dựa vào bảng trang vì p = 3)A=6*1024 + 177 = 6321

4./ Một tiến trình được nạp vào bộ nhớ theo mô hình phân trang với kích thước trang là 512byte. Bảng trang như sau:

Hãy chuyển các địa chỉ logic sau thành địa chỉ vật lý: a) 689; b) 16132

653

a)a = 689p = 689 div 512 = 1d = 689 mod 512 = 177f = 6 (dựa vào bảng trang vì p = 1)A=6*512 + 177 = 3249

b)a = 1613p = 1613 div 512 = 3d = 1613 mod 512 = 77f = 3 (dựa vào bảng trang vì p = 3)A=3*512 + 77 = 1613

Chú ý: Ta có các công thức sau đây:

P = a div psd = a mod psTừ p và bảng trang để tìm fA = f*ps + d

P4

400KB600KB300KB

220KB250KB 320KB550KB

500KB

Page 6: Ôn tập hệ điều hành

BÀI TẬP CHƯƠNG VQUẢN LÍ BỘ NHỚ CHÍNH

1./ Xét chuỗi truy xuất bộ nhớ sau:1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3

Giả sử bộ nhớ vật lí có 4 khung trang. Minh họa kết quả trình thay thế trang với các thuật toán thay thế sau:a) FIFO b) OPT c) LRU

Giải

a) FIFO

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

2 2 2 2 2 6 6 6 6 7 7 3 3 3 3 3 2 2 2 2 6

4 4 4 4 4 1 1 1 1 1

b) OPT

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

2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3

4 4 6 6 6 6 6 6 6

c) LRU

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

2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 5 5 5 5 3 3 3

4 4 4 6 6 6 6 7 7

Chú ý:- Thuật toán FIFO: Trong các trang đang ở trong bộ nhớ, chọn trang chọn trang được nạp vào bộ nhớ trước

nhất để thay thế.- Thuật toán OPT: Chọn trang sẽ lậu được sử dụng nhất trong tương lai để thay thế.- Thuật toán LRU: Chọn trang lâu nhất chưa được sử dụng

Page 7: Ôn tập hệ điều hành

BÀI TẬP CHƯƠNG VIHỆ THỐNG TẬP TIN

1./ Một ổ đĩa C: được định dạng dưới dạng FAT16 gồm có 15 cluster. Kích thước của mỗi cluster là 512 byte, giả sử có bảng FAT sau:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 141 -1 0 5 6 8 7 -1 -1 -1 -1 12 -1 10 0

Thư mục gốc bắt đầu tại cluster 0, tại cluster 0 và cluster 9 xem được các entry như sau:

Hãy vẽ cây thư mục và cho biết các số liệu cluster của từng file và thư mụcGiải

- hdh: HDH- HinhAnh: HA- Pascal: PC- Hoguom: HG- Halong: HLCluster

Cây thư mục:Các số hiệu cluster của từng file và thư mục:

- hdh: 11, 12- HinhAnh: 9- Pascal: 4, 6, 7- HG: 3, 5, 8- HL: 13, 10

2./ Một ổ đĩa có 17 cluster, kích thước của mỗi cluster là 1024 byte. Giả sử 17 phần tử đầu của bảng FAT có giá trị cho ở bảng sau:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 161 2 3 -1 0 0 13 8 9 -1 0 12 -1 14 16 0 -1

Và 3 entry đầu của Root Dir có giá trị sau:

Filename Ext attrib Start cluster sizeHoguom Jpg 3 1200Halong Jpg 13 700

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14R R HG1 PC1 HG2 PC2 PC3 HG3 HA HL2 HDH1 HDH2 HL1

Filename Ext attrib Start cluster sizeMusic D 11Autoexec bat 6 4032Vidu txt R 7 3018

\

HinhAnhhdh

Pascal

Hoguom Halong

Page 8: Ôn tập hệ điều hành

a) Cho biết các cluster dữ liệu của thư mục music, tập tin autoxec.bat và vidu.txtb) Cho biết nội dung 17 phần tử đầu bảng FAT và 3 entry đầu của Root dir nếu tập tin autoexec.bat và

thêm vào tập tin boot.ini có kích thước 4318 byte.Giải

a./ Music: MSAutoexec: ATVidu: VDRoot: R

Cluster

Các số hiệu cluster của từng file và thư mục:MS: 11, 12AT: 6, 13, 14, 16VD: 7, 8, 9

b./ FAT:

Cluster

Bảng giá trị các entry như sau:

3./ Một ổ đĩa C: được được định dạng dưới dạng FAT 16 gồm có 15 cluster. Kích thước của mỗi cluster là 512 byte. Giả sử có cây thư mục sau (trong ngoăc là kích thước mớc file):

Một entry trong bảng thư mục chiếm 32 byte. Hãy lập 1 phương án lưu trữ cây thư mục trên băng cách:a./ Cho biết nội dung 15 phần tử của bảng FAT.b./ Cho biết nội dung 5 thuộc tính: filename, fileext, attribute, start cluster, sixe của entry trong thư mục

gốc và thư mục Amnhac.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16R R R R AT1 VD1 VD2 VD3 MS1 MS2 AT2 AT3 AT4

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 161 2 3 -1 5 6 10 8 9 -1 13 12 -1 -1 0 0 0

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16R R R R B1 B2 B3 VD1 VD2 VD3 B4 MS1 MS2 B5 AT3 AT4

Filename Ext attrib Start cluster sizeMusic D 11@Autoexec bat 6 4032Vidu txt R 7 3018boot ini 4 4318

\

Hanoi.cpp (1721)

Tcson.mp3 (1489)

Ntmien.mp3 (1320)

Amnhac Hello.cpp(824)

Page 9: Ôn tập hệ điều hành

Giải FAT:

Cluster

Nội dung của các entry trong thư mục gốc và thư mục Amnhac

Amnhac

4./ Một ổ đĩa C: được được định dạng dưới dạng FAT 16 gồm có 15 cluster. Kích thước của mỗi cluster là 512 byte. Giả sử có cây thư mục sau (trong ngoăc là kích thước mớc file):

Một entry trong bảng thư mục chiếm 32 byte. Hãy lập 1 phương án lưu trữ cây thư mục trên băng cách:a./ Cho biết nội dung 15 phần tử của bảng FAT trong phương án của bạnb./ Cho biết nội dung 5 thuộc tính: filename, fileext, attribute, start cluster, sixe của entry trong thư mục

gốc và thư mục PhimAnh.

Giảia./ FAT:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14-1 -1 3 -1 5 6 7 -1 9 10 -1 12 13 -1 0

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14R AN HL1 HL2 HN1 HN2 HN3 HN4 TC1 C2 TC3 NT1 NT2 NT3

Filename Ext attrib Start cluster sizeAmnhac D 1Hello ccp 2 824hanoi Ccp R 4 1721

Filename Ext attrib Start cluster sizeTcson Mp3 8 1489ntmien Mp3 12 1320

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14-1 -1 3 4 -1 6 7 -1 9 10 11 -1 0 14 -1

\

Hanoi.cpp (1421)

007.avi (1789) Kkong.avi (900)

PhimAnh Hello.cpp(1324))

Page 10: Ôn tập hệ điều hành

Cluster

Nội dung của các entry trong thư mục gốc và thư mục Phimanh

Phimanh

Bài tập điều phối tiến trình

Bài 1. Xét tập các tiến trình sau (với thời gian yêu cầu CPU và độ ưu tiên kèm theo) :

Giả sử các tiến trình cùng được đưa vào hệ thống tại thời điểm 0a)Cho biết kết quả điều phối hoạt động của các tiến trình trên theo thuật toán FIFO; SJF; điều phối theo độ ưu tiên độc quyền (độ ưu tiên 1 > 2 > ...); và RR (quantum=2).b)Cho biết thời gian lưu lại trong hệ thống (turnaround time) của từng tiến trình trong từng thuật toán điều phối ở câu a.c)Cho biết thời gian chờ trong hệ thống (waiting time) của từng tiến trình trong từng thuật toán điều phối ở câu a.d)Thuật toán điều phối nào trong các thuật toán ở câu a cho thời gian chờ trung bình là cực tiểu ?

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14R PA HL1 HL2 HL3 HN1 HN2 HN3 0071 0072 0073 0074 KK1 KK2

Filename Ext attrib Start cluster sizePhimanh D 1Hello ccp 2 1324hanoi Ccp R 5 1421

Filename Ext attrib Start cluster Size007 avi 8 1789kkong Avi 13 900

Page 11: Ôn tập hệ điều hành

Bài 2. Giả sử có các tiến trình sau trong hệ thống :

Sử dụng nguyên tắc điều phối độc quyền và các thông tin có được tại thời điểm ra quyết định để trả lời các câu hỏi sau đây :a)Cho biết thời gian lưu lại trung bình trong hệ thống (turnaround time) của các tiến trình trong thuật toán điều phối FIFO.b)Cho biết thời gian lưu lại trung bình trong hệ thống (turnaround time) của các tiến trình trong thuật toán điều phối SJF.c)Thuật toán SJF dự định cải tiến sự thực hiện của hệ thống , nhưng lưu ý chúng ta phải chọn điều phối P1 tại thời điểm 0 vì không biết răng sẽ có hai tiến trình ngắn hơn vào hệ thống sau đó . Thử tính thời gian lưu lại trung bình trong ệ thống nếu để CPU nhàn rỗi trong 1 đơn vị thời gian đầu tiên và sau đó sử dụng SJF để điều phối. Lưu ý P1 và P2 sẽ phải chờ trong suốt thời gian nhàn rỗi này, do vậy thời gian chờ của chúng tăng lên. Thuật toán điều phối này được biết đến như điều phối dựa trên thông tin về tương lai.Bài 3. Phân biệt sự khác nhau trong cách tiếp cận để ưu tiên cho tiến trình ngắn trong các thuật toán điều phối sau :a) FIFO.b)RRc)Điều phối với độ ưu tiên đa cấpBài 4. Cho biết hai ưu điểm chính của mô hình đa tiểu trình so với đa tiến trình. Mô tả một ứng dụng thích hợp vớ mô hình đa tiểu trình và một ứng dụng khác không thích hợp.Bài 5. Mô tả các xử lý hệ điều hành phải thực hiện khi chuyển đổi ngữ cảnh giữa :a)các tiến trìnhb)các tiểu trìnhBài 6. Xác định thời lượng quantum q là một nhiệm vụ khó khăn. Giả sử chi phí trung bình cho một lần chuyển đổi ngữ cảnh là s, và thời gian trung bình một tiến trình hướng nhập xuất sử dụng CPU trước khi phát sinh một yêu cầu nhập xuất là t ( t>>s). Thảo luận các tác động đến sự thực hiện của hệ thống khi chọn q theo các quy tắc sau :a)q bất định b)q lớn hơn 0 1 ítc)q = sd)s < q < te)q = tf)q > tBài 7. Giả sử một hệ điều hành áp dụng giải thuật điều phối multilevel feedback với 5 mức ưu tiên (giảm dần). Thời lượng quantum dành cho hàng đợi cấp 1 là 0,5s. Mỗi hàng đợi cấp thấp hơn sẽ có thời lượng quantum dài gấp đôi hàng đợi ứng với mức ưu tiên cao hơn nó. Một tiến trình khi vào hệ thống sẽ được đưa vào hàng đợi mức cao nhất, và chuyển dần xuống các hàng đợi bên dưới sau mỗi lượt sử dụng CPU. Một tiến trình chỉ có thể bị thu hồi CPU khi đã sử dụng hết thời lượng quantum dành cho nó. Hệ thống có thể thực hiện các tác vụ xử lý theo lô hoăc tương tác, và mỗi tác vụ lại có thể hướng xử lý hay hướng nhập xuất.a)Giải thích tại sao hệ thống này hoạt động không hiệu quả ?b)Cần phải thay đổi (tối thiểu) như thế nào để hệ thống điều phối các tác vụ với những bản chất khác biệt như thế tốt hơn ?

Page 12: Ôn tập hệ điều hành

Trước tiên là phần lý thuyết của phần này nhé. Phần điều phối tiến trình chúng ta có 4 cách là FIFO , RR , SJF, và độ ưu tiên. Với những bài toán của điều phối tiến trình chúng ta sẽ phải tính một trong những thông số sau :Thời gian xử lý,Thời gian xử lý trung bìnhThời gian đợi,Thời gian đợi trung bìnhThời gian lưu lại trong hệ thống================================================== =========1.Điều phối FIFOCPU được cấp phát cho tiến trình đầu tiên trong danh sách sẵn sàng có yêu cầu, là tiến trình được đưa vào hệ thống sớm nhất. Đây là thuật toán điều phối theo nguyên tắc độc quyền. Một khi CPU được cấp phát cho tiến trình, CPU chỉ được tiến trình tự nguyện giải phóng khi kết thúc xử lý hay khi có một yêu cầu nhập/xuất.

*Thời gian xử lý : P1=24,P2=3,P3=3* Thời gian xử lý trung bình : (24+3+3)/3=10*Thời gian đợi : P1=0; P2=24-1 =23 ; P3 = 24+3-2 = 25*Thời gian đợi trung bình: (0+23+25)/3 = 16* Thời gian lưu lại trong hệ thống : P1=24 ; P2=3; P3=3* Thời gian lưu lại trung bình : (24+3+3)/3 =10

2.Chiến lược điều phối xoay vòng :Danh sách sẵn sàng được xử lý như một danh sách vòng, bộ điều phối lần lượt cấp phát cho từng tiến trình trong danh sách một khoảng thời gian sử dụng CPU gọi là quantum. Đây là một giải thuật điều phối không độc quyền : khi một tiến trình sử dụng CPU đến hết thời gian quantum dành cho nó, hệ điều hành thu hồi CPU và cấp cho tiến trình kế tiếp trong danh sách. Nếu tiến trình bị khóa hay kết thúc trước khi sử dụng hết thời gian quantum, hệ điều hành cũng lập tức cấp phát CPU cho tiến trình khác. Khi tiến trình tiêu thụ hết thời gian CPU dành cho nó mà chưa hoàn tất, tiến trình được đưa trở lại vào cuối danh sách sẵn sàng để đợi được cấp CPU trong lượt kế tiếp.

Page 13: Ôn tập hệ điều hành

*Thời gian xử lý : P1=24,P2=3,P3=3* Thời gian xử lý trung bình : (24+3+3)/3=10*Thời gian đợi :P1=0P2=4-1=3P3=4+3-2=5P1'=4+3+3-3=6đến lúc này p1 sẽ được xử lý liên tục nên không phải tính thời gian chờ của p1'' p1'''...*Thời gian đợi trung bình: (0+3+5+6)/3=4.66* Thời gian lưu lại trong hệ thống : P1: vòng 1 =4 vòng 2=20 khoảng cách 2 vòng là 6 => thời gian lưu lại của P1 =4+20+6 =30P2=3P3=3* Thời gian lưu lại trung bình : (30+3+3)/3=12

3.Điều phối với độ ưu tiênMỗi tiến trình được gán cho một độ ưu tiên tương ứng, tiến trình có độ ưu tiên cao nhất sẽ được chọn để cấp phát CPU đầu tiên. Độ ưu tiên có thể được định nghĩa nội tại hay nhờ vào các yếu tố bên ngoài. Độ ưu tiên nội tại sử dụng các đại lượng có thể đo lường để tính toán độ ưu tiên của tiến trình, ví dụ các giới hạn thời gian, nhu cầu bộ nhớ…Độ ưu tiên cũng có thể được gán từ bên ngoài dựa vào các tiêu chuẩn do hệ điều hành như tầm quan trọng của tiến trình, loại người sử dụng sỡ hữu tiến trình… Giải thuật điều phối với độ ưu tiên có thể theo nguyên tắc độc quyền hay không độc quyền. Khi một tiến trình được đưa vào danh sách các tiến trình sẵn sàng, độ ưu tiên của nó được so sánh với độ ưu tiên của tiến trình hiện hành đang xử lý. Giải thuật điều phốivới độ ưu tiên và không độc quyền sẽ thu hồi CPU từ tiến trình hiện hành để cấp phát cho tiến trình mới nếu độ ưu tiên của tiến

Page 14: Ôn tập hệ điều hành

trình này cao hơn tiến trình hiện hành. Một giải thuật độc quyền sẽ chỉ đơn giản chèn tiến trình mới vào danh sách sẵn sàng, và tiến trình hiện hành vẫn tiếp tục xử lý hết thời gian dành cho nó.

* Trường hợp độc quyền*Thời gian xử lý : P1=24,P2=3,P3=3* Thời gian xử lý trung bình : (24+3+3)/3=10*Thời gian đợi : P1=0;P2=23;P3=25*Thời gian đợi trung bình: (0+23+25)/3=16* Thời gian lưu lại trong hệ thống : P1=24; P2=3;P3=3* Thời gian lưu lại trung bình: ( 24+3+3)/3=10

*Trường hợp không độc quyền:*Thời gian xử lý : P1=24,P2=3,P3=3* Thời gian xử lý trung bình : (24+3+3)/3=10*Thời gian đợi :

P1=0P2=0+1-1=0P3=0+1+3-2=2P1'=0+1+3+3-3=4*Thời gian đợi trung bình: (0+0+2+4)/3=2* Thời gian lưu lại trong hệ thống :P1 Vòng 1 = 1 vòng 2= 23 khoảng cách giữa 2 vòng =6 => thời gian lưu lại của p1= 1+23+6=30p2=3p3=3

Page 15: Ôn tập hệ điều hành

* Thời gian lưu lại trung bình : (30+3+3)/3=12

4.Chiến lược công việc ngắn nhất (Shortest-job-first SJF)Đây là một trường hợp đăc biệt của giải thuật điều phối với độ ưu tiên. Trong giải thuật này, độ ưu tiên p được gán cho mỗi tiến trình là nghịch đảo của thời gian xử lý t mà tiến trình yêu cầu : p = 1/t. Khi CPU được tự do, nó sẽ được cấp phát cho tiến trình yêu cầu ít thời gian nhất để kết thúc- tiến trình ngắn nhất. Giải thuật này cũng có thể độc quyền hay không độc quyền. Sự chọn lựa xảy ra khi có một tiến trình mới được đưa vào danh sách sẵn sàng trong khi một tiến trình khác đang xử lý. Tiến trình mới có thể sỡ hữu một yêu cầu thời gian sử dụng CPU cho lần tiếp theo (CPU-burst) ngắn hơn thời gian còn lại mà tiến trình hiện hành cần xử lý. Giải thuật SJF không độc quyền sẽ dừng hoạt động của tiến trình hiện hành, trong khi giải thuật độc quyền sẽ cho phép tiến trình hiện hành tiếp tục xử lý.

* Trường hợp độc quyền

*Thời gian xử lý : P1=6,P2=8,P3=4;P4=2* Thời gian xử lý trung bình : (6+8+4+2)/4=5*Thời gian đợi : P1=0 p4=5 ; p3=6; p2=9*Thời gian đợi trung bình: (0+5+6+9)/4=5* Thời gian lưu lại trong hệ thống : P1=6; P4=2;P3=4;P2=8* Thời gian lưu lại trung bình: ( 6+2+4+8)/4=5

*Trường hợp không độc quyền:

Page 16: Ôn tập hệ điều hành

*Thời gian xử lý : P1=6,P2=8,P3=4;P4=2* Thời gian xử lý trung bình : (6+8+4+2)/4=5*Thời gian đợi : P1=0P4=2P1'=3P3=5P2=8*Thời gian đợi trung bình: (0+2+3+5+8)/4=4.5* Thời gian lưu lại trong hệ thống :P1 Vòng 1 = 3 vòng 2= 3 khoảng cách giữa 2 vòng =2 => thời gian lưu lại của p1= 3+3+2=8P4=2p3=4P2=8* Thời gian lưu lại trung bình : (8+2+4+8)/4=5

Trong hệ thống có 05 tiến trình P1-P5 có các khoảng CPU trong quá khứ như sau : (thời điểm hiện tại là t)

Hãy điều phối các tiến trình ở thời điểm T+1 băng các giải thuật sau và tính thời gian chờ trung bình băng các giải thuật sau : FCFS, SJFS , RRS (q=5ms) . Với Anpha=0,5 (A=0,5)

Ta tính các khoảng CPU ở thời điểm T+1 băng công thức. Ta có :

P1 = A.10 + (1-A).15 = 13

P2 = A.8 + (1-A).(7+10) / 2 = 8,25 => 9

P3 = A.9 + (1-A).0 = 4,5 => 5

P4 = A.7 + (1-A).(9+12+6) / 3 = 8

P5 = A.7 + (1-A).(8+11) / 2 = 9

Page 17: Ôn tập hệ điều hành

Ta cần giải quyết thêm vấn đề về các thứ tự tiến trình. (giả sử tại mỗi thời điểm thì các tiến trình đều được giải quyết hết ) .

Đến thời điểm T các tiến trình đã hoàn thành . Thì lúc này ta có thứ tự các tiến trình như sau :

<P4 P2 P5 P1 P3>

Thuật giải FCFS :

Ta xếp các tiến trình đã thu được theo FCFS ta được dãy sau :

Thời gian chờ TB : P1 : 26 P2 : 8P3 : 39 P4 : 0P5 : 17 Time (tb) = (26 + 8 + 39 + 0 + 17) / 5 = 18 ms

Thuật giải SJFS (không tiếm quyền )

Thời gian chờ TB : P1 : 31P2 : 13P3 : 8P4 : 0P5 : 22Time (tb) = (31+13+8+0+22) / 5 = 14,8 ms

Thuật giải SJFS (có tiếm quyền )

Page 18: Ôn tập hệ điều hành

Cái này không thực hiện đc vì tôi nghĩ đề bài cho thiếu dữ kiện AT ( Arrrived Time ) : Thời gian đến của tiến trình . Vì 1 tiến trình A chỉ bị ngắt chuyển CPU sang tiến trình B khác khi tiến trình B đến và có khoảng CPU nhỏ hơn A. VD : Khi ta có A có AT = 0 ; khoảng CPU = 7 B có AT = 2 ; khoảng CPU = 4 thì

Đến thời điểm 2 thì B có trong hàng đợi và B có khoảng CPU ngắn hơn nên chạy trước. Như vậy nếu áp dụng vào bài làm của thầy cho thì ta không có AT vì thế nếu suy luận cái nào ngắn chạy trước tôi nghĩ không chính xác lắm (cái này phải hỏi thầy)

Thuật giải RR ( q=5ms)

Thời gian chờ TB : P1 : 15+36 = 51P2 : 5+28 = 33P3 : 20P4 : 0 + 25 = 25P5 : 10+32 = 42Time (tb) = (51+33+20+25+42) / 5 = 34,2 ms