Nghiên cứu tìm hiểu về quản lí tiến trình trong hệ điều hành windows

45 11 0
Nghiê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

Tất cả các hệ điều hành đa chương, từ các hệ điều hành đơn người sử dụng đến các hệ điều hành có thể hỗ trợ đến hàng ngàn người sử dụng, đều phải xây dụng dựa trên khái niệm tiến trình. Vì thế, một yêu cầu quan trọng trong thiết kế hệ điều hành là thành phần quản lý tiến trình của hệ điều hành phải đáp ứng tất cả những gì liên quan đến tiến trình: • Hệ điều hành phải cho phép thực hiện nhiều tiến trình đồng thời để khai thác tối đa thời gian xử lý của processor nhưng cũng cung cấp được thời gian hồi đáp hợp lý. • Hệ điều hành phải cấp phát tài nguyên để tiến trình hoạt động một cách hiệu quả với một chính sách hợp lý nhưng không xảy ra tình trạng tắc nghẽn trong hệ thống. • Hệ điều hành có thể được yêu cầu để hỗ trợ truyền thông liên tiến trình và người sử dụng tạo ra tiến trình. Hệ điều hành phải có nhiệm vụ tạo ra tiến trình, điều khiển sự hoạt động của tiến trình và kết thúc tiến trình. Một số hệ điều hành phân biệt hai khái niệm tiến trình và tiểu trình. Tiến trình liên quan đến quyền sở hữu tài nguyên, tiểu trình liên quan đến sự thực hiện chương trình. Trong các hệ điều hành đa chương, có nhiều tiến trình tồn tại trên bộ nhớ chính, các tiến trình này luân phiên giữa hai trạng thái: sử dụng processor và đợi thực hiện vàora hay một vài sự kiện nào đó xảy ra. Để làm sáng tỏ tất cả những vấn đề trên trong bài tập lớn này,chúng ta cùng đi vào tìm hiểu trong hệ điều hành windows.

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: Nghiên cứu tìm hiểu quản lí tiến trình Hệ điều hành Windows Giáo viên hướng dẫn : Th.s Nguyễn Tuấn Tú Sinh viên thực : Lê Văn Quảng Lê Văn Quyết Nguyễn Sơn Thạch Hồ Kim Quảng Hà Nội, 2017 Mục lục Lời nói đầu _3 Chương Tổng quan loại tiến trình. _4 Tiến trình loại tiến trình. _4 Mơ hình tiến trình. _6 Tiểu trình tiến trình. Các trạng thái tiến trình. _9 Cấu trúc liệu khối quản lý tiến trình. 14 Các thao tác điều khiển tiến trình. 16 Chương Tài nguyên găng đoạn găng. _19 Tài nguyên Găng (Critical Resource) _19 Đoạn Găng ( Critical Section) _19 Yêu cầu công tác điều độ qua đoạn Găng. 20 Chương Tắc nghẽn (Deadblock) chống tắc nghẽn _22 1.Tắc nghẽn _22 Điều kiện để hình thành tắt nghẽn. _22 Ngăn chặn tắc nghẽn (Deadlock Prevention) _23 Nhận biết tắc nghẽn (Deadlock detection) 24 Chương Điều phối tiến trình 26 Mục tiêu điều phối tiến trình 26 Tổ chức điều phối tiến trình _29 Các thuật toán điều phối tiến trình 30 Chương Quản lý tiến trình với Task Manager ( Windows 10) _35 Task Manager gì? _35 Chức Tab Task Manager 36 Khởi tạo tiến trình chạy tiến trình 41 Chuỗi chờ đợi tiến trình 42 Tổng kết 43 Tài liệu tham khảo 43 Lời nói đầu Tất hệ điều hành đa chương, từ hệ điều hành đơn người sử dụng đến hệ điều hành hỗ trợ đến hàng ngàn người sử dụng, phải xây dụng dựa khái niệm tiến trình Vì thế, yêu cầu quan trọng thiết kế hệ điều hành thành phần quản lý tiến trình hệ điều hành phải đáp ứng tất liên quan đến tiến trình:  Hệ điều hành phải cho phép thực nhiều tiến trình đồng thời để khai thác tối đa thời gian xử lý processor cung cấp thời gian hồi đáp hợp lý  Hệ điều hành phải cấp phát tài nguyên để tiến trình hoạt động cách hiệu với sách hợp lý khơng xảy tình trạng tắc nghẽn hệ thống  Hệ điều hành yêu cầu để hỗ trợ truyền thông liên tiến trình người sử dụng tạo tiến trình Hệ điều hành phải có nhiệm vụ tạo tiến trình, điều khiển hoạt động tiến trình kết thúc tiến trình Một số hệ điều hành phân biệt hai khái niệm tiến trình tiểu trình Tiến trình liên quan đến quyền sở hữu tài nguyên, tiểu trình liên quan đến thực chương trình Trong hệ điều hành đa chương, có nhiều tiến trình tồn nhớ chính, tiến trình ln phiên hai trạng thái: sử dụng processor đợi thực vào/ra hay vài kiện xảy Để làm sáng tỏ tất vấn đề tập lớn này,chúng ta vào tìm hiểu hệ điều hành windows Chương Tổng quan loại tiến trình Tiến trình loại tiến trình Để hỗ trợ hoạt động đa nhiệm, hệ thống máy tính cần phải có khả thực nhiều tác vụ xử lí đồng thời việc điều khiển hoạt động song hành cấp dộ phần cứng khó khắn Vì vậy, nhà thiết kế hệ điều hành đề xuất mơ hình song hành giả lập cách chuyển đổi xử lý qua lại chương trình để trì hoạy động nhiều chương trình thời điểm Trong mơ hình này, hệ thống tổ chức thành tiến trình (process) Tiến trình (process): Tiến trình phận chương trình thực hiện, đơn vị thực tiến trình processer Ở nhấn mạnh thêm rằng: Vì tiến trình phận chương trình nên tương tự chương trình tiến trình sở hữu trỏ lệnh, trỏ stack, tập ghi, không gian địa nhớ tất thơng tin cần thiết khác để tiến trình hoạt động Khái niệm mang tính trực quan, để thấy chất tiến trình chuyên gia hệ điều hành đưa nhiều định nghĩa khác tiến trình Định nghĩa Saltzer: Tiến trình chương trình processor logic thực Định nghĩa Horning & Rendell:Tiến trình trình chuyển từ trạng thái sang trạng thái khác tác động hàm hành động, xuất phát từ trạng thái ban đầu Cần phân biệt rõ hai khái niệm chương trình tiến trình Chương trình thực thể thụ động chứa đựng thị điều khiển máy tính thi hành tác vụ cụ thể Khi cho thực thị này, với trỏ lệnh xác định thị thi hành kèm theo tập tài nguyên phục vụ cho hoạt động tiến trình Các loại tiến trình: Các tiến trình hệ thống chia thành hai loại: tiến trình tiến trình song song Tiến trình tiến trình mà điểm khởi tạo điểm kết thúc tiến trình trước Tiến trình song song tiến trình mà điểm khởi tạo tiến trình mằn thân tiến trình khác, tức khởi tạo tiến trình tiến trình trước chưa kết thúc Tiến trình song song chia thành nhiều loại:  Tiến trình song song độc lập: tiến trình hoạt động song song khơng có quan hệ thông tin với nhau, trường hợp hệ điều hành phải thiết lập chế bảo vệ liệu tiến trình, cấp phát tài nguyên cho tiến trình cách hợp lý  Tiến trình song song có quan hệ thơng tin: q trình hoạt động tiến trình thường trao đổi thơng tin với nhau, số trường hợp tiến trình gởi thơng báo cần phải nhận tín hiệu từ tiến trình nhận để tiếp tục, điều dễ dẫn đến bế tắc tiến trình nhận tín hiệu khơng trạng thái nhận hay tiến trình gởi khơng trạng thái nhận thông báo trả lời  Tiến trình song song phân cấp: Trong qua trình hoạt động tiến trình khởi tạo tiến trình khác hoạt động song song với nó, tiến trình khởi tạo gọi tiến trình cha, tiến trình tạo gọi tiến trình Trong mơ hình hệ điều hành phải giải vấn đề cấp phát tài nguyên cho tiến trình Tiến trình nhận tài nguyên đâu, từ tiến trình cha hay từ hệ thống Để giải vấn đề hệ điều hành đưa mơ hình quản lý tài ngun: Thứ nhất, mơ hình tập trung, mơ hình hệ điều hành chịu trách nhiệm phân phối tài nguyên cho tất tiến trình hệ thống Thứ hai, mơ hình phân tán, mơ hình hệ điều hành cho phép tiến trình nhận tài nguyên từ tiến trình cha, tức tiến trình khởi tạo có nhiệm vụ nhận tài nguyên từ hệ điều hành để cấp phát cho tiến trình mà tạo ra, có nhiệm vụ thu hồi lại tài nguyên cấp phát trả cho hệ điều hành trước kết thúc  Tiến trình song song đồng mức: tiến trình hoạt động song song sử dụng chung tài nguyên theo nguyên tắc lần lượt, tiến trình sau khoảng thời gian chiếm giữ tài nguyên phải tự động trả lại tài nguyên cho tiến trình Mơ hình tiến trình Đa số hệ điều hành muốn đưa đa chương, đa nhiệm vào hệ thống Tức là, hệ thống có nhiều chương trình hoạt động đồng thời (concurrence) với Về nguyên tắc, để thực điều hệ thống phải có nhiều processor, processor có nhiệm vụ thực chương trình, mong muốn hệ điều hành người sử dụng thực đa chương hệ thống có processor, thực tế xuất nhiều hệ điều hành thực điều này, hệ điều hành windows9x, windowsNT/2000 chạy máy tính cá nhân ví dụ Để thực điều hệ điều hành sử dụng mơ hình tiến trình để tạo song song giả hay tạo processor logic từ processor vật lý Các processor logic hoạt động song song với nhau, processor logic chịu trách nhiệm thực tiến trình Trong mơ hình tiến trình hệ điều hành chia chương trình thành nhiều tiến trình, khởi tạo đưa vào hệ thống nhiều tiến trình chương trình nhiều chương trình khác nhau, cấp phát đầy đủ tài nguyên (trừ processor) cho tiến trình đưa tiến trình sang trạng thái sẵn sàng Hệ điều hành bắt đầu cấp processor cho tiến trình số tiến trình trạng thái sẵn sàng để tiến trình hoạt động, sau khoảng thời gian hệ điều hành thu hồi processor tiến trình để cấp cho tiến trình sẵn sàng khác, sau hệ điều hành lại thu hồi processor từ tiến trình mà vừa cấp để cấp cho tiến trình khác, tiến trình mà trước bị hệ điều hành thu hồi processor chưa kết thúc, tất tiến trình mà hệ điều hành khởi tạo hoạt động kết thúc Điều đáng ý mơ hình tiến trình khoảng thời gian chuyển processor từ tiến trình sang tiến trình khác hay khoảng thời gian hai lần cấp phát processor tiến trình nhỏ nên tiến trình có cảm giác ln sở hữu processor (logic) hay hệ thống có cảm giác tiến trình/chương trình hoạt động song song Hiện tượng gọi song song giả Giả sử hệ thống có tiến trình sẵn sàng P1, P2, P3 trình chuyển processor tiến trình minh họa sau: Thời điểm Trạng thái tiến trình t1 t2 P1: cấp processor P1: bị thu hồi processor (khi chưa kết thúc) P3: cấp processor P3: bị thu hồi processor (khi chưa kết thúc) P1: cấp processor P1: kết thúc trả lại processor P2: cấp processor P2: kết thúc trả lại processor P3: cấp processor P3: kết thúc trả lại processor t3 t4 t5 t6 Hình sau minh họa trình thực tiến trình P 1, P2, P3 trên: P1 P2 P3 Time t1 t2 t3 t4 t5 t6 Hình 2.1: Sự hoạt động “song song” tiến trình P1, P2, P3 uniprocessor Chúng ta biết, chức cở processor thực thị máy (machine instrustion) thường trú nhớ chính, thị cung cấp từ chương trình, chương trình bao gồm dãy thị Và theo trên, tiến trình phận chương trình, sở hữu tập lệnh nhớ chính, trỏ lệnh,… Nên xét chất, việc chuyển processor từ tiến trình sang tiến trình khác thực chất việc điều khển processor để thực xen kẽ thị bên tiến trình Điều thực dễ dàng cách thay đổi hợp lý giá trị trỏ lệnh, cặp ghi CS:IP processor thuộc kiến trúc Intel, để trỏ lệnh đến thị cần thực tiến trình Mơ hình tiến trình hệ thống có điều lợi:  Tiết kiệm nhớ: khơng phải nạp tất chương trình vào nhớ mà nạp tiến trình cần thiết nhất, sau tùy theo u cầu mà nạp tiếp tiến trình khác  Cho phép chương trình hoạt động song song nên tốc độ xử lý toàn hệ thống tăng lên khai thác tối đa thời gian xử lý processor Tiểu trình tiến trình  Tiểu trình: Thơng thường tiến trình có khơng gian địa dòng xử lý Nhưng thực tế có số ứng dụng cần nhiều dịng xử lý chia sẻ không gian địa tiến trình, dịng xử lý hoạt động song song với tiến trình độc lập hệ thống Để thực điều hệ điều hành đưa chế thực thi (các thị chương trình) mới, gọi tiểu trình  Tiểu trình đơn vị xử lý hệ thống, hồn tồn tương tự tiến trình Tức phải xử lý thị máy nó, sở hữu trỏ lệnh, tập ghi, không gian stack riêng Một tiến trình đơn bao gồm nhiều tiểu trình Các tiểu trình tiến trình chia sẻ khơng gian địa chung, nhờ mà tiểu trình chia sẻ biến tồn cục tiến trình truy xuất lên vùng nhớ stack Các tiểu trình chia sẻ thời gian xử lý processor giống cách tiến trình, nhờ mà tiểu trình hoạt động song song (giả) với Trong trình thực thi tiểu trình tạo tiến trình  Đa tiểu trình đơn tiến trình: Điểm đáng ý mơ hình tiểu trình là: có nhiều tiểu trình phạm vi tiến trình đơn Các tiến trình đơn hoạt động hệ thống multiprocessor uniprocessor Các hệ điều hành khác có cách tiếp cận mơ hình tiểu trình khác Ở tiếp cận mơ hình tiểu trình từ mơ hình tác vụ (Task) Trong phạm vị tác vụ, có nhiều tiểu trình, tiểu trình bao gồm: Một trạng thái thực thi tiểu trình (running, ready,…) Một lưu trữ ngữ cảnh processor tiểu trình trạng thái not running (một cách để xem tiểu trình đếm chương trình độc lập hoạt động phạm vi tác vụ) Các thông tin thống kê việc sử dụng biến cục tiểu trình Một stack thực thi Truy xuất đến nhớ tài nguyên tác vụ, chia sẻ với tất tiểu trình khác tác vụ Các thao tác lập lịch điều phối tiến trình hệ điều hành thực sở tiểu trình Nhưng có thao tác ảnh hưởng đến tấ tiểu trình tác vụ hệ điều hành phải tác động vào tác vụ Vì tất tiểu trình tác vụ chia sẻ khơng gian địa chỉ, nên tất tiểu trình phải đưa vào trạng thái suspend thời điểm Tương tự, tác vụ kết thúc kết thúc tất tiểu trình tác vụ Trạng thái suspend giải thích sau Các trạng thái tiến trình Từ đưa vào hệ thống kết thúc tiến trình tồn trạng thái khác Trạng thái tiến trình thời điểm xác định hoạt động thời tiến trình thời điểm  Tiến trình hai trạng thái: Một số hệ điều hành cho phép tiến trình tồn hai trạng thái: Not Running Running Khi hệ điều hành tạo 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 để chờ chuyển sang trạng thái Running Vì lý đó, tiến trình thực bị ngắt điều phối tiến trình hệ điều hành thu hồi lại processor tiến trình chọn tiến trình trạng thái Not running để cấp processor cho chuyển sang trạng thái Running Tiến trình bị thu hồi processor chuyển lại trạng thái Not running Dispatc h Enter Not Running Runnin Runnin g g Pause Hình.4.1.a: Sơ đồ chuyển trạng thái tiến trình Exit Tại thời điểm xác định có tiến trình trạng thái Runnig, có nhiều tiến trình trạng thái Not running, tiến trình trạng thái Not running chứa hàng đợi (Queue) Tiến trình trạng thái Running bị chuyển sang trạng thái Not running đưa vào hàng đợi Hình vẽ sau mơ tả việc chuyển trạng thái tiến trình hệ điều hành sử dụng trạng thái tiến trình Queue Dispatch Enter Processor Processor Exit Pause Hình 4.1.b: Sơ đồ chuyển tiến trình vào hàng đợi  Tiến trình ba trạng thái: Đa số hệ điều hành cho phép tiến trình tồn ba trạng thái, là: ready, running, blocked:  Trạng thái Ready (sẵn sàng): Ngay sau khởi tạo tiến trình, đưa tiến trình vào hệ thống 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, trạng thái ready trạng thái tiến trình hệ thống chờ cấp processor để bắt đầu thực  Trạng thái Running(thực hiện): Là trạng thái mà tiến trình sở hữu processor để hoạt động, hay nói cách khác thị tiến trình thực hiện/ xử lý processor  Trạng thái Blocked(khố): Là trạng thái mà tiến trình chờ để cấp phát thêm tài nguyên, để kiện xảy ra, hay trình vào/ra kết thúc Quá trình chuyển trạng thái tiến trình mơ tả sơ đồ sau: New Ready Running blocked Hình 2.4.a: Sơ đồ chuyển trạng thái tiến trình 10 Exit

Ngày đăng: 04/12/2023, 22:43

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

Tài liệu liên quan