slide hệ điều hành chương 3 quản lý tiến trình chương 3 phần 1

61 120 0
slide hệ điều hành chương 3 quản lý tiến trình chương 3 phần 1

Đ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

.c om ng co ng th an Chương cu u du o QUẢN LÝ TIẾN TRÌNH CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Nội dung chương co Tiểu trình (thread) ng Khái niệm tiến trình (process) th an Điều phối tiến trình du o ng Đồng tiến trình cu u Tình trạng tắc nghẽn (deadlock) CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Khái niệm tiến trình (process) cu u du o ng th an co ng  Tiến trình chương trình xử lý  Mỗi tiến trình có khơng gian địa chỉ, trỏ lệnh, tập ghi stack riêng  Tiến trình cần đến số tài nguyên CPU, nhớ chính, tập tin thiết bị nhập/xuất  Hệ điều hành sử dụng điều phối (scheduler) để điều phối việc thực thi tiến trình  Trong hệ thống có tiến trình hệ điều hành tiến trình người dùng  Một tiến trình bao gồm Text section (program code), Data section (chứa global variables) CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Khái niệm tiến trình (process) ng  Vùng code: chứa danh sách mã lệnh CT an co  Vùng static data: chứa biến liệu khai báo tường minh CT du o ng th  Vùng dynamic data: chứa vùng nhớ liệu cấp phát động biến động theo thời gian cu u  Vùng stack: phục vụ cho việc gọi hàm chương trình Kích thước vùng biến động theo thời gian Tiến trình nhớ CuuDuongThanCong.com https://fb.com/tailieudientucntt cu u du o ng th an co ng c om Khái niệm tiến trình (process) Các bước nạp chương trình vào nhớ CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Khái niệm tiến trình (process) cu u du o ng th an co ng Các bước hệ điều hành khởi tạo tiến trình  Cấp phát định danh (process number hay process identifier, pid) cho q trình  Cấp phát khơng gian nhớ để nạp trình  Khơi tạo khởi liệu Process Control Block (PCB) cho trình PCB nơi hệ điều hành lưu thông tin trình  Thiết lập mối liên hệ cần thiết (vd: PCB vào hàng đợi định thời,…) CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Khái niệm tiến trình (process) cu u du o ng th an co ng  new: tiến trình vừa tạo  ready: tiến trình có đủ tài ngun, cịn cần CPU  running: lệnh tiến trình thực thi  waiting: blocked, tiến trình đợi I/O hồn tất, tín hiệu  terminated: tiến trình kết thúc CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Khái niệm tiến trình (process) admit exit terminated running interrupt u du o ng ready th an co dispatch I/O or event wait I/O or event completion cu new ng Chuyển đổi trạng thái tiến trình waiting CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Khái niệm tiến trình (process) cu u du o ng th an co ng  Mỗi tiến trình hệ thống cấp phát Process Control Block (PCB)  PCB cấu trúc liệu quan trọng hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Khái niệm tiến trình (process) cu u du o ng th an co ng Chuyển ngữ cảnh (Context switch)  Ngữ cảnh (context) tiến trình trạng thái tiến trình  Ngữ cảnh tiến trình biểu diễn PCB  Chuyển ngữ cảnh (context switch) cơng việc giao CPU cho tiến trình khác Khi cần:  Lưu ngữ cảnh tiến trình cũ vào PCB  Nạp ngữ cảnh từ PCB tiến trình để tiến trình thực thi CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 .c om Điều phối tiến trình Các giải thuật điều phối tiến trình ng Shortest Job First (SJF) P1 cu u du o ng th an co Process Thời điểm đến Burst time (ms) P1 P2 P3 P4  Giản đồ Gantt định thời theo SJF P3 P2 P4 12 16  Thời gian đợi trung bình = (0 + + + 7)/4 = CuuDuongThanCong.com https://fb.com/tailieudientucntt 47 .c om Điều phối tiến trình Các giải thuật điều phối tiến trình co ng Shortest Job First (SJF) th an  Tương ứng với process cần có độ dài CPU burst du o ng  Hàm lựa chọn: chọn process có độ dài CPU burst nhỏ cu u  Chứng minh được: SJF tối ưu việc giảm thời gian đợi trung bình  Nhược điểm: Cần phải ước lượng thời gian cần CPU process CuuDuongThanCong.com https://fb.com/tailieudientucntt 48 .c om Điều phối tiến trình du o ng th an co ng Các giải thuật điều phối tiến trình Shortest Remaining Time First (SRTF) Process Thời điểm đến Burst time (ms) P1 P2 P3 P4 P2 cu P1 u  Giản đồ Gantt định thời theo SRTF P3 P2 P4 P1 11 16  Thời gian đợi trung bình = (9 + + + 2)/4 =  Tốt giải thuật nonpreemptive SJF CuuDuongThanCong.com https://fb.com/tailieudientucntt 49 .c om Điều phối tiến trình Các giải thuật điều phối tiến trình cu u du o ng th an co ng Shortest Remaining Time First (SRTF)  Tránh trường hợp độc chiếm CPU process có thời gian thực thi dài  Cần phải quản lý thời gian thực thi lại process  Có thời gian quay vịng tốt SJF  Process có thời gian thực thi ngắn có độ ưu tiên cao CuuDuongThanCong.com https://fb.com/tailieudientucntt 50 .c om Điều phối tiến trình ng Các giải thuật điều phối tiến trình Priority Scheduling an co  Mỗi process gán độ ưu tiên th  CPU cấp cho process có độ ưu tiên cao du o ng  Định thời sử dụng độ ưu tiên có thể: cu u Preemptive Nonpreemptive 51 CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Điều phối tiến trình th an co ng Các giải thuật điều phối tiến trình Priority Scheduling  SJF giải thuật định thời sử dụng độ ưu tiên với độ ưu tiên thời gian sử dụng CPU dự-đốn  Gán độ ưu tiên cịn dựa vào: cu u du o ng  Yêu cầu nhớ  Số lượng file mở  Tỉ lệ thời gian dùng cho I/O thời gian sử dụng CPU  Vấn đề: trì hỗn vơ hạn định – process có độ ưu tiên thấp khơng thực thi  Giải pháp: aging – độ ưu tiên process tăng theo thời gian CuuDuongThanCong.com https://fb.com/tailieudientucntt 52 .c om Điều phối tiến trình Các giải thuật điều phối tiến trình cu u du o ng th an co ng Round Robin (RR) Chế độ định: preemptive Khoảng thời gian tối đa cho phép (thường 10 - 100 ms) đảm bảo việc sử dụng timer interrupt Process chạy hết thời gian chuyển cuối hàng đợi ready CuuDuongThanCong.com https://fb.com/tailieudientucntt 53 .c om Điều phối tiến trình du o ng th an co ng Các giải thuật điều phối tiến trình Round Robin (RR) Process Burst time (ms) P1 53 P2 17 P3 68 P4 24 cu u  Thời gian lượng định = 20 ms  Giản đồ Gantt: P1 P2 20 37 P3 P4 57 P1 77 P3 97 117 P4 P1 P3 P3 121 134 154 162 Thường có thời gian quay vịng cao SJF, lại có thời gian đáp ứng tốt CuuDuongThanCong.com https://fb.com/tailieudientucntt 54 .c om Điều phối tiến trình Các giải thuật điều phối tiến trình cu u du o ng th an co ng Lượng định thời gian (time quantum) cho Round Robin CuuDuongThanCong.com https://fb.com/tailieudientucntt 55 .c om Điều phối tiến trình Các giải thuật điều phối tiến trình cu u du o ng th an co ng Round Robin  Khi thực chuyển process OS sử dụng CPU process người dùng (OS overhead):  Dừng thực thi, lưu tất thông tin, nạp thông tin process thực thi  Hiệu tùy thuộc vào kích thước thời gian lượng định (cịn gọi time slice) Hàm phụ thuộc khơng đơn giản  Time slice ngắn đáp ứng nhanh  Có nhiều chuyển ngữ cảnh: Phí tổn cao  Time slice dài throughput tốt (do giảm phí tổn OS overhead) thời gian đáp ứng lớn  Nếu time slice lớn, RR trở thành FCFS 56 CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Điều phối tiến trình Các giải thuật điều phối tiến trình ng Round Robin cu u du o ng th an co  Quantum time thời gian chuyển process:  Nếu quantum time = 20 ms thời gian chuyển process = ms, phí tổn OS overhead chiếm 5/25 = 20%  Nếu quantum = 500 ms, phí tổn cịn  1%  Nếu có nhiều người sử dụng hệ thống thuộc loại interactive thấy đáp ứng chậm  Tùy tập công việc mà chọn quantum time phù hợp  Time slice nên lớn tương quan so sánh với thời gian chuyển process  Ví dụ với 4.3 BSD UNIX, time slice giây 57 CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Điều phối tiến trình ng Các giải thuật điều phối tiến trình Round Robin cu u du o ng th an co  Nếu có n process hàng đợi ready, quantum time q, process lấy 1/n thời gian CPU theo khối có kích thước lớn q  Sẽ khơng có process chờ lâu (n - 1)q đơn vị thời gian  RR sử dụng giả thiết ngầm tất process có tầm quan trọng ngang  RR không phù hợp với hệ thống xác định độ ưu tiên khác cho process  Các process dạng CPU-bound “ưu tiên” CuuDuongThanCong.com https://fb.com/tailieudientucntt 58 .c om Điều phối tiến trình cu u du o ng th an co ng Các giải thuật điều phối tiến trình Thuật tốn nhiều mức độ ưu tiên  Danh sách sẵn sàng chia thành nhiều danh sách  Mỗi danh sách gồm tiến trình có độ ưu tiên áp dụng giải thuật điều phối riêng CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Điều phối tiến trình Các giải thuật điều phối tiến trình cu u du o ng th an co ng Điều phối theo nhiều mức ưu tiên xoay vòng (Multilevel Feedback) CuuDuongThanCong.com https://fb.com/tailieudientucntt .c om Điều phối tiến trình co ng Các giải thuật điều phối tiến trình Chiến lược điều phối xổ số (Lottery) an  Mỗi tiến trình cấp “vé số” ng th  HĐH chọn vé “trúng giải”, tiến trình sỡ hữu vé nhận CPU du o  Là giải thuật độc quyền cu u  Đơn giản, chi phí thấp, bảo đảm tính cơng cho tiến trình CuuDuongThanCong.com https://fb.com/tailieudientucntt ... thiết bị nhập/xuất  Hệ điều hành sử dụng điều phối (scheduler) để điều phối việc thực thi tiến trình  Trong hệ thống có tiến trình hệ điều hành tiến trình người dùng  Một tiến trình bao gồm Text... https://fb.com/tailieudientucntt 15 .c om Khái niệm tiến trình (process)  Định danh cho tiến trình phát sinh ng  Đưa tiến trình vào danh sách quản lý hệ thống an co  Xác định độ ưu tiên cho tiến trình th  Tạo PCB cho tiến. .. user  Tiến trình tạo tiến trình tiến trình tạo (tiến trình cha) Quan hệ cha-con định nghĩa tiến trình CuuDuongThanCong.com https://fb.com/tailieudientucntt 17 .c om Khái niệm tiến trình (process)

Ngày đăng: 03/02/2021, 08:38

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan