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 5 0
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

Đ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

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Ệ Đ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 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 hồn thành mục tiêu đề tài Trong 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 hoà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 3.1 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 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 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 TỐ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 TỐN SJF 21 HÌNH 11 BIỂU ĐỒ PHÂN BỐ THỜI GIAN CỦA THUẬT TOÁN SRTF 25 HÌNH 12 MƠ TẢ THUẬT TOÁ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Ì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 toá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 Toàn Tìm hiểu mơ thuật tốn, soạn thảo Phùng Ngọc Tùng báo cáo, làm slide 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ì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ệ đ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ì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ì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

Ngày đăng: 05/12/2023, 05:35

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

Tài liệu liên quan