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

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

12 533 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 12
Dung lượng 109,66 KB

Nội dung

+ Độ ư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ì

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

1 FCFS

- Nguyên tắc: Để truy nhập tới 1 file hệ thống sẽ tổ chức 1 hàng đợi các 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

2 SSTF

- Thuật toán này chọn track nào có time di chuyển đầu từ đọc/ghi ngắn nhất thì phục vụ trước

3 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ụ

4 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 nhưng đầu từ đọc ghi không quét đường về

Trang 4

5 Look

- 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 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ụ)

6 C-look

- Thuật toán này đầu từ đọc ghi quét từ track nhỏ nhất đến track lớn nhất 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ụ)

Ba phương pháp cấp phát bộ nhớ trong của hệ điều hành

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:

- First fit: hệ điều hành sẽ quét qua các khối nhớ trống bắt đầu từ khối nhớ 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

- Best fit: chọn khối nhớ có kích thước vừa đúng bằng kích thước của tiến trình cần được nạp vào bộ nhớ

- Worst fit: hệ điều hành bắt đầu quét từ khối nhớ trống kế sau khối 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

Phương pháp cấp phát không gian nhớ tự do cho đĩa từ

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

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

+ 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

Bài làm

a FCFS

Thời điểm xử

Trang 6

Thời gian chờ:

P1 = 0- 0 = 0 P3= 11- 2,5= 8,5

P2= 10- 1 =9 P4= 13- 3= 10 P5= 14- 4,5= 9,5

Thời gian chờ trung bình: P 1+ P 2+ P3+P 4+ P 55 = 7,4

b SJF độc quyền

Thời điểm xử

Thời gian chờ:

P1= 0- 0= 0 P3= 12- 2,5= 9,5

Thời gian trung bình: 7,2

SJF không độc quyền

Thời điểm xử

Thời gian xử

Thời gian chờ:

P1= (0-0) + (2-1) + (10-2,5)= 9

P2= 1-1 =0

P3= (2,5- 2,5) + (4- 3)= 1

P4= 3- 3= 0

P5= 5,5- 4,5= 1

Thời gian chờ TB: 2,2

Trang 7

c Round Robin với q= 2

Thời điểm xử

Thời gian xử

Thời gian chờ:

P1= (0-0) +(8-2)+ (12-10)+ (15-14)= 9

P2= 2-1= 1

P3= 3- 2,5= 0,5

P4= 5-3= 2

P5= (6- 4,5) +(10-8)+ (14- 12)= 5,5

Thời gian chờ TB; 3,6

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

Thời điểm xử

Thời gian xử

Thời gian chờ:

P1= 0- 0= 0 P3= 16- 2,5= 13,5

P2= 10- 1= 9 P4= 18- 3= 15 P5= 11- 4,5= 6,5

Thời gian chờ TB: 8,8

Trang 8

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

Thời điểm xử

Thời gian xử

Thời gian chờ:

P1= (0-0)+ (2-1)+ (11,5- 4,5)= 8

P2= 1-1= 0

P3= 9,5- 2,5= 7

P4= 18- 3= 15

P5= 4,5- 4,5= 0

Thời gian chờ TB: 6

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

Trang 9

3 1 1 1 1 0 0 0 3 3 3 3 3 2 2 2 2 2 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

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

Trang 10

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

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

Trang 11

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

6

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

Trang 12

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

5

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: 28/04/2016, 11:05

TỪ KHÓA LIÊN QUAN

w