lOMoARcPSD|39211872 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN =========***========= BÀI TẬP LỚN MÔN: NGUYÊN LÝ HỆ ĐIỀU HÀNH ĐỀ TÀI NGUYÊN CỨU TÌM HIỂU VỀ QUẢN LÝ TIẾN TRÌNH TRONG HỆ ĐIỀU HÀNH WINDOWS Giáo viên hướng dẫn: Nguyễn Bá Nghiễn Nhóm thực hiện: NHÓM 1 Lớp: IT6067.3 Sinh viên thực hiện: 1. Nguyễn Ngọc Hưng 2022601060 3. Đặng Trọng Anh 2022600819 Hà Nội, 2023 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 PHIẾU HỌC TẬP CÁ NHÂN/NHÓM 1 I. Thông tin chung 1.
Tên lớp: 2023IT6067003 2. Họ và tên thành viên trong nhóm: Phạm Văn Tùng, Nguyễn Ngọc Hưng, Đặng Trọng Anh II. Nội dung học tập 1. Tên chủ đề: Nghiên cứu tìm hiểu về quản lý tiến trình trong hệ điều hành window.
Hoạt động của sinh viên - Hoạt động/Nội dung 1: TỔNG QUAN VỀ TIẾN TRÌNH. - Hoạt động/Nội dung 2: CÁC THAO TÁC VỚI TIẾN TRÌNH. - Hoạt động/Nội dung 3: ĐỒNG BỘ. - Hoạt động/Nội dung 4: LẬP LỊCH CPU.
- Hoạt động/Nội dung 5: BẾ TẮC VÀ CHỐNG BẾ TẮC. - Hoạt động/Nội dung 6: QUẢN LÝ TIẾN TRÌNH VỚI TASK MANAGER (WINDOWS 11). Nhiệm vụ học tập 1. Hoàn thành báo cáo bài tập lớn theo đúng thời gian quy định.
Báo cáo sản phẩm nghiên cứu được giao trước giảng viên và các sinh viên khác. Học liệu sử dụng cho bài tập lớn 1. Tài liệu học tập: - Nguyễn Bá Nghiễn, Giáo trình Nguyên lý hệ điều hành. - Tài liệu điện tử trên internet.
1 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 KẾ HOẠCH THỰC HIỆN BÀI TẬP LỚN NHÓM 1 Tên lớp: 2023IT6067003 Tên nhóm: Nhóm 1 Họ tên thành viên của nhóm: Phạm Văn Tùng, Đặng Trọng Anh, Nguyễn Ngọc Hưng. Tên chủ đề: Nghiên cứu tìm hiểu về quản lý tiến trình trong hệ điều hành Windows. Người thực hiện Nội dung công việc Phương pháp thực hiện Thảo luận chủ đề, phân Họp online qua Tất cả thành viên chia công việc Google Meet Tổng quan về tiến trình Tham khảo tài liệu: Sách Phạm Văn Tùng giáo trình và Internet Các thao tác với tiến Tham khảo tài liệu: Sách Phạm Văn Tùng trình giáo trình và Internet Tham khảo tài liệu: Sách Phạm Văn Tùng Đồng bộ giáo trình và Internet Lập lịch CPU Tham khảo tài liệu: Sách Đặng Trọng Anh giáo trình và Internet Tham khảo tài liệu: Sách Nguyễn Ngọc Hưng Bế tắc và chống bế tắc giáo trình và Internet Quản lý tiến trình với Tham khảo tài liệu: Sách Tất cả thành viên giáo trình và Internet Task Manager Ngày 3 tháng 1 năm 2024 Giảng viên Nguyễn Bá Nghiễn 2 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 MỤC LỤC LỜI NÓI ĐẦU. TỔNG QUAN VỀ TIẾN TRÌNH.
Khái niệm tiến trình. Các trạng thái của tiến trình:. Khối điều khiển tiến trình. Bảng và danh sách tiến trình.
Quan hệ giữa các tiến trình. CÁC THAO TÁC VỚI TIẾN TRÌNH. Tạo tiến trình. Kết thúc tiến trình.
Chuyển đổi giữa các tiến trình. Tiểu trình (Thread). Tiến trình đơn luồng và tiến trình đa luồng. Thư viện tiểu trình.
Bài toán nhà sản xuất và người tiêu dùng. Tài nguyên găng và đoạn găng (critical segment). Bài toán đoạn tới hạn (critical problem). Các phương pháp giải quyết bài toán tới hạn.
Phương pháp khóa trong. Phương pháp kiểm tra và xác lập. Phương pháp đèn hiệu. Phương pháp dùng thư ký.
Phương pháp tổ chức liên lạc giữa các tiến trình. LẬP LỊCH CPU. Các khái niệm cơ bản. Khái niệm giờ CPU.
Các trạng thái của tiến trình liên quan đến giờ CPU. Khái niệm lập lịch cho CPU. Các phương pháp lập lịch và yếu tố đánh giá. Các thuật toán lập lịch.
First Come First Served =FCFS.37 3 Downloaded by mon hon (monmon1@gmail. Shortest Job First (SJF). Lập lịch SRTF ( SRT) – Shortest Remaining Time First. Lập lịch Multi Level Queue(MLQ).
Multi Level Feedback Queues (MLFQ). Khái niệm ngắt (Interrupt). Phân loại ngắt. Quy trình xử lí ngắt.
BẾ TẮC VÀ CHỐNG BẾ TẮC. Tài nguyên găng. Khái niệm bế tắc. Điều kiện xảy ra bế tắc.
Loại trừ lẫn nhau:. Giữ và chờ. Không có đặc quyền. Đồ thị cấp phát tài nguyên.
Các phương pháp xử lý bế tắc. Ngăn chặn bế tắc (Deadlock prevention). Tránh bế tắc (Deadlock avoidance). Phát hiện bế tắc.
Xử lý bế tắc. Kết luận chung về phòng tránh bế tắc. QUẢN LÝ TIẾN TRÌNH VỚI TASK MANAGER (WINDOWS 11). Task Manager là gì?.
Chức năng của các Tab trong Task Manager:.60 4 Downloaded by mon hon (monmon1@gmail. Khởi tạo 琀椀ến trình và chạy 琀椀ến trình mới. Chuỗi chờ đợi 琀椀ến trình:.65 DANH MỤC HÌNH ẢNH Hình 1: Cây tiến trình.8 Hình 2:Sơ đồ chuyển trạng thái tiến trình.9 Hình 3: Sơ đồ chuyển tiến trính.9 Hình 4:Quá trình chuyển trạng thái của các tiến trình.10 Hình 5: Sơ đồ chuyển tiến trình vào các hàng đợi.11 Hình 6: Sơ đồ chuyển trạng thái tiến trình có suspend.12 Hình 7: Sơ đồ chuyển trạng thái tiến trình với 2 suspend.13 Hình 8: Khối điều khiển tiến trình.15 Hình 9: Bảng tiến trình.16 Hình 10: Danh sách liên kết của các tiến trình có cùng trạng thái.16 Hình 11:Quá trình tạo tiến trình.18 Hình 12: Tiến trình đơn luồng và tiến trình đa luồng.20 Hình 13: Thư viện tiểu trình.20 Hình 14: Ví dụ cho phương pháp đèn hiệu với S = 2.29 Hình 15: Các trạng thái của tiến trình liên quan đến giờ CPU.32 Hình 16: Sơ đồ thực hiện tiến trình.32 Hình 17: Sơ đồ tổ chức hàng đợi các tiến trình.34 Hình 18: Phạm vi áp dụng của Long-term scheduler và Short-term scheduler.35 Hình 19: Phạm vi áp dụng của Medium-term scheduler.36 Hình 20: Minh hoạ FCFS.37 Hình 21: Minh hoạ SJF.38 Hình 22: : Minh hoạ RR.40 Hình 23: Tổ chức hàng đợi các tiến trình trong MLQ.41 Hình 24: Tổ chức hàng đợi các tiến trình trong MLFQ.42 Hình 25: Tắc đường tại ngã tư giao thông.45 Hình 26: Đồ thị có chu trình dẫn tới bế tắc.48 Hình 27: Đồ thị có chu trình không dẫn tới bế tắc.48 Hình 28: Tài nguyên chỉ có 1 thể hiện.53 Hình 29: Task Manager trong Windows 11.56 Hình 30: Tab Processes trong Task Manager.57 Hình 31: Tab Performance trong Task Manager.58 Hình 32: App History trong Task Manager.59 Hình 33: Startup apps trong Task Manager.59 Hình 34: Tab Users trong Task Manager.60 Hình 35: Tab Detail trong Task Manager.61 Hình 36: Tab Services trong Task Manager.62 Hình 37: Khởi tạo tiến trình trong Task Manager.63 Hình 38: Analyze wait chain.64 5 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 LỜI NÓI ĐẦU Mọi hệ điều hành đa nhiệm, từ những phiên bản đơn người sử dụng cho đến những hệ điều hành hỗ trợ hàng nghìn người dùng, đều phải được xây dựng trên cơ sở của khái niệm về tiến trình. Do đó, một yêu cầu quan trọng trong quá trình thiết kế hệ điều hành là đảm bảo thành phần quản lý tiến trình của nó có khả năng đáp ứng toàn bộ các khía cạnh liên quan đến quản lý tiến trình.
Chúng ta sẽ khám phá chi tiết những nhiệm vụ quan trọng của hệ điều hành trong quản lý tiến trình, từ việc tạo ra và điều khiển đến quyết định kết thúc một tiến trình. Mục tiêu là tìm hiểu về cách những yêu cầu được giải quyết trong môi trường hệ điều hành Windows. Nhiều Tiến Trình, Thời Gian Hồi Đáp Hợp Lý: Điều này đặt ra yêu cầu về sự linh hoạt trong việc thực hiện đồng thời nhiều tiến trình nhằm tối ưu hóa thời gian xử lý, đồng thời đảm bảo sự công bằng và hợp lý trong việc phân phối tài nguyên. Quản Lý Tài Nguyên: Cấp phát và quản lý tài nguyên một cách hiệu quả là chìa khóa để tránh tình trạng bế tắc và đảm bảo sự ổn định của hệ thống.
Giao Tiếp và Truyền Thông: Khả năng hỗ trợ giao tiếp giữa các tiến trình và người sử dụng đóng vai trò quan trọng trong việc tạo ra sự tương tác và linh hoạt. Để làm rõ tất cả các ý trên trong bài này, chúng ta hãy cùng đi vào tìm hiểu trong hệ điều hành Windows. TỔNG QUAN VỀ TIẾN TRÌNH 1. Khái niệm tiến trình 6 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 - Để hỗ trợ hoạt động đa nhiệm, hệ thống máy tính cần phải có khả năng thực hiện nhiều tác vụ xử lý đồng thời nhưng việc điều khiển hoạt động song hành ở cấp độ phần cứng là rất khó khăn.
Vì vậy, các nhà thiết kế hệ điều hành đề xuất một số mô hình song hành giả lập bằng cách chuyển đổi bộ xử lý qua lại giữa các chương trình để duy trì hoạt động của nhiều chương trình tại cùng 1 thời điểm. Trong mô hình này, các chương trình trong hệ thống được tổ chức thành các tiến trình( process). - Như vậy, có thể coi tiến trình là một chương trình đang xử lí, nó sở hữu một con trỏ lệnh, tập các thanh ghi và các biến. Để hoàn thành nhiệm vụ của c mình, các tiến trình có thể còn yêu cầu một số tài nguyên hệ thống như: CPU, bộ nhớ và các thiết bị vào/ra.
- Cần phân biệt rõ hai khái niệm chương trình và tiến trình. Chương trình là một thực thể thụ động chứa đựng các chỉ thị điều khiển máy tính thi hành một tác vụ cụ thể nào đó. Khi cho thực hiện các chỉ thị này, chương trình được chuyển thành tiến trình là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành kèm theo các tập tài nguyên phục vụ cho hoạt động của tiến trình. - Cây tiến trình: + Một tiến trình cha có thể có nhiều tiến trình con + Mỗi tiến trình con chỉ thuộc về 1 tiến trình cha duy nhất + Một tiến trình con có thể tạo ra nhiều con khác 7 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 H椃 nh 1: Cây tiến tr椃 nh 2.
Các trạng thái của tiến trình: - Trạng thái của tiến trình tại mỗi thời điểm được xác định bởi hoạt động hiện thời của tiến trình tại thời điểm đó. Trong suốt khoảng thời gian tồn tại trong hệ thống, một tiến trình có thể thay đổi trạng thái do rất nhiều nguyên nhân như: chờ đợi sự kiện nào đó xảy ra, đợi một thao tác vào/ra hoàn tất, hết thời gian xử lí. - Tiến trình hai trạng thái: + Một số ít hệ điều hành chỉ cho phép tiến trình tồn tại ở một trong hai trạng thái: Not Running và Running. Khi hệ điều hành tạo ra một tiến trình mới, hệ điều hành đưa tiến trình đó vào hệ thống ở trạng thái Not Running, tiến trình ở trạng thái này để chờ được chuyển sang trạng thái Running.
Vì một lý do nào đó, tiến trình đang thực hiện bị ngắt thì bộ điều phối tiến trình của hệ điều hành sẽ thu hồi lại processor của tiến trình này và chọn một tiến trình ở trạng thái Not running để cấp processor cho nó và chuyển nó sang 8 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 trạng thái Running. Tiến trình bị thu hồi processor sẽ được chuyển về lại trạng thái Not running.