1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

15 522 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 126,35 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 2: Các giải thuật lập lịch CPU 1. Một số khái niệm Giờ CPU: là time mà CPU phục vụ hoạt động cho các tiến trình, nó có thể xử lí các dòng lệnh, các chỉ thị, các tính toán. Tại mỗi thời điểm chỉ có một tiến trình được phân phối giờ CPU đê hoạt động Lập lịch cho CPU: là tổ chức 1 hàng đợi cho các tiến trình sẵn sang để phân phối giờ CPU cho chúng dựa vào độ ưu tiên của các tiến trình sao cho việc sử dụng CPU hiệu quả nhất. + Độ ưu tiên của các tiến trình phụ thuộc vào thuật toán mà hệ thống dùng để lập lịch: time xuất hiện tiến trình trong hàng đợi, time thực hiện các tiến trình, time kết thúc các tiến trình 2. Một số thuật toán lập lịch CPU a. Bài toán Xét n tiến trình Pi song hành có thời điểm vào RL tương ứng là ti và thời gian xử lý là ai Yêu cầu bài toán đưa ra thứ tự của Pi để được thực hiện phân phối tới CPU và cho ra thời gian TB là nhỏ nhất. + Thời gian chờ Pi = thời điểm xử lý ti + Thời gian chờ TB = ∑ thời gian chờ Pi n b. c. Thuật toán lập lịch vào trước phục vụ trước (FCFS) Quy tắc: + Thời điểm xuất hiện ti trong RL + Thực hiện theo chế độ độc quyền Cách thực hiện: giả sử Pi, ti, ai và Pj, tj, aj¬ với ti< t¬j  Pi được phụ vụ hết a¬I rồi Pj được thực hiên sau Ưu điểm: giờ CPU ko bị phân phối lại (ko bị ngắt) và chi phí tổ chức thực hiện thấp nhất (do ko phải thay đổi thứ tự ưu tiên phục vụ) Nhược điểm: thời gian trung bình chờ phục vụ của các tiến trình là như nhau (ko kể tiến trình dài hay ngắn) dẫn đến 3 nhược điểm + Thời gian chờ trung bình sẽ tăng vô hạn khi hệ thống tiếp cận tới hạn khả năng phục vụ của mình + Nếu độ phát tán thời gian thực hiện tiến trình tăng thì thời gian chờ trung bình cũng tăng theo

Trang 1

Đề cương môn Nguyên lý hệ điều hành Chương 2: Các giải thuật lập lịch CPU

1 Một số khái niệm

- Giờ CPU: là time mà CPU phục vụ hoạt động cho các tiến trình, nó có thể xử lí các dòng lệnh, các chỉ thị, các tính toán Tại mỗi thời điểm chỉ

có một tiến trình được phân phối giờ CPU đê hoạt động

- Lập lịch cho CPU: là tổ chức 1 hàng đợi cho các tiến trình sẵn sang để phân phối giờ CPU cho chúng dựa vào độ ưu tiên của các tiến trình sao cho việc sử dụng CPU hiệu quả nhất

+ Độ ưu tiên của các tiến trình phụ thuộc vào thuật toán mà hệ thống dùng để lập lịch: time xuất hiện tiến trình trong hàng đợi, time thực hiện các tiến trình, time kết thúc các tiến trình

2 Một số thuật toán lập lịch CPU

a Bài toán

- Xét n tiến trình Pi song hành có thời điểm vào RL tương ứng là ti và thời gian xử lý là ai

- Yêu cầu bài toán đưa ra thứ tự của Pi để được thực hiện phân phối tới CPU và cho ra thời gian TB là nhỏ nhất

+ Thời gian chờ Pi = thời điểm xử lý - ti

+ Thời gian chờ TB = ∑ thời gian chờ Pi / n

b.

c Thuật toán lập lịch vào trước phục vụ trước (FCFS)

- Quy tắc: + Thời điểm xuất hiện ti trong RL

+ Thực hiện theo chế độ độc quyền

- Cách thực hiện: giả sử Pi, ti, ai và Pj, tj, aj với ti < tj

 Pi được phụ vụ hết aI rồi Pj được thực hiên sau

- Ưu điểm: giờ CPU ko bị phân phối lại (ko bị ngắt) và chi phí tổ chức thực hiện thấp nhất (do ko phải thay đổi thứ tự ưu tiên phục vụ)

- Nhược điểm: thời gian trung bình chờ phục vụ của các tiến trình là như nhau (ko kể tiến trình dài hay ngắn) dẫn đến 3 nhược điểm

