Bài giảng môn Hệ điều hành: Quản lý tiến trình
lượt xem 7
download
Bài giảng Quản lý tiến trình trình bày các nội dung chính sau: Phân biệt tiến trình và tiểu trình, so sánh các thuật toán điều phối tiến trình. Mời các bạn cùng tham khảo để nắm nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng môn Hệ điều hành: Quản lý tiến trình
- Môn học: Hệ điều hành 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- • Phân biệt tiến trình và tiểu trình • So sánh các thuật toán điều phối tiến trình CuuDuongThanCong.com https://fb.com/tailieudientucntt 2
- CuuDuongThanCong.com https://fb.com/tailieudientucntt 3
- • Tiến trình là một chương trình đang được thực thi • Một tiến trình cần sử dụng các tài nguyên: CPU, bộ nhớ, tập tin, thiết bị nhập xuất để hoàn tất công việc của nó CuuDuongThanCong.com https://fb.com/tailieudientucntt 4
- • Tạo tiến trình – Khởi động hệ thống – Người dùng kích hoạt một chương trình – Một tiến trình tạo một tiến trình khác • Unix/ Linux: exec(), fork() • Windows: CreateProcess() – Cây tiến trình • Unix/ Linux: các tiến trình cha, con có mối quan hệ chặt chẽ • Windows: các tiến trình cha, con độc lập với nhau CuuDuongThanCong.com https://fb.com/tailieudientucntt 5
- • Dừng tiến trình – Xử lý xong lệnh cuối cùng hay gọi lệnh kết thúc • Unix/ Linux: exit() • Windows: ExitProcess() – Một tiến trình yêu cầu dừng một tiến trình khác • Unix/ Linux: kill() • Windows: TerminateProcess() Điều gì xảy ra nếu tiến trình “nạn nhân” vẫn chưa muốn “chết”? – Do lỗi chương trình CuuDuongThanCong.com https://fb.com/tailieudientucntt 6
- Nhận CPU running ready Rs Rs Trả CPU CPU CPU blocked Chờ resource Nhận resource Rs CPU CPU-bound process IO-bound 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt process
- Vào Thoát ready queue CPU Disk 1 disk queue Disk 2 Network network queue I/O other I/O queue CuuDuongThanCong.com https://fb.com/tailieudientucntt 8
- • Định danh (Process ID) pid • Trạng thái tiến trình State • Ngữ cảnh tiến trình (State, details) – Trạng thái CPU – Bộ xử lý (cho máy nhiều CPU) Context – Bộ nhớ chính (IP, Mem, Files…) – Tài nguyên sử dụng /tạo lập • Thông tin giao tiếp Relatives – Tiến trình cha, tiến trình con ( Dad, children) – Độ ưu tiên Scheduling statistic • Thông tin thống kê Process control Block – PCB 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Excel Visual C++ CDplayer Winword CuuDuongThanCong.com https://fb.com/tailieudientucntt 10
- Tiến trình 1 Tiến trình 2 Tiến trình 3 Điều phối như thế nào ??? CPU Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt 11
- • Mục tiêu điều phối • Lựa chọn tiến trình – Tiêu chuẩn lựa chọn – Thời điểm lựa chọn • Chuyển đổi giữa các tiến trình • Các chiến lược điều phối – FCFS Multiple Queues – Round Robin Guaranteed Scheduling – Priority Lottery Scheduling – SJF Fair-Share Scheduling CuuDuongThanCong.com https://fb.com/tailieudientucntt 12
- • Mục tiêu chung – Công bằng sử dụng CPU – Cân bằng sử dụng các thành phần của hệ thống • Hệ thống theo lô – Tối ưu throughput – Giảm thiểu turnaround time: Tquit – Tarrive – Tận dụng CPU • Hệ thống tương tác – Giảm thiểu thời gian chờ (Tối ưu thời gian hồi đáp): Tin ReadyQueue – Cân đối mong muốn của người dùng • Hệ thống thời gian thực – Thời hạn hoàn thành công việc CuuDuongThanCong.com https://fb.com/tailieudientucntt 13
- • Tiêu chí lựa chọn – Chọn tiến trình vào RQ trước – Chọn tiến trình có độ ưu tiên cao hơn • Thời điểm lựa chọn – Điều phối độc quyền (non-preemptive scheduling): một khi tiến trình đang ở trạng thái Running, nó sẽ tiếp tục sử dụng CPU cho đến khi kết thúc hoặc bị block vì I/O hay các dịch vụ của hệ thống (độc chiếm CPU) • P cur kết thúc • P cur : running ->blocked – Điều phối không độc quyền (preemptive scheduling): ngoài thời điểm lựa chọn như điều phối độc quyền, tiến trình đang sử dụng CPU có thể bị ngắt (chuyển sang trạng thái Ready) khi hết thời gian qui định hoặc có tiến trình có độ ưu tiên hơn vào ReadyQueue 14 Q : blocked / new -> ready •CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Context switching – Nhiệm vụ của Dispatcher CuuDuongThanCong.com https://fb.com/tailieudientucntt 15
- • Bản thân HĐH cũng là 1 phần mềm, nghĩa là cũng sử dụng CPU để có thể chạy được. • Câu hỏi: Khi tiến trình A đang chiếm CPU, làm thế nào HĐH có thể thu hồi CPU lại được ? (vì lúc này HĐH không giữ CPU) – Ép buộc tiến trình thỉnh thoảng trả CPU lại cho HĐH ? Có khả thi ? – Máy tính phải có 2 CPU, 1 dành riêng cho HĐH ? – HĐH sử dụng ngắt đồng hồ (ngắt điều phối) để kiểm soát hệ thống • Mỗi khi có ngắt đồng hồ, HĐH kiểm tra xem có cần thu hồi CPU từ 1 tiến trình nào đó lại hay không ? • HĐH chỉ thu hồi CPU khi có ngắt đồng hồ phát sinh. • Khoảng thời gian giữa 2 lần ngắt điều phối gọi là chu kỳ đồng hồ (tối thiểu là 18.2 lần / giây) CuuDuongThanCong.com https://fb.com/tailieudientucntt 16
- • FCFS • Round Robin • Priority • SJF • Multiple Queues • Guaranteed Scheduling • Lottery Scheduling • Fair-Share Scheduling CuuDuongThanCong.com https://fb.com/tailieudientucntt 17
- • Tiêu chí lựa chọn tiến trình – Thứ tự vào hàng đợi Ready Queue • Thời điểm lựa chọn tiến trình – Độc quyền Ready Queue C B A CPU Ready Queue C B CPU Ready Queue C CPU CuuDuongThanCong.com https://fb.com/tailieudientucntt 18
- P TarriveRQ CPU burst P TT WT P1 0 24 P1 24 0 P2 1 3 P2 27-1 24-1 P3 2 3 P3 30-2 27-2 AvgWT = (23+25)/3 = 16 P1 P2 P3 0 24 27 0:00 P1 vào RQ 0:24 P1 kết thúc P1 dùng CPU P2 dùng CPU 0:01 P2 vào RQ 0:27 P2 kết thúc 0:02 P3 vào RQ P3 dùng CPU CuuDuongThanCong.com https://fb.com/tailieudientucntt 19
- • Đơn giản, dễ cài đặt • Chịu đựng hiện tượng tích lũy thời gian chờ – Tiến trình có thời gian xử lý ngắn đợi tiến trình có thời gian xử lý dài – Ưu tiên tiến trình cpu-bounded • Có thể xảy ra tình trạng độc chiếm CPU • Không phù hợp với hệ thống tương tác người dùng CuuDuongThanCong.com https://fb.com/tailieudientucntt 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng môn Hệ Điều Hành
26 p | 557 | 67
-
Bài giảng môn Hệ điều hành: Chương 2 - GV. Nguyễn Thị Ngọc Vinh
66 p | 259 | 55
-
Bài giảng môn Hệ điều hành: Chương 3 - GV. Nguyễn Thị Ngọc Vinh
80 p | 292 | 51
-
Bài giảng môn Hệ điều hành: Chương 4 - GV. Nguyễn Thị Ngọc Vinh
93 p | 245 | 45
-
Bài giảng môn Hệ điều hành: Chương 1 - GV. Nguyễn Thị Ngọc Vinh
24 p | 258 | 35
-
Bài giảng môn Hệ điều hành - Chương 2: Quản lý tiến trình
419 p | 105 | 20
-
Bài giảng Nhập môn Hệ điều hành: Giới thiệu môn học - Nguyễn Xuân Vinh
9 p | 223 | 18
-
Bài giảng môn Hệ điều hành - Chương 4: Quản lý hệ thống file
240 p | 140 | 13
-
Bài giảng môn Hệ điều hành - Chương 1: Tổng quan về hệ điều hành
98 p | 65 | 11
-
Bài giảng môn Hệ điều hành: Hệ thống quản lý tập tin
59 p | 89 | 10
-
Bài giảng môn Hệ điều hành - Chương 3: Quản lý bộ nhớ
226 p | 43 | 9
-
Bài giảng môn Hệ điều hành: Thành phần bảo vệ và bảo mật
48 p | 77 | 9
-
Bài giảng môn Hệ điều hành - Chương 5: Quản lý vào ra
41 p | 51 | 8
-
Bài giảng môn Hệ điều hành: Tổng quan hệ điều hành
41 p | 50 | 8
-
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 1) – Nguyễn Hải Châu
6 p | 221 | 8
-
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 3) – Nguyễn Hải Châu
5 p | 110 | 3
-
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 9) – Nguyễn Hải Châu
2 p | 80 | 3
-
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 5) – Nguyễn Hải Châu
4 p | 95 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn