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

(Tiểu luận) báo cáo giữa kỳ bài tập lớn hệ điều hành đề tài tìm hiểu và mô phỏng các thuật toán lập lịch cho cpu

41 16 2

Đ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

Tiêu đề Tìm Hiểu Và Mô Phỏng Các Thuật Toán Lập Lịch Cho CPU
Tác giả Nguyễn Mạnh Toàn, Phùng Ngọc Tùng, Nguyễn Phương Linh, Đinh Việt Thắng, Kiều Đức Thành
Người hướng dẫn TS. Nguyễn Thanh Bình
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Điện Tử
Thể loại Báo Cáo Giữa Kỳ Bài Tập Lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 41
Dung lượng 1,27 MB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ -🙞🙜🕮🙞🙜 - BÁO CÁO GIỮA KỲ BÀI TẬP LỚN h HỆ ĐIỀU HÀNH ĐỀ TÀI: TÌM HIỂU VÀ MƠ PHỎNG CÁC THUẬT TỐN LẬP LỊCH CHO CPU Giảng viên hướng dẫn: TS Nguyễn Thanh Bình Họ tên sinh viên MSSV Lớp Nguyễn Mạnh Toàn 20200543 Điện tử 08 - K65 Phùng Ngọc Tùng 20203781 Điện tử 08 - K65 Nguyễn Phương Linh 20203730 Điện tử 08 - K65 Đinh Việt Thắng 20200607 Điện tử 08 - K65 Kiều Đức Thành 20203583 Điện tử 08 - K65 Hà Nội, 11/2023 LỜI NÓI ĐẦU Hệ điều hành coi linh hồn phần cứng máy tính, mơi trường chương trình thực thi Với chức phân phối quản lý tài nguyên hợp lý, đồng thời tạo giao diện thân thiện với người dùng, hệ điều hành phần then chốt thiếu hệ thống máy tính điện tử Trong mơi trường xử lý đa nhiệm, xảy tình nhiều tiến trình đồng thời sẵn sàng để xử lý Điều yêu cầu hệ điều hành phải lựa chọn xử lý tiến trình hàng đợi cách hợp lý hiệu Do đó, chức quan trọng thiếu hệ điều hành lập lịch cho tiến trình Để cho tiến trình xử lý hiệu thời gian đợi nhất, hệ điều hành phải sử dụng giải thuật lập lịch thích hợp để chọn tiến trình hàng đợi Giải thuật phải tối ưu suất CPU giảm thời gian chờ đợi trung bình, giúp tiến trình thực thi nhanh chóng Chính tính đặc biệt mà giải thuật lập lịch tiến trình đem lại để tìm h hiểu kĩ nguyên tắc hoạt động chúng, nhóm chúng em tìm hiểu nghiên cứu đề tài: “Tìm hiểu mơ thuật tốn lập lịch cho CPU” Nhóm chúng em xin gửi lời cảm ơn chân thành đến Thầy Nguyễn Thanh Bình hướng dẫn, đưa quy trình tìm hiểu để nhóm chúng em hoàn thành mục tiêu đề tài Trong q trình thực đề tài, chúng em khơng tránh khỏi thiếu sót, mong nhận dẫn góp ý thầy để đề tài ngày hồn thiện MỤC LỤC LỜI NĨI ĐẦU DANH MỤC KÍ HIỆU VÀ TỪ VIẾT TẮT DANH MỤC HÌNH VẼ PHÂN CÔNG CÔNG VIỆC CHƯƠNG 1: LÝ THUYẾT CƠ BẢN VỀ HỆ ĐIỀU HÀNH 1.1 Giới thiệu chung Hệ điều hành 1.2 Các chức Hệ điều hành 1.3 Nhiệm vụ Hệ điều hành 1.4 Phân loại hệ điều hành CHƯƠNG 2: TỔNG QUAN VỀ TIẾN TRÌNH 2.1 Khái niệm tiến trình 2.2 Các trạng thái tiến trình 10 2.3 Các đặc tính tiến trình 11 2.4 Khối điều khiển tiến trình (Process Control Block) 11 CHƯƠNG 3: LẬP LỊCH CHO TIẾN TRÌNH 13 Chu kỳ CPU I/O burst 13 3.2 Bộ lập lịch CPU (CPU Scheduler) 14 3.3 Bộ điều phối (Dispatcher) 14 3.4 Tiêu chuẩn lập lịch (Scheduling criteria) 15 3.5 Mục tiêu lập lịch 15 3.6 Lập lịch ưu tiên (Preemptive Scheduling) 15 h 3.1 CHƯƠNG 4: GIẢI THUẬT LẬP LỊCH 17 4.1 Thuật toán First Come First Serve (FCFS) 17 4.2 Thuật toán Shortest Job First (SJF) 19 4.3 Thuật toán Shortest Remain Time First (SRTF) 22 4.4 Thuật toán Priority Scheduling 26 4.5 Thuật toán Round Robin (RR) 30 KẾT LUẬN 40 TÀI LIỆU THAM KHẢO 41 DANH MỤC KÍ HIỆU VÀ TỪ VIẾT TẮT Từ viết tắt Định nghĩa giải thích CPU Central Processing Unit – Bộ xử lý trung tâm I/O Input/Output FCFS First Come Fist Serve SJF Shortest Job First SRTF Shortest Remain Time First RR Round Robin PCB Process Control Block – Khối điều kiển tiến trình h DANH MỤC HÌNH VẼ HÌNH HỆ ĐIỀU HÀNH HÌNH PROCESS IN MEMORY HÌNH SƠ ĐỒ CHUYỂN TRẠNG THÁI CỦA TIẾN TRÌNH 10 HÌNH PROCESS CONTROL BLOCK (PCB) 12 HÌNH CHU KỲ LUÂN PHIÊN CỦA ĐỢT CPU VÀ I/O 13 HÌNH BIỂU ĐỒ THỜI LƯỢNG CÁC ĐỢT CPU 14 HÌNH MƠ TẢ THUẬT TOÁN FCFS 17 HÌNH BIỂU ĐỒ PHÂN BỐ THỜI GIAN CỦA THUẬT TOÁN FCFS 18 HÌNH MƠ TẢ THUẬT TỐN SJF 20 HÌNH 10 BIỂU ĐỒ PHÂN BỐ THỜI GIAN CỦA THUẬT TOÁN SJF 21 HÌNH 11 BIỂU ĐỒ PHÂN BỐ THỜI GIAN CỦA THUẬT TỐN SRTF 25 HÌNH 12 MƠ TẢ THUẬT TỐN ROUND ROBIN 30 HÌNH 13 TIME QUANTUM VÀ CHUYỂN ĐỔI NGỮ CẢNH 35 HÌNH 14 LẬP LỊCH HÀNG ĐỢI ĐA CẤP (MULTILEVEL QUEUE SCHEDULING) ERROR! BOOKMARK NOT DEFINED h HÌNH 15 CÁC HÀNG ĐỢI PHẢN HỒI ĐA CẤP (MULTILEVEL FEEDBACK QUEUES) ERROR! BOOKMARK NOT DEFINED PHÂN CÔNG CÔNG VIỆC STT TÊN CƠNG VIỆC CỤ THỂ Đinh Việt Thắng Tìm hiểu lý thuyết tiến trình, lý thuyết thuật tốn, soạn thảo báo cáo Kiều Đức Thành Tìm hiểu lý thuyết lập lịch, lý thuyết thuật toán, soạn thảo báo cáo Nguyễn Phương Linh Tìm hiểu thuật tốn, đề xuất mô cải tiến Round Robin, soạn thảo báo cáo Nguyễn Mạnh Tồn Tìm hiểu mơ thuật toán, soạn thảo Phùng Ngọc Tùng báo cáo, làm slide h CHƯƠNG 1: LÝ THUYẾT CƠ BẢN VỀ HỆ ĐIỀU HÀNH Trong chương này, chúng em xin trình bày tổng quan hệ điều hành Sau đó, chúng em trình bày khái niệm, chức năng, nhiệm vụ phân loại hệ điều hành 1.1 Giới thiệu chung Hệ điều hành Hệ điều hành phần mềm chạy máy tính thiết bị di động, dùng để điều hành, quản lý thiết bị phần cứng tài nguyên phần mềm máy tính, thiết bị di động Hệ điều hành đóng vai trị trung gian việc giao tiếp người sử dụng phần cứng máy tính Khi khởi động máy tính, hệ điều hành khởi động đầu tiên, sau người sử dụng sử dụng chương trình ứng dụng khác thơng qua giao diện tương tác hệ điều hành cung cấp h Hình Hệ điều hành 1.2 Các chức Hệ điều hành Hệ điều hành có chức sau: - Quản lý tiến trình (process management) - Quản lý nhớ (memory management) - Quản lý hệ thống lưu trữ - Giao tiếp với người dùng 1.3 Nhiệm vụ Hệ điều hành ➢ Điều khiển quản lý trực tiếp phần cứng ➢ Thực số thao tác máy tính thao tác đọc, viết tập tin, quản lý hệ thống tập tin (file system) kho liệu ➢ Cung ứng hệ thống giao diện sơ khai cho ứng dụng ➢ Cung ứng hệ thống lệnh để điều hành máy Các lệnh gọi lệnh hệ thống (system command) 1.4 Phân loại hệ điều hành Phân loại hệ điều hành góc độ người sử dụng số chương trình thực thi lúc hệ điều hành: h ❖ Hệ điều hành đơn nhiệm người sử dụng Hệ điều hành cho phép thời điểm có chương trình thực thi Muốn thực nhiều chương trình, chương trình phải thực Mỗi lần làm việc có người đăng nhập vào hệ thống VD: MS-DOS (tiền thân hệ điều hành Windows nay) ❖ Hệ điều hành đa nhiệm người sử dụng Hệ điều hành loại cho phép người đăng nhập vào hệ thống kích hoạt cho hệ thống thực nhiều chương trình đồng thời VD: Hệ điều hành Windows 95 ❖ Hệ điều hành đa nhiệm nhiều người sử dụng Hệ điều hành loại cho phép nhiều người đăng nhập vào hệ thống thời điểm khác (thông qua tên tài khoản - Account Name) thực đồng thời nhiều chương trình Hệ điều hành loại phức tạp, địi hỏi máy tính phải có xử lí mạnh nhớ lớn Đa số hệ điều hành ngày đa nhiệm nhiều người dùng VD: Windows XP, Windows 7, Linux, CHƯƠNG 2: TỔNG QUAN VỀ TIẾN TRÌNH 2.1 Khái niệm tiến trình • Tiến trình (process) coi chương trình (program) xử lý • Một tiến trình bao gồm: - Giá trị tập ghi xử lý - Giá trị vùng liệu nhớ text (chứa mã code thực thi), data (chứa biến toàn cục), heap (chứa liên kết cấp phát động) stack (lưu biến cục bộ, tham số truyền vào hàm địa trả hàm) h Hình Process in memory • Để hồn thành nhiệm vụ mình, tiến trình cịn yêu cầu số tài nguyên hệ thống như: CPU, nhớ thiết bị • Hệ điều hành sử dụng lập lịch (scheduler) để định thời điểm cần dừng hoạt động tiến trình xử lý lựa chọn tiến trình cần thực • Mục đích cho nhiều tiến trình hoạt động đồng thời: - Tăng hiệu suất sử dụng CPU - Tăng mức độ đa nhiệm - Tăng tốc độ xử lý 2.2 Các trạng thái tiến trình ❖ Tại thời điểm, tiến trình nhận trạng thái sau đây: • New: Tiến trình tạo lập • Running: Các thị tiến trình xử lý • Ready: Tiến tình chờ cấp phát CPU để xử lý • Waiting: Tiến trình dừng để chờ cấp phát tài nguyên, chờ thao tác nhập xuất chờ kiện • Terminated: Tiến trình hồn tất xử lý h Hình Sơ đồ chuyển trạng thái tiến trình ❖ Cách tiến trình chuyển trạng thái: Đầu tiên, vừa khởi tạo, tiến trình trạng thái new Thông qua định thời dài hạn Long-term Scheduler, tiến trình từ new xếp vị trí để vào hàng đợi ready Thơng qua định thời Short-term Scheduler, từ trạng thái ready tiến trình xếp để chuyển qua trạng thái running (là trạng thái chạy - trạng thái sử dụng CPU) Trong trạng thái running, có trạng thái mà tiến trình đạt tiếp theo: • waiting: Khi tiến trình chờ I/O (VD: Khi gọi hàm print (), scanf () C) 10 P2 28 P3 12 P4 10 P5 16 Thời điểm Độ ưu tiên Tiến trình thực thi P1: P1 P1: 11s P4: P4 P1: 9s, P4: 10s P2: P2 - Giản đồ Gantt: - Bảng kết quả: Thời gian cịn lại tiến trình P1: 9s, P2: 28s, h P4: 7s P1: 9s, P2: xong, 33 P4: P4 P3: 2s, P4: 7s, P5: 16s P1: 9s, P2: xong, 40 P1: P1 P3: 2s, P4: xong, P5: 16s P1: xong, P2: 49 P3: P3 xong, P3: 2s, P4: xong, P5: 16s P1: xong, P2: 51 P5: P5 xong, P3: xong, P4: xong, P5: 16s 67 P1: xong, P2: 27 xong, P3: xong, P4: xong, P5: xong - Các thông số: + Thời gian chờ trung bình: Thời gian chờ (waiting time) = tổng thời gian chờ (total waiting time) – thời gian tiến trình thực thi (no of seconds process executed) – thời gian đến (arrival time) P1: 40 – – = 38 ms P2: – – = ms P3: 49 – – 12 = 37 ms P4: 33 – – = 28 ms P5: 51 – – = 42 ms ➔ Thời gian chờ trung bình là: 29 ms h + Thời gian hồn thành trung bình: (49−0)+(33−5)+(51−12)+(40−2)+(67−9) = 42.4 𝑚𝑠 • Ví dụ 2: Xét tập hợp tiến trình với độ ưu tiên (số lớn biểu diễn độ ưu tiên cao hơn) Tính thời gian chờ đợi trung bình (average waiting time) thời gian hồn thành trung bình (average turnaround time) tất tiến trình sử dụng thuật tốn lập lịch khơng tính ưu tiên (non-preemptive) Thời gian đến Thời gian thực thi (ms) (ms) P1 P2 3 P3 P4 5 P5 Tiến trình 28 Độ ưu tiên - Giản đồ Gantt: - Bảng kết quả: Thời điểm Độ ưu tiên Tiến trình thực thi P1: P1 Thời gian cịn lại tiến trình P1: 4s P1: xong, P2: 3s, P4: P4 P3: 1s, P4: 5s, P5: 2s P1: xong, P2: 3s, P5: P5 P3: 1s, P4: xong, P5: 2s P1: xong, P2: 3s, P3: P3 h 11 P3: 1s, P4: xong, P5: xong P1: xong, P2: 3s, 12 P2: P2 P3: xong, P4: xong, P5: xong P1: xong, P2: xong, P3: xong, 15 P4: xong, P5: xong - Các thơng số: Tiến trình Thời gian đến (s) Thời gian thực thi(s) Thời gian chờ (s) Thời gian hoàn thành (turnaround) (s) 29 P1 4–0=4 P2 11 15 – = 14 P3 12 – = 10 P4 9–3=6 P5 11 – = + Thời gian chờ trung bình: 5.2 ms + Thời gian hồn thành trung bình: 8.2 ms • Vấn đề thuật toán lập lịch ưu tiên: Vấn đề với thuật toán lập lịch ưu tiên chặn vơ thời hạn (indefinite blocking/starvation) - Một tiến trình chờ sẵn sàng để chạy chưa có CPU coi tiến trình bị chặn - Thuật tốn lập lịch ưu tiên khiến số tiến trình có độ ưu tiên thấp chờ h đợi vơ thời hạn Những tiến trình nhận CPU muộn khơng nhận CPU 4.5 Thuật toán Round Robin (RR) Thuật toán lập lịch Round Robin thiết kế đặc biệt cho hệ thống đa nhiệm Nó giống với FCFS có thêm yêu tố ưu tiên, cho phép hệ thống switch tiến trình Hình 12 Mơ tả thuật tốn Round Robin 30 • Ý tưởng: - Một đơn vị thời gian (time quantum – Tq) định nghĩa, thường có giá trị từ 10 đến 100 mili giây - Hàng đợi theo dạng vòng Bộ lập lịch hết hàng đợi, cấp tài nguyên CPU cho tiến trình khoảng thời gian tối đa time quantum - Hàng đợi thực thi tiến trình theo dạng FIFO Tiến trình đến thêm vào cuối hàng đợi Bộ lập lịch thực thi tiến trình đầu hang đợi, ngắt hết tối đa Tq, chuyển sang tiến trình khác • Các trường hợp xảy ra: - Thời gian cần để thực tiến trình (Tprocess) nhỏ Tq; tiến trình giải phóng CPU, tiến trình bị xóa khỏi hàng đợi, CPU duyệt tới tiến trình khác - Tprocess > Tq: xảy ngắt hệ thống, tiến trình bị đưa cuối hàng đợi, CPU thực thi tiến trình đầu hang đợi • Ví dụ: Cho tiến trình với thời gian đến thời gian thực thi sau Sử dụng giải thuật Round Robin để lập lịch cho tiến trình: h Thời gian thực thi Tiến trình Thời điểm đến (s) P1 11 P2 P3 24 P4 10 P5 14 10 - Chọn time quantum Tq = - Giản đồ Gantt: - Quy trình thuật tốn tóm tắt bảng sau: 31 (s) Thời gian Hàng đợi (tail > head) Tiến trình thực thi Thời gian thực thi cịn lại tiến trình P1 P1: 11s P1 P2 P1: 8s, P2: 7s P2, P3 P1 P1: 8s, P2: 4s, P3: 24s P1, P2 P3 P1: 5s, P2: 4s, P3: 24s 10 P4, P1, P2 P3 P1: 5s, P2: 4s, P3: 23s, P4: 4s 12 P3, P4, P1 P2 P1: 5s, P2: 4s, P3: 21s, P4: 4s 14 P5, P3, P4, P1 P2 P1: 5s, P2: 2s, P3: 21s, P4: 4s, P5: 10s 15 P2, P5, P3, P4 P1 P1: 5s, P2: 1s, P3: 21s, P4: 4s, P5: 10s 18 P1, P2, P5, P3 P4 P1: 2s, P2: 1s, P3: 21s, P4: 4s, P5: 10s 21 P4, P1, P2, P5 P3 24 P3, P4, P1, P2 P5 P1: 2s, P2: 1s, P3: 18s, P4: 1s, P5: 10s 27 P5, P3, P4, P1 P2 P1: 2s, P2: 1s, P3: 18s, P4: 1s, P5: 7s 28 P5, P3, P4 P1 P1: 2s, P2: xong, P3: 18s, P4: 1s, P5: 7s 30 P5, P3 P4 P1: xong, P2: xong, P3: 18s, P4: 1s, P5: 7s 31 P5 P3 P1: xong, P2: xong, P3: 18s, P4: xong, P5: 7s 34 P3 P5 P1: xong, P2: xong, P3: 15s, P4: xong, P5: 7s 37 P5 P3 P1: xong, P2: xong, P3: 15s, P4: xong, P5: 4s 40 P3 P5 P1: xong, P2: xong, P3: 12s, P4: xong, P5: 4s 43 P5 P3 P1: xong, P2: xong, P3: 12s, P4: xong, P5: 1s h P1: 2s, P2: 1s, P3: 21s, P4: 1s, P5: 10s 32 46 - P3 P5 P1: xong, P2: xong, P3: 9s, P4: xong, P5: 1s 47 P3 P1: xong, P2: xong, P3: 9s, P4: xong, P5: xong 50 P3 P1: xong, P2: xong, P3: 6s, P4: xong, P5: xong 53 P3 P1: xong, P2: xong, P3: 3s, P4: xong, P5: xong 56 P3 P1: xong, P2: xong, P3: xong, P4: xong, P5: xong Kết thuật tốn: Tiến trình Thời gian đến (s) Thời gian thực thi(s) Thời gian chờ (s) Thời gian hoàn thành (turnaround) (s) 11 19 30 – = 30 P2 18 28 – = 25 P3 h - P1 24 26 56 – = 50 P4 10 17 31 – 10 = 21 P5 14 10 23 47 – 14 = 33 Các thơng số: + Thời gian chờ trung bình là: 20.6s + Thời gian để hồn thành trung bình tiến trình (turnaround time) là: 31.8s + Context switch: 14 33 • Ưu điểm: - Các tiến trình ln phiên cho CPU xử lý, nên khơng xảy tình trạng tiến trình phải chờ đợi q lâu - Giải tất tiến trình mà khơng có ưu tiên - Mỗi tiến trình có hội lập lịch lại sau quantum time cụ thể • Nhược điểm: - Hiệu suất bị phụ thuộc nhiều vào quantum time - Thời gian chờ đợi trung bình cao - Tốn nhiều thời gian cho việc chuyển đổi ngữ cảnh • Chọn time quantum Tq: - Cần phải chọn time quantum Tq cho phù hợp Quy tắc time quantum nên dài 80% CPU burst - Nếu Tq lớn thuật toán trở thành FCFS VD: Tq = 50 mili giây P1 có burst time 40 mili giây Các tiến trình khác h hàng đợi có burst time nhỏ: 3,4,5 mili giây ➔ Trong 40 mili giây P1 thực thi tiến trình khác tiếp tục chờ P1 giải phóng CPU, bị bỏ đói thời gian dài ➔ Sẽ trở thành thuật toán FCFS - Nếu Tq nhỏ số lần chuyển đổi ngữ cảnh (context switch) nhiều liên tục Do hiệu thuật toán giảm Các context switch thường nhỏ 10 µgiây (micro giây) VD: Tq = mili giây P1 có burst time mili giây P1 nhận CPU thực thi mili giây bị switch 34 Hình 13 Time quantum chuyển đổi ngữ cảnh • Time quantum thời gian xoay vịng (turnaround time): • Đề xuất tối ưu: - Hiệu suất (performance) phụ thuộc vào độ lớn time quantum Vậy nên nhóm em đề xuất cơng thức tìm time quantum phù hợp để thời gian chờ trung bình nhỏ phải chuyển đổi ngữ cảnh Tq = 𝛼√ ∑𝑛1 𝑃𝑖 𝑛 h Trong đó: 𝛼 = 0.9 n: process Pi: burst time Tq: lấy số nguyên - Ví dụ 1: Trường hợp tiến trình xếp vào hàng đợi theo độ lớn thời gian thực thi (burst time): Thời gian thực thi Thời gian đến (Burst time) (Arrival time) P1 37 P2 58 P3 76 Tiến trình 35 P4 115 P5 137 Tq = 𝛼√ ∑𝑛1 𝑃𝑖 372 + 582 + 762 + 1152 + 1372 √ = 0.9 × = 82 𝑛 Giản đồ Gantt: Thời gian chờ Thời gian hoàn thành (Waiting time) (Turnaround time) P1 37 P2 37 95 P3 95 171 253 368 286 423 Tiến trình h P4 P5 Các thơng số: + Thời gian chờ trung bình là: 134.2 ms + Thời gian để hồn thành trung bình tiến trình (turnaround time) là: 218.8 ms Bảng so sánh thời gian thuật toán với time quantum khác VD1: Thời gian chờ trung bình (ms) Thời gian hồn thành trung bình Context switch (ms) Tq1 = 50 187.8 272.4 10 Tq2 = 82 134.2 218.8 36 - Ví dụ 2: Trường hợp tiến trình xếp theo độ lớn thời gian thực thi (burst time) từ lớn đến nhỏ: Thời gian thực thi Thời gian đến (Burst time) (Arrival time) P5 137 P4 115 P3 76 P2 58 P1 37 Tiến trình Tq = 𝛼√ ∑𝑛1 𝑃𝑖 372 + 582 + 762 + 1152 + 1372 √ = 0.9 × = 82 𝑛 h Giản đồ Gantt: Thời gian chờ Thời gian hoàn thành (Waiting time) (Turnaround time) P1 298 335 P2 240 298 P3 164 240 P4 308 423 P5 253 390 Tiến trình Các thơng số: 37 + Thời gian chờ trung bình là: 252.6 ms + Thời gian để hồn thành trung bình tiến trình (turnaround time) là: 337.2 ms + Context switch: Bảng so sánh thời gian thuật toán với time quantum khác VD2: Thời gian hoàn Thời gian chờ thành trung bình trung bình (ms) - Context switch (ms) Tq1 = 50 275.8 360.4 10 Tq2 = 82 252.6 337.2 Ví dụ 3: Với tiến trình vào hàng đợi ngẫu nhiên: Thời gian đến (Burst time) (Arrival time) 58 P1 37 P4 115 P3 76 P5 137 P2 h Thời gian thực thi Tiến trình ∑𝑛1 𝑃𝑖 372 + 582 + 762 + 1152 + 1372 Tq = 𝛼√ = 0.9 × √ = 82 𝑛 Giản đồ Gantt: Tiến trình Thời gian chờ 38 Thời gian hoàn thành (Waiting time) (Turnaround time) P1 21 58 P2 37 95 P3 292 368 P4 138 253 P5 286 423 Các thơng số: + Thời gian chờ trung bình là: 154.8 ms + Thời gian để hoàn thành trung bình tiến trình (turnaround time) là: 239.4 ms + Context switch: Bảng so sánh thời gian thuật toán với time quantum khác VD3: Thời gian chờ h trung bình (ms) - Thời gian hồn thành trung bình Context switch (ms) Tq1 = 50 207.8 292.4 10 Tq2 = 82 154.8 239.4 Nhận xét: Từ bảng so sánh thời gian thuật toán VD, với Tq = 82 trường hợp thay đổi thứ tự đầu vào tiến trình thời gian chờ đợi trung bình, thời gian hồn thành trung bình, context switch giảm so với trường hợp Tq = 50 Từ đó, thuật tốn tối ưu giúp giảm tài nguyên CPU 39 KẾT LUẬN Sau thời gian tìm hiểu hồn thành báo cáo tập lớn, nhóm em thu số kết sau: • Nghiên cứu tìm hiểu tiến trình lập lịch cho CPU • Tìm hiểu giải thuật lập lịch, ưu nhược điểm giải thuật Một lần chúng em cảm ơn Thầy Nguyễn Thanh Bình giúp đỡ chúng em trình thực báo cáo h 40 TÀI LIỆU THAM KHẢO [1] Operating System Concepts, 10th Edition, Abraham Silberschatz, Peter Baer Galvin, Greg Gagne [2] www.wikipedia.org [3] Mohan, Sumit and Singh, Rajnesh, Optimized Time Quantum for Dynamic Round Robin Algorithm The journal “International Journal of Advance Research in Computer Science and Management”, 06/2018, vol 04, page 03, 318-321 DOI 10.18231/2454-9150.2018.0343 [4] https://www.studytonight.com/operating-system/cpu-scheduling h 41

Ngày đăng: 12/12/2023, 15:08

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w