+ Thời gian chờ trung bình sẽ tăng vô hạn khi hệ thống tiếp cận tới hạn khả năng phục vụ của mình

+ Nếu độ phát tán thời gian thực hiện tiến trình tăng thì thời gian chờ trung bình cũng tăng theo

Trang 2

+ Khi có tiến trình dài, ít bị ngắt thì các tiến trình khác sẽ phải chờ đợi lâu hơn

d Thuật toán lập lịch xoay vòng RR (Round Robin)

- Quy tắc: + Thời điểm ti xuất hiện Pi trong RL

+ Time hệ thống phục vụ các tiến trình bằng nhau được gọi là quantum (q)

+ Thực hiện theo chế độ độc quyền

- Cách thực hiện: giả sử Pi, ti, ai và Pj, tj, aj với ti < tj

 Pi được phụ vụ trước

+ ai q: Pi được xử lí xong và kết thúc ra ngoài hê thống

+ ai > q: Pi được xử lí hết time hệ thống yêu cầu là q và đẩy ra ngoài

RL và xếp ở cuối hàng đợi chờ đến lượt xử lí tiếp theo

- Ưu điểm: cho phép hệ thống ưu tiên cho các tiến trình ngắn (vì nó kết thúc sớm) nhưng ko gây tổn hại lớn cho các tiến trình dài

- Nhược điểm: do thường xuyên phải phân phối lại giờ CPU nên thời gian chờ đợi trung bình của RR có thể lớn hơn FCFS

e Thuật toán lập lịch với độ ưu tiên

- Quy tắc: + Thời điểm ti xuất hiện Pi trong RL

+ Độ ưu tiên được gắn cho mỗi tiến trình Pi tương ứng là bi + Thực hiện theo chế độ độc quyền và không độc quyền

- Cách thực hiện: giả sử Pi, ti, ai, bi và Pj, tj, aj, bj với ti < tj, bi< bj

+ Độc quyền: Pi đang được xử lí, Pj vào RL và bi< bj thì Pi tiếp tục được thực hiện, Pj phải chờ

+ Không độc quyền: : Pi đang được xử lí, Pj vào RL và bi< bj làm cho Pi

bị đẩy ra ngoài hàng đợi, Pj được vào phục vụ ngay

f Thuật toán lập lịch thời gian công việc ngắn nhất (SJF)

- Quy tắc: + Thời điểm ti xuất hiện Pi trong RL

+ Time xử lí Pi là ai

+ Thực hiện theo chế độ độc quyền và không độc quyền

- Cách thực hiện: giả sử Pi, ti, ai và Pj, tj, aj với ti < tj

+ Độc quyền: Pi đang được xử lí, Pj vào RL và ai> aj thì Pi được xử lí bình thường, Pj phục vụ sau khi Pi hết time yêu cầu

+ Không độc quyền: Pi đang được xử lí, Pj vào RL, Pi bị đẩy ra hàng đợi,

Pj được vào phục vụ

Trang 3

- Ưu điểm: Thời gian chờ trung bình của tiến trình ngắn hơn FCFS, SJF nhanh chóng loại bỏ các tiến trình ngắn -> giảm số lượng tiến trình trong hàng đợi

- Nhược điểm: chế độ phân phối lại giờ CPU cũng đc áp dụng trong trường hợp ngắt các tiến trình dài đang thực hiện để phục vụ các tiến trình ngắn hơn mới xuất hiện trong hàng đợi Nếu tiến trình mới xuất hiện có tổng thời gian thực hiện ngắn nhưng vẫn dài hơn thời gian để thực hiện nốt tiến trình đang thực hiện thì việc ngắt tiến trình là ko hợp lý

Chương 3: Các giải thuật thay thế trang

1 Thuật toán FIFO

- Chọn trang thay thế là trang được nạp vào lâu nhất trong bộ nhớ

- Dễ cài đặt

- Hiệu suất phụ thuộc vào số lượng khung trang trống và tần suất xuất hiện của trang

2 Thuật toán tối ưu (Optimal)

- Chọn trang thay thế là trang lâu được sử dụng nhất trong tương lai

3 Thuật toán LRU

- Chọn trang thay thế là trang có thời điểm truy xuất lâu nhất trong quá khứ

Chương 4: Các thuật toán định vị đầu từ đọc/Ghi

yêu cầu phục vụ của các track ( lưu dữ liệu của 1 file cần truy nhập) Track nào có yêu cầu cần phục vụ trước thì đầu từ đọc/ghi sẽ dịch chuyển tới đó trước

