1. Trang chủ
  2. » Giáo án - Bài giảng

hệ điều hành nguyễn văn hiệp bài 2 1 multiprogramming sinhvienzone com

5 312 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 497,81 KB

Nội dung

Trang MÔN : HỆ ĐIỀU HÀNH Bài thực hành số 2.1 : Multiprogramming I Mục tiêu :  Giúp SV làm quen với việc lập trình để kích hoạt/dừng process II Nội dung :  Xây dựng chương trình nhỏ cho phép người dùng chọn file khả thi cần chạy, kích hoạt chạy dừng/xóa cần thiết III Chuẩn đầu :  Sinh viên nắm vững sử dụng thành thạo class Process NET để quản lý process  Sinh viên hiểu rõ cách kích hoạt/dừng process trình bày silde giảng : process chạy kích hoạt tự động process khác chạy cần giết chết process khác IV Qui trình : Giới thiệu Ở chế độ mono-programming, thời điểm có process nạp vào nhớ thực thi Khi process hành hoàn thành, HĐH phục vụ process khác có Ở chế độ multi-programming, thời điểm có nhiều process nạp vào nhớ chạy đồng thời (theo cảm nhận người dùng) Tuy nhiên, mặt vật lý, thời điểm có process thực chiếm CPU chạy Ta nói process trạng thái Ready khơng chờ thiết bị I/O Các process Ready chạy luân phiên nhau, cần thiết ta thực chuyển ngữ cảnh để thay đổi process chạy Có chế thực Multi-programming : theo lô (batch) hay phân chia thời gian Trong chế theo lô, việc chuyển ngữ cảnh xảy process hành thực hoạt động I/O phải chờ I/O Trong chế phân chia thời gian, việc chuyển ngữ cảnh xảy trường hợp sau xảy : process hành thực hoạt động I/O phải chờ I/O, process hành chạy hết khoảng thời gian qui định (quantum) Khe thời gian (quantum) thường nhỏ (từ 10 đến 100ms) Ta dùng thuật ngữ overhead để miêu tả khoảng thời gian chuyển ngữ cảnh process Đây khoản thời gian bị thiệt (vơ ích theo góc nhìn process), nên chiếm tỉ lệ nhỏ so với quantum tốt Bài thực hành tìm hiểu ảnh hưởng sách quản lý CPU khác Giả sử máy tính có CPU đơn vị I/O, nhớ nội đủ lớn để chứa tất process cần chạy II Sơ đồ chuyển trạng thái process Hãy vẽ sơ đồ chuyển trạng thái process chế độ lô SinhVienZone.com https://fb.com/sinhvienzonevn Trang create Ready elected finish I/O Running I/O Blocked finish Hãy vẽ sơ đồ chuyển trạng thái process chế độ phân chia thời gian, lưu ý process bị CPU cần đồng hóa với process khác create synchro : up, wakeup Suspend Ready elected synchro : down, sleep Running finish quantum finish I/O Blocked I/O finish III Các tỉ lệ dùng CPU Giả sử cần thi hành tác vụ : T1, T2 T3 với thông tin sau : T1 chạy tốn 200 ms (không kể thời gian I/O) có thực I/O lần thời điểm 110ms sau chạy T2 chạy tốn 50 ms có thực I/O lần thời điểm 5ms sau chạy T3 chạy tốn 120 ms không thực I/O lần T1 T2 kích hoạt thời điểm 0, T3 kích hoạt thời điểm 140ms Mỗi hoạt động I/O tốn 10 ms Quantum 100ms (dùng chế độ phân chia thời gian) III.1 Vẽ lược đồ Gantt miêu tả việc thực thi tác vụ : Tính tổng thời gian thực thi T tỉ lệ chiếm giữ CPU P chế độ lô : SinhVienZone.com https://fb.com/sinhvienzonevn Trang I/O controller I/O T1 I/O T2 T3 T2 T1 CPU 110 115 120 130 140 210 255 375 Ở t = 210, process T2 T3 Ready T2 Ready từ lúc t = 130 T3 Ready từ lúc t =140, ta cho T2 thi hành trước Tổng thời gian thực chạy cho process T = 200+50+120 = 370ms Tổng thời gian tốn thực tế 375ms Tỉ lệ dùng CPU P = 370/375 (tổng thời gian thực chạy cho process/tổng thời gian tốn thực tế) = 98,7 % Tính tổng thời gian thực thi T tỉ lệ chiếm giữ CPU P chế độ phân chia thời gian : I/O T2 I/O T1 I/O controller quantum CPU T3 T2 T1 100 105 115 125 140 160 250 350 370 Tổng thời gian thực chạy cho process T = 200+50+120 = 370ms Tổng thời gian tốn thực tế 370ms Tỉ lệ dùng CPU P = III.2 Vẽ lược đồ Gantt miêu tả việc thực thi tác vụ : Hãy ý tác vụ giống T1 T2, kích hoạt đồng thời thời điểm t = thực n lần công việc sau : - đọc liệu từ đĩa (tốn r ms) - xử lý liệu (tốn c ms) - ghi kết lên đĩa (tốn w ms) SinhVienZone.com https://fb.com/sinhvienzonevn Trang Nếu có T1 kích hoạt chạy thời điểm t (T2 khơng có), vẽ lược đồ Gantt miêu tả việc thực thi tác vụ T1, tính tổng thời gian thực chạy T T1, tỉ lệ dùng CPU P dùng I/O U Ta suy diễn T, P et U tác vụ T1 T2 chạy chế độ monoprogramming ? Cho w = ms, c = ms, r = ms, n = I/O controller CPU Read Write T1 r=8 c=7 w=5 Lặp thực n = lần Tổng thời gian tốn thực tế T : T = n (r + c + w) n.c Tỉ lệ dùng CPU P : P = T Tỉ lệ dùng I/O U : U = (r + w) / (r + c + w) = c / (r + c + w) Thế số liệu cụ thể vào cơng thức, ta có : Tổng thời gian tốn thực tế T : Tỉ lệ dùng CPU P : P Tỉ lệ dùng I/O U : U T = (8 + + 5) = 80ms n.c = = / (8 + + 5) = 8/20 = 35% T = (r + w) / (r + c + w) = 13/20 = 65% Nếu tác vụ T1 T2 chạy chế độ monoprogramming, việc thi hành T2 sau T1 diễn biến giống hệt T1 Tổng thời gian tốn thực tế T nhân đôi Tuy nhiên, P U không đổi thời gian chạy CPU truy xuất I/O nhân đôi Thế giá trị cho ta có : T = 160 ms P = 35% U = 65% Hãy vẽ lược đồ Gantt miêu tả việc thực thi tác vụ T1 T2 chế độ lô Cho e = ms, c = ms, l = ms, n = 4, w< c < r Tính tổng thời gian thực chạy T, P et U cho tác vụ T1 T2 So sánh với chế độ monoprogramming I/O controller CPU SinhVienZone.com T1.R T2.R T1.W T2.W r=8 r=8 w=5 T2 T1 c=7 https://fb.com/sinhvienzonevn Trang Lặp thực n = lần Lưu ý E1 kết thúc, I/O rảnh trở lại T1 chưa thể thực L1 cho chu kỳ lúc T1 dừng Kết T2 chiếm I/O trước để thực hoạt động E2 hình vẽ Khảo sát hình vẽ ta xác định : T = n (2.r + c + w) P = 2.c / (2.r + c + w) U = 2.(r + w) / (2.r + c + w) Áp dụng giá trị cụ thể ta có : T = 112 ms P = 50% U = 93% Nhờ chồng lấp hoạt động dùng CPU I/O (của tác vụ), tỉ lệ dùng CPU dùng I/O tăng lên, nghĩa ta cải thiện độ hiệu việc dùng tài nguyên, kết tổng thời gian thực chạy giảm xuống SinhVienZone.com https://fb.com/sinhvienzonevn ... độ lô : SinhVienZone. com https://fb .com/ sinhvienzonevn Trang I/O controller I/O T1 I/O T2 T3 T2 T1 CPU 11 0 11 5 12 0 13 0 14 0 21 0 25 5 375 Ở t = 21 0, process T2 T3 Ready T2 Ready từ lúc t = 13 0 T3... độ phân chia thời gian : I/O T2 I/O T1 I/O controller quantum CPU T3 T2 T1 10 0 10 5 11 5 12 5 14 0 16 0 25 0 350 370 Tổng thời gian thực chạy cho process T = 20 0+50+ 12 0 = 370ms Tổng thời gian tốn thực... tác vụ T1 T2 So sánh với chế độ monoprogramming I/O controller CPU SinhVienZone. com T1.R T2.R T1.W T2.W r=8 r=8 w=5 T2 T1 c=7 https://fb .com/ sinhvienzonevn Trang Lặp thực n = lần Lưu ý E1 kết thúc,

Ngày đăng: 28/01/2020, 22:29

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w