Bài tập lớ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

66 0 0
Bài tập lớ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

Đ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

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ấ

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 2022600857 2022601060 Nhóm thực hiện: NHÓM 1 2022600819 Lớp: IT6067.3 Sinh viên thực hiện: 1 Phạm Văn Tùng 2 Nguyễn Ngọc Hưng 3 Đặng Trọng Anh 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 Tên nhóm: 1 3 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 2 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) III 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 2 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 IV 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 Tất cả thành viên Phạm Văn Tùng Thảo luận chủ đề, phân Họp online qua Phạm Văn Tùng chia công việc Google Meet Phạm Văn Tùng Tham khảo tài liệu: Sách Đặng Trọng Anh Tổng quan về tiến trình giáo trình và Internet Nguyễn Ngọc Hưng Tất cả thành viên Các thao tác với tiến Tham khảo tài liệu: Sách trình giáo trình và Internet Đồng bộ Tham khảo tài liệu: Sách giáo trình và Internet Lập lịch CPU Tham khảo tài liệu: Sách 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 Task Manager giáo trình và Internet Tham khảo tài liệu: Sách giáo trình và Internet 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 6 I TỔNG QUAN VỀ TIẾN TRÌNH .7 1 Khái niệm tiến trình 7 2 Các trạng thái của tiến trình: 8 3 Khối điều khiển tiến trình 15 4 Bảng và danh sách tiến trình 15 5 Quan hệ giữa các tiến trình 16 II CÁC THAO TÁC VỚI TIẾN TRÌNH .17 1 Tạo tiến trình 17 2 Kết thúc tiến trình 18 3 Chuyển đổi giữa các tiến trình .18 4 Tiểu trình (Thread) 19 a Khái Niệm 19 b Tiến trình đơn luồng và tiến trình đa luồng .19 c Thư viện tiểu trình 20 III ĐỒNG BỘ .21 1 Bài toán nhà sản xuất và người tiêu dùng 21 2 Tài nguyên găng và đoạn găng (critical segment) 22 3 Bài toán đoạn tới hạn (critical problem) 22 4 Các phương pháp giải quyết bài toán tới hạn 23 a Phương pháp khóa trong 23 b Phương pháp kiểm tra và xác lập .26 c Phương pháp đèn hiệu 27 d Phương pháp dùng thư ký 30 e Phương pháp tổ chức liên lạc giữa các tiến trình .31 IV LẬP LỊCH CPU 31 1 Các khái niệm cơ bản 31 a Khái niệm giờ CPU 31 b Các trạng thái của tiến trình liên quan đến giờ CPU 32 c Khái niệm lập lịch cho CPU 33 d Các phương pháp lập lịch và yếu tố đánh giá 35 2 Các thuật toán lập lịch .37 a First Come First Served =FCFS .37 3 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 b Shortest Job First (SJF) 38 c Lập lịch SRTF ( SRT) – Shortest Remaining Time First .38 d Round-Robin (lập lịch quay vòng) 39 e Priority Scheduling (lập lịch có độ ưu tiên) 40 f Lập lịch Multi Level Queue(MLQ) 41 g Multi Level Feedback Queues (MLFQ) 42 3 Ngắt 43 a Khái niệm ngắt (Interrupt) 43 b Phân loại ngắt 43 c Quy trình xử lí ngắt 44 V BẾ TẮC VÀ CHỐNG BẾ TẮC 45 1 Tài nguyên găng .45 2 Khái niệm bế tắc .46 3 Điều kiện xảy ra bế tắc 46 a Loại trừ lẫn nhau: 46 b Giữ và chờ .46 c Không có đặc quyền .46 d Chờ vòng 47 4 Đồ thị cấp phát tài nguyên 47 5 Các phương pháp xử lý bế tắc 48 a Ngăn chặn bế tắc (Deadlock prevention) 49 b Tránh bế tắc (Deadlock avoidance) 50 c Phát hiện bế tắc 52 d Xử lý bế tắc .53 6 Kết luận chung về phòng tránh bế tắc .55 VI QUẢN LÝ TIẾN TRÌNH VỚI TASK MANAGER (WINDOWS 11) 55 1 Task Manager là gì? 55 2 Chức năng của các Tab trong Task Manager: .56 a Tab Processes (tab 琀椀ến trình): 56 b Tab Performance (Tab hiệu suất): 57 c App History: .58 d Startup apps: 59 e Tab Users (Tab người dùng): 60 f Tab Details (Tab chi 琀椀ết) 60 4 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 3 Khởi tạo 琀椀ến trình và chạy 琀椀ến trình mới 63 4 Chuỗi chờ đợi 琀椀ến trình: .63 KẾT LUẬN 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 I 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 H椃nh 2:Sơ đồ chuyển trạng thái tiến tr椃nh + Tại một thời điểm xác định chỉ có duy nhất một tiến trình ở trạng thái Running, nhưng có thể có nhiều tiến trình ở trạng thái Not running, các tiến trình ở trạng thái Not running được chứa trong một hàng đợi (Queue) Tiến trình đang ở trạng thái Running bị chuyển sang trạng thái Not running sẽ được đưa vào hàng đợi Hình vẽ sau đây mô tả việc chuyển trạng thái tiến trình trong các hệ điều hành sử dụng 2 trạng thái tiến trình H椃nh 3: Sơ đồ chuyển tiến trính - Tiến trình ba trạng thái: Đa số hệ điều hành đều cho phép tiến trình tồn tại ở một trong ba trạng thái, đó là: ready, running, blocked: + Trạng thái Ready (sẵn sàng): Ngay sau khi khởi tạo tiến trình, đưa tiến trình vào hệ thống và cấp phát đầy đủ tài nguyên (trừ processor) cho tiến trình, hệ điều hành đưa tiến trình vào trạng thái ready Hay nói cách khác, 9 Downloaded by mon hon (monmon1@gmail.com)

Ngày đăng: 22/03/2024, 22:37

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

Tài liệu liên quan