Tham khảo tài liệu ''giáo trình hướng dẫn phân tích tập hợp các tiến trình hoạt động của hệ thống singleprocessor p1'', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
h a n g e Vi e c u -tr a c k w N y Ví dụ cho ta thấy chất việc thực song song (hay đồng thời) tiến trình hệ thống uniprocessor Rõ ràng với 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 yê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 Việc chọn thời điểm dừng tiến trình hoạt động (đang chiến giữ processor) để thu hồi processor chuyển cho tiến trình khác hay việc chọn tiến trình số tiến trình trạng thái sẵn sàng để cấp processor vấn đề phức tạp địi hỏi hệ điều hành phải có chế điều phối thích hợp tạo hiệu ứng song song giả sử dụng tối ưu thời gian xử lý processor Bộ phận thực chức hệ điều hành gọi điều phối (dispatcher) tiến trình I.1.11 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), tiếp cận windows NT hệ điều hành đa nhiệm khác Trong hệ điều hành tác vụ k lic d o m w o Giáo trình hướng dẫn phân tích tập hợp tiến trình hoạt động hệ thống singleprocessor to bu c C m o d o w w w w w C lic k to bu y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c y o c u -tr a c k c định nghĩa đơn vị bảo vệ hay đơn vị cấp phát tài nguyên Trong hệ thống tồn không gian địa ảo để lưu giữ tác vụ chế bảo vệ truy cập đến file, tài nguyên Vào/Ra tiến trình khác (trong thao tác truyền thơng liên tiến trình) 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ụ Trong ứng dụng server, chẳng hạn ứng dụng file server mạng cục bộ, có yêu cầu hình thành file mới, tiểu trình hình thành từ chương trình quản lý file Vì server phải điều khiển nhiều yêu cầu, đồng thời, nên phải có nhiều tiểu trình tạo giải phóng trong, đồng thời, khoảng thời gian ngắn Nếu server hệ thống multiprocessor tiểu trình tác vụ thực đồng thời processor khác nhau, hiệu suất hệ thống tăng lên Sự hình thành tiểu trình thật hữu ích hệ thống uniprocessor, trường hợp chương trình phải thực nhiều chức khác Hiệu việc sử dụng tiểu trình thấy rõ ứng dụng cần có truyền thơng tiến trình chương trình khác 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 I.1.12 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 Dispatch d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c 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 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 Enter Dispatc Exit Processor Pause Hình 2.3.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 (khoá): 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ơ đồ d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c sau: New Ready Blocke d Runnin g Exit Hình 2.4.a: Sơ đồ chuyển trạng thái tiến trình Trong đó: (Admit) Tiến trình khởi tạo, đưa vào hệ thống, cấp phát đầy đủ tài nguyên thiếu processor (Dispatch) Tiến trình cấp processor để bắt đầu thực hiện/ xử lý (Release) Tiến trình hoàn thành xử lý kết thúc (Time_out) Tiến trình bị điều phối tiến trình thu hồi processor, hết thời gian quyền sử dụng processor, để cấp phát cho tiến trình khác (Event wait) Tiến trình chờ kiện xảy hay chờ thao vào/ra kết thúc hay tài nguyên mà tiến trình yêu cầu chưa hệ điều hành đáp ứng (Event Occurs) Sự kiện mà tiến trình chờ xảy ra, thao tác vào/ra mà tiến trình đợi kết thúc, hay tài nguyên mà tiến trình yêu cầu hệ điều hành đáp ứng, Bộ phận điều phối tiến trình thu hồi processor từ tiến trình thực trường hợp sau: Tiến trình thực hết thời gian (time-out) quyền sử dụng processor mà phận điều phối dành cho Có tiến trình phát sinh tiến trình có độ ưu tiên cao tiến trình Có tiến trình phát sinh tiến trình cần khoảng thời gian processor nhỏ nhiều so với khoảng thời gian cịn lại mà tiến trình cần processor Tại thời điểm xác định hệ thống có nhiều tiến trình trạng thái Ready Blocked có tiến trình trạng thái Running Các tiến trình trạng thái Ready Blocked chứa hàng đợi (Queue) riêng Admi Ready Queue Dispatc h Processor Time- Event Event Release d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c Có nhiều lý để tiến trình trạng thái running chuyển sang trạng thái blocked, đa số hệ điều hành thiết kế hệ thống hàng đợi gồm nhiều hàng đợi, hành đợi dùng để chứa tiến trình đợi kiện Tiến trình trạng thái: Trong mơi trường hệ điều hành đa nhiệm việc tổ chức Queue để lưu tiến trình chưa thể hoạt động cần thiết, tồn nhiều tiến trình Queue, hay xác nhớ chính, dẫn đến trình trạng lãng phí nhớ, khơng cịn đủ nhớ để nạp tiến trình khác cần thiết Mặt khác tiến trình Queue chiếm giữ tài nguyên hệ thống, mà tài nguyên lại tài nguyên tiến trình khác cần, điều dẫn đến tình trạng sử dụng tài nguyên không hợp lý, làm cho hệ thống thiếu tài nguyên (thực chất thừa) trầm trọng làm cho hệ thống tắc nghẽn Với lý hệ điều hành đa nhiệm thiết kế thêm trạng thái tiến trình mới, trạng thái Suspend (tạm dừng) Trạng thái cần thiết cho hệ thống sử dụng kỹ thuật Swap việc cấp phát nhớ cho tiến trình Khái niệm Swap đề cập đến chương Quản lý nhớ tài liệu New Ready Running Activate End Suspend Blocked Suspend Hình 2.5.a: Sơ đồ chuyển trạng thái tiến trình có d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c ... 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. .. tiểu trình tác vụ Trạng thái suspend giải thích sau I.1.12 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. .. phối tiến trình thu hồi processor từ tiến trình thực trường hợp sau: Tiến trình thực hết thời gian (time-out) quyền sử dụng processor mà phận điều phối dành cho Có tiến trình phát sinh tiến trình