dathoc.com Bài giảng Giáo án đề thi tài liệu miễn phí Download, chia sẽ tài nguyên dạy và học miễn phí !
Tất cả Giáo án Bài giảng Bài viết Tài liệu
Nếu không xem dược hãy bấm Download về máy tính để xem
Download giao an bài tập os mien phi,tai lieu bài tập os mien phi,bai giang bài tập os mien phi 100%, cac ban hay chia se cho ban be cung xem

Uploaded date: 12/14/2011 11:07:16 AM
Filesize: 0.16 M
Download count: 130
Bấm nút LIKE +1 để cảm ơn
SAU ĐÓ BẤM
Download
Bài 1: Các thuật toán lập lịch cho CPU xác định thứ tự cho việc thực hiện của các tiến trình đã được lập lịch. Cho n tiến trình được lập lịch trên một bộ vi xử lý, có bao nhiêu cách lập lịch khác nhau có thể?
(Trong tài liệu phô tô của thầy có phần này rồi)
Bài 2: Định nghĩa sự khác nhau giữa lập lịch dừng (preemptive) và không dừng (non-preemptive). Phát biểu tại sao lập lịch không dừng không được ưu thích lập lịch cho máy tính trung tâm?
Lập lịch không dừng Non- preemtive:
- Một khi tiến trình được cấp CPU, CPU sẽ bị chiếm dụng cho đến khi tiến trình trả lại CPU do tiến trình đó đã kết thúc, hoặc chuyển sang trạng thái đợi.
Lập lịch dừng Preemptive:
- Một tiến trình đang thực hiện có thể bị ngắt do yêu cầu được thực hiện của 1 tiến trình khác. Khi đó, CPU phải chịu những phí tổn do việc chuyển giữa các tiến trình gây ra – CS (CS – Context Switch chính là công việc xảy ra khi CPU chuyển giữa các tiến trình với nhau). CS thực sự là một chi phí về thời gian của hệ thống (hệ thống sẽ không làm gì ong khoảng thời gian của CS) và phụ thuộc nhiều vào sự hỗ trợ của phần cứng.
Tại sao lập lịch không dừng không được ưu thích lập lịch cho máy tính trung tâm?
Có lẽ là nếu sử dụng Non-Preemptive thì tổng thời gian của hệ thống sẽ lớn.:-P
Ví dụ: Tiến trình thứ nhất đang thực hiện dở, vào thời điểm i, tiến trình thứ hai xuất hiện với CPU burst nhỏ hơn CPU burst còn lại của tiến trình thứ nhất tại thời điểm đó. Nếu sử dụng lập lịch không dừng - tức là phải để tiến trình thứ nhất thực hiện xong - thì tổng thời gian để thực hiện tiến trình thứ hai sẽ lớn hơn nhiều nếu cho tiền trình thứ hai thực hiện ngay. Điều này cũng đúng với nhiều tiến trình.
=> Tổng thời gian thực hiện các tiến trình của hệ thống sẽ rất lớn.
Bài 3: Xem xét các tiến trình sau đây, với các CPU – burst được tính bằng mili giây.
Process
Burst Time
Priority

P1
10
3

P2
1
1

P3
2
3

P4
1
4

P5
5
2

 Các tính trình được giả định xuất hiện theo thứ tự P1, P2, P3. P4, P5 tại thời điểm bắt đầu là 0.
Vẽ bốn biểu đồ Gantt giải thích thứ tự thực hiện của các tiến trình sử dụng các thuật toán lập lịch FCFS, SJF, ưu tiên không dừng (số ưu tiên (priority) nhỏ nhất suy ra độ ưu tiên lớn nhất), và RÕ RÀNG (quantum=1).
Xác định tổng thời gian thực để thực hiện cho mỗi tiến trình tiến trình trong mỗi thuật toán trong câu a.
Xác định thời gian chờ cho mỗi tiến trình trong mỗi thuật toán trên.
Thuật toán lập lịch nào cho kết quả thời gian chờ trung bình là ít nhất.
GIẢI
Gọi tổng thời gian thực hiện cho mỗi tiến trình P1, P2, P3, P4, P5 tương ứng là T1, T2, T3, T4, T5.
Gọi thời gian chờ tương ứng cho mỗi tiến trình là Tw1, Tw2, Tw3, Tw4, Tw5.
a. Vẽ 4 biểu đồ Gantt theo 4 thuật toán
FCFS (First Come First Served)
P1 (10)
P2 (1)
P3 (2)
P4 (1)
P5 (5)

Tw1
T1
Tw2
T2
Tw3
T3
Tw4
T4
Tw5
T5

0
0+10=10
10
10+1=11
11
11+2=13
13
13+1=14
14
14+5=19

SJF (Shortest Job First)
P2 (1)
P4 (1)
P3(2)
P5 (5)
P1 (10)

Tw2
T2
Tw4
T4
Tw3
T3
Tw5
T5
Tw1
T1

0
0+1=1
1
1+1=2
2
2+2=4
4
4+5=9
9
9+10=19

Priority (ưu tiên) không dừng
P(độ ưu tiên, CPU burst)
P2 (1,1)
P5 (2,5)
P1(3,10)
P3 (3,2)
P4 (4,1)

Tw2
T2
Tw5
T5
Tw1
T1
Tw3
T3
Tw4
T4

0
0+1=1
1
1+5=6
6
6+10=16
16
16+2=18