nhất thì phục vụ trước

3 Scan

sau đó quét ngược lại track nào có nhu cầu sẽ phục vụ

nhưng đầu từ đọc ghi không quét đường về

Trang 4

5 Look

sau đó quét ngược lại nhưng chỉ quét trong phạm vi các track có nhu cầu phục vụ không quét tới track đầu tiên hoặc cuối cùng (nếu các track này không có yêu cầu phục vụ)

nhưng không quét ngược lại nhưng chỉ quét trong phạm vi các track có nhu cầu phục vụ không quét tới track đầu tiên hoặc cuối cùng (nếu các track này không có yêu cầu phục vụ)

Khi có 1 tiến trình cần được nạp vào bộ nhớ mà trong bộ nhớ có nhiều hơn 1 khối nhớ trống (free block) có kích thước lớn hơn kích thước của tiến trình

đó, thì hệ điều hành phải quyết định chọn 1 khối nhớ trống phù hợp để nạp tiến trình sao cho việc lựa chọn này dẫn đến việc sử dụng bộ nhớ chính là hiệu quả nhất Có 3 thuật toán để lựa chọn:

trống đầu tiên trong bộ nhớ và sẽ chọn khối nhớ trống đầu tiên có kích thước đủ lớn để nạp tiến trình

trình cần được nạp vào bộ nhớ

vừa được cấp phát và chọn khối nhớ trống kế tiếp đủ lớn để nạp tiến trình

- Cấp phát liên tục : Để phân bổ không gian nhớ cho một file hệ thống chọn

một đoạn liên tục các khối đĩa tự do để cấp phát cho file đó Với phương pháp này , để định vị file hệ thống chỉ cần biết địa chỉ của khối đĩa tự do đầu tiên và

số lượng block đã dùng.

- Ưu điểm:

+ Hỗ trợ cho phương pháp truy nhập tuần tự và truy nhập trực tiếp.

- Nhược điểm :

+ Phải chọn được thuật toán tối ưu để tìm các vùng không gian tự do cấp phát chi file ( first fit , best fit , worst fit)

+ Có thế xảy ra trường hợp không đủ số khối đĩa tự do liên tiếp cần thiết để cấp phát cho các file.

+ Trong trường hợp các khối đĩa tự do nằm tản mạn sẽ không sử dụng được gây lãng phí không gian nhớ.

Trang 5

- Cấp phát liên kết : Trong trường hợp này mối file định vị thư mục thiết bị

bằng hai con trỏ một con trỏ tới khối đĩa đầu tiên , một con trỏ tới khối đĩa cuối cùng đã cấp cho file Trong mỗi khối đĩa cấp phát cũng có một con trỏ để trỏ tới khối đĩa kế tiếp.

- Ưu điểm : Sử dụng được các khối đĩa tự do nằm tản mạn

- Nhược điểm : chỉ hỗ trợ truy nhập tuân tự không hỗ trợ truy nhập trực tiếp ,độ tin cậy không đảm bảo nếu bị mất các con trỏ.

- Cấp phát theo chỉ số :Để cấp phát không gian cho 1 file hệ thống sử dụng 1

khối đĩa đặc biệt gọi lag khối đĩa chỉ số cho mỗi file Trong khối đĩa chỉ số chứa địa chỉ của các khối đĩa đã cấp phát cho file,trong thư mục thiết bị địa chỉ của các khối đĩa chỉ số.Khi một khối đĩa đượccấp phát cho file thì hệ thống loại bỏ địac hỉ của khối này khỏi danh sách các khối đĩa tự do và cập nhật vào khổi chỉ số của file.

- Ưu điểm : hỗ trợ truy nhập trực tiếp.

- Nhược điểm : Lãng phí không gian nhwos dành cho khối đĩa chỉ số.

1 Bài tập ví dụ về lập lịch CPU

Xét 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

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- không độc quyền

Tính thời gian chờ cho từng tiến trình và time chờ trung bình trong các chiến lược trên

Trang 6

0 10 11 13 14 19

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

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

Thời gian chờ:

P 1 : 0

Trang 7

0 10 11 12 14

19

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

Thời gian chờ:

P 1 : 0

P 2 : 10 – 1 = 9

P 3 : 12 – 2.5 = 9.5

P 4 : 11 – 3 = 8

P 5 : 14 – 4.5 = 9.5

c./ Round Robin

Thời gian chờ:

P 1 : 1 + 5 + 2 + 1 = 9

P 2 : 2 – 1 = 1

P 3 : 5 – 2.5 = 2.5

 Thời gian chờ trung bình =

37 7.45

5 

 Thời gian chờ trung bình =

36 7.2

5 

 Thời gian chờ trung bình =

25 5

5 

Trang 8

0 10 11 16 18

P 4 : 7 – 3 = 4

P 5 : 8 + 2 + 2 – 4.5 = 7.5

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

Thời gian chờ:

P 1 : 0

P 2 : 10 – 9 = 1

P 3 : 16 – 2.5 = 13.5

P 4 : 18 – 3 = 5

P 5 : 11 – 4.5 = 6.5

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

Thời gian chờ:

P 1 : 1 + 7 = 8

P 2 : 0

P 3 : 9.5 – 2.5 = 7

P 4 : 18 – 3 = 15

P 5 : 0

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

 Thời gian chờ trung bình

44 8.8 5

 

 Thời gian chờ trung bình

25 5 5

 

Trang 9

P1 P2 P3

P1 P2 P3

Tiến trình Thời điểm vào RL Thời gian CPU

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

Giải

a./ FCFS

Thời gian chờ

P 1 : 0

P 2 : 8 – 0.4 = 7.6

P 3 : 12 – 1 = 11

b./ SJF

 Thời gian chờ trung bình

18.6 6.2 3

 

Trang 10

P1 P2 P3

P4

9

P 1 : 0

P 2 : 9 – 0.4 = 8.6

P 3 : 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ên

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

Giải

Thời gian chờ:

P 1 : 0

P 2 : 9 – 1 = 8

P 3 : 0

P 4 : 5 – 3 = 2

Chú ý:

- FCFS vào trước thực hiện trước.

- Thời gian chờ trung bình

15.6 5.2 3

 

 Thời gian chờ trung bình

10 2.5 4

 

Trang 11

1 Bài tập ví dụ về thay thế trang

Cho các trang có thứ tự yêu cầu lần lượt như sau:

7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1

Cho biết quá trình thay thế trang và số lỗi trang dùng thuật toán FIFO, thuật toán

tối ưu Optimal, thuật toán RLU biết có 3 khung trang trống

Bài làm

a FIFO: chọn trang thay thế là trang được nạp vào lâu nhất trong bộ nhớ

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

 Có 15 lỗi trang

b Thuật toán tối ưu Optimal: chọn trang thay thế là trang lâu được sử dụng

nhất trong tương lai

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

 Có 9 lỗi trang

Trang 12

c Thuật toán RLU: chọn trang thay thế là trang có thời điểm truy xuất lâu

nhất trong quá khứ

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

 Có 12 lỗi trang

Bài tập ví dụ về sơ đồ di chuyển đầu từ đọc ghi

File F1 được phân bổ lần lượt tại các track có số thứ tự sau:

98, 183, 37, 122, 14, 124, 65, 67

Đầu từ đọc ghi đang định vị tại track có STT là 53

Hãy sử dụng các thuật toán để vẽ sơ đồ: FCFS, SSTF, Scan, C-Scan, Look, C-Look

Bài làm

a FCFS: track nào có yêu cầu phục vụ trước thì đầu từ đọc ghi sẽ dịch

chuyển tơi trước

Trang 13

14 37 53 65 67 98 122 124 183 1

2

3

4

5

6

7

8

9

b SSTF: thuật toán này chọn track nào có thời gian di chuyển ngắn nhất thì

phục vụ trước

1

2

3

4

5

6

7

8

9

c Scan: thuật toán này, đầu từ đọc ghi quét từ track nhỏ nhất đến track lớn

nhất sau đó quét ngược lại, track nào có nhu cầu sẽ phục vụ

x 1

2

3

4

5

Trang 14

7

8

9

10

11

d C-Scan: thuật toán này tương tự Scan nhưng đầu từ đọc ghi không phục

vụ đường về (không quét ngược lại)

x 1

2

3

4

5

6

7

8

9

10

11

e Look: tương tự Scan nhưng trong thuật toán này đầu từ đọc ghi chỉ quét

trong phạm vi các track có nhu cầu phục vụ không quét tới track đầu tiên hay track cuối cùng (nếu các track này không có nhu cầu phục vụ)

1

2

3

4

Trang 15

6

7

8

9

f C-Look: tương tự Look nhưng đầu từ đọc ghi không phục vụ đường về

1

2

3

4

5

6

7

8

9

Ngày đăng: 08/10/2016, 15:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w