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 p2

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

Đang tải... (xem toàn văn)

Thông tin tài liệu

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 p2'', 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ả

y o c u -tr a c k c Trạng thái Suspend trạng thái tiến trình lưu trữ nhớ phụ, hay xác tiến trình trạng thái blocked và/hoặc ready bị hệ điều hành chuyển đĩa để thu hồi lại không gian nhớ cấp cho tiến trình thu hồi lại tài nguyên cấp cho tiến trình để cấp cho tiến trình khác cần nạp vào nhớ thời điểm  Tiến trình trạng thái: Trong thực tế hệ điều hành thiết kế trạng thái suspend, trạng thái suspend dành cho tiến trình từ blocked chuyển đến, trạng thái gọi blocked-suspend trạng thái suspend dành cho tiến trình từ ready chuyển đến, trạng thái gọi ready-suspend Tới ta hiểu trạng thái tiến trình sau:  Ở trạng thái Ready tiến trình định vị nhớ chờ cấp processor để thực  Ở trạng thái Blocked tiến trình định vị nhớ đợi kiện hay q trình I/O  Ở trạng thái Blocked-suspend tiến trình bị chứa nhớ phụ (đĩa) đợi kiện  Ở trạng thái Ready-suspend tiến trình bị chứa nhớ phụ sẵn sàng thực sau nạp vào nhớ Admit Admit New Suspend Activate Ready suspend Event Occurs Ready Running Release Suspend Exit Event Occurs Blocked suspend Blocked Activate Hình 2.5.b: Sơ đồ chuyển trạng thái tiến trình với suspend 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 xem xét chuyển trạng thái tiến trình sơ đồ trên: Blocked sang Blocked-suspend: khơng cịn tiến trình ready nhớ nhớ khơng cịn khơng gian nhớ trống phải có tiến trình blocked bị chuyển ngồi, blocked-suspend, để dành nhớ cho tiến trình khơng bị khố (not blocked) khác Blocked-suspend sang Ready-suspend: tiến trình trạng thái blocked-suspend chuyển sang trạng thái ready-suspend kiện mà đợi xảy Ready-suspend sang Ready: có lý để hệ điều hành chọn chuyển tiến trình trạng thái ready-suspend sang trạng thái ready:  Khơng cịn tiến trình ready nhớ chính, hệ điều hành phải nạp tiến trình vào để tiếp tục thực  Nếu có tiến trình ready-suspend có độ ưu tiên cao so với tiến trình ready hệ điều hành chuyển sang trạng thái ready để nhiều hội để thực Ready sang Ready suspend: Hệ điều hành thường chuyển tiến trình blocked sang suspend tiến trình ready, tiến trình trạng thái blocked thực lại chiếm nhiều khơng gian nhớ so với tiến trình trạng thái ready Tuy nhiên, việc chọn tiến trình để chuyển sang suspend dựa vào điều kiện: chiếm khơng gian nhớ có độ ưu tiên thấp hệ điều hành chuyển tiến trình ready sang trạng thái suspend Như với việc chuyển tiến trình sang trạng thái suspend hệ điều hành chủ động việc cấp phát nhớ ngăn chặn tình tắc nghẽn xảy tranh chấp tài nguyên, nhờ mà hệ điều hành tiết kiệm nhớ, chia sẻ tài nguyên cho nhiều tiến trình tăng mức độ đa chương hệ thống Tuy nhiên, để có lợi ích hệ điều hành phí nhiều cho việc tạm dừng tiến trình Hệ điều hành phải xem xét tiến trình chọn để suspend, suspend tiến trình hệ điều hành phải lưu lại tất thông tin liên quan đến tiến trình (con trỏ lệnh, tài ngun mà tiến trình cấp, ), hệ điều hành phải lựa chọn thời điển thích hợp để đưa tiến trình nhớ ngồi, thao tác làm chậm tốc độ thực toàn hệ thống Nhưng hệ điều hành phải sử dụng trạng thái 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 suspend tăng mức độ đa chương hệ thống mục tiêu lớn hệ điều hành I.1.13 Cấu trúc liệu khối quản lý tiến trình Để quản lý tiến trình tài nguyên hệ thống, hệ điều hành phải có thơng tin trạng thái thời tiến trình tài nguyên Trong trường hợp hệ điều hành xây dựng trì bảng thơng tin đối tượng (memory, devices, file, process) mà quản lý, bảng: memory table cho đối tượng nhớ, I/O table cho đối tượng thiết bị vào/ra, file table cho đối tượng tập tin, process table cho đối tượng tiến trình Memory table sử dụng để theo dõi nhớ thực lẫn nhớ ảo, phải bao gồm thơng tin sau: Khơng gian nhớ dành cho tiến trình Khơng gian nhớ phụ dành cho tiến trình Các thuộc tính bảo vệ nhớ nhớ ảo Các thơng tin cần thiết để quản lý nhớ ảo Ở điểm qua vài thông tin memory table, để lưu ý với bạn rằng: nhiệm vụ quản lý tiến trình quản lý nhớ hệ điều hành có quan hệ chéo với nhau, phận quản lý tiến trình cần phải có thông tin nhớ để điều khiển hoạt động tiến trình, ngược lại phận quản lý nhớ phải có thơng tin tiến trình để tổ chức nạp tiến trình vào nhớ, … Điều với phận quản lý Vào/ quản lý tập tin Trong phần trình bày sau chúng tơi đề cập đến Process Table hệ điều hành Để quản lý điều khiển tiến trình, hệ điều hành phải biết vị trí nạp tiến trình nhớ chính, phải biết thuộc tính tiến trình cần thiết cho việc quản lý tiến trình nó:  Định vị tiến trình (process location): định vị tiến trình phụ thuộc vào chiến lược quản lý nhớ sử dụng Trong trường hợp đơn giản nhất, tiến trình, hay xác hình ảnh tiến trình, lưu khối nhớ liên tục nhớ phụ (thường đĩa), để tiến trình thực tiến trình phải nạp vào nhớ Do đó, hệ điều hành cần phải biết định vị tiến trình đĩa cho tiến trình nhớ Trong số chiến lược quản lý nhớ, hệ điều hành cần nạp phần tiến trình vào nhớ chính, phần cịn lại nằm đĩa Hay tiến trình nhớ có phần bị swap-out lại đĩa, phần cịn lại cịn nằm nhớ Trong trường hợp hệ điều hành phải theo dõi tiến trình để biết phần tiến trình nhớ chính, phần tiến trình cịn đĩa Đa số hệ điều hành sử dụng chiến lược quản lý nhớ mà khơng gian địa tiến trình tập block, block khơng liên tiếp Tùy theo chiến lược nhớ sử dụng mà block có chiều dài cố định (chiến lược phân phân trang nhớ) hay thay đổi (chiến lược phân đoạn nhớ) hay kết hợp hai Hệ điều hành cho phép không nạp tất trang (page) và/hoặc đoạn (segment) tiến trình vào nhớ Do đó, process 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 table phải trì hệ điều hành phải cho biết vị trí trang/ đoạn tiến trình hệ thống Những điều làm rõ phần chiến lược cấp phát nhớ chương Quản lý nhớ tài liệu  Các thuộc tính tiến trình: Trong hệ thống đa chương, thơng tin tiến trình cần cho cơng tác quản lý tiến trình hệ điều hành, thơng tin thường trú khối quản lý tiến trình (PCB: process control block) Các hệ điều hành khác có cách tổ chức PCB khác nhau, khảo sát trường hợp chung Các thơng tin PCB chia thành ba nhóm chính:  Định danh tiến trình (PID: process identification): tiến trình gán định danh để phân biệt với tiến trình khác hệ thống Định danh tiến trình xuất memory table, I/O table Khi tiến trình truyền thơng với tiến trình khác định danh tiến trình sử dụng để hệ điều hành xác định tiến trình đích Khi tiến trình cho phép tạo tiến trình khác định danh sử dụng để đến tiến trình cha tiến trình tiến trình Tóm lại, định danh lưu trữ PCB bao gồm: định danh tiến trình này, định danh tiến trình tạo tiến trình này, định danh người sử dụng  Thơng tin trạng thái processor (processor state information): bao gồm ghi User-visible, ghi trạng thái điều khiển, trỏ stack  Thông tin điều khiển tiến trình (process control information): bao gồm thơng tin trạng thái lập lịch, cấu trúc liệu, truyền thông liên tiến trình, quyền truy cập tiến trình, quản lý nhớ, tài nguyên khởi tạo tài nguyên sinh PCB cấu trúc liệu trung tâm quan trọng hệ điều hành Mỗi PCB chứa tất thơng tin tiến trình mà cần cho hệ điều hành Có nhiều modun thành phần hệ điều hành read và/hoặc modified PCB như: lập lịch tiến trình, cấp phát tài ngun cho tiến trình, ngắt tiến trình, vv Có thể nói thiết lập PCB định nghĩa trạng thái hệ điều hành I.1.14 Các thao tác điều khiển tiến trình  Khi khởi tạo tiến trình hệ điều hành thực thao tác sau:  Hệ điều hành gán PID cho tiến trình đưa tiến trình vào danh sách quản lý hệ thống, tức là, dùng entry PCB để chứa thơng tin liên quan đến tiến trình tạo  Cấp phát không gian nhớ cho tiến trình Ở hệ điều hành cần phải xác định kích thước tiến trình, bao gồm code, data stack Giá trị kích thước gán mặt định dựa theo loại tiến trình gán theo yêu cầu người sử dụng có cơng việc (job) tạo Nếu tiến trình sinh tiến trình khác, tiến trình cha chuyển kích thướ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 y o c u -tr a c k c đến hệ điều hành yêu cầu tạo tiến trình  Khởi tạo thơng tin cần thiết cho khối điều khiển tiến trình PID tiến trình cha (nếu có), thơng tin trạng thái tiến trình, độ ưu tiên tiến trình, thơng tin ngữ cảnh processor (bộ đến chương trình ghi khác), vv  Cung cấp đầy đủ tài ngun cần thiết nhất, trừ processor, để tiến trình vào trạng thái ready bắt đầu hoạt động  Đưa tiến trình vào danh sách tiến trình đó: ready list, suspend list, waiting list, vv, cho phù hợp với chiến lược điều phối tiến trình phận điều phối tiến trình hệ điều hành Khi tiến trình tạo lập tiến trình con, tiến trình cấp phát tài nguyên hệ điều hành, tiến trình cha cho thừa hưởng số tài nguyên ban đầu  Khi kết thúc tiến trình hệ điều hành thực thao tác sau: Khi tiến trình kết thúc xử lý, hồn thành thị cuối cùng, hệ điều hành thực thao tác sau đây:  Thu hồi tài nguyên cấp phát cho tiến trình  Loại bỏ tiến trình khỏi danh sách quản lý hệ thống  Huỷ bỏ khối điều khiển tiến trình Hầu hết hệ điều hành khơng cho phép tiến trình hoạt động tiến trình cha kết thúc Trong trường hợp hệ điều hành chủ động việc kết thúc tiến trình tiến trình cha vừa kết thúc  Khi thay đổi trạng thái tiến trình hệ điều hành thực bước sau: Khi tiến trình trạng thái running bị chuyển sang trạng thái khác (ready, blocked, …) hệ điều hành phải tạo thay đổi mơi trường việc Sau bước mà hệ điều hành phải thực đầy đủ thay đổi trạng thái tiến trình:  Lưu (save) ngữ cảnh processor, bao gồm ghi đếm chương trình (PC: program counter) ghi khác  Cập nhật PCB tiến trình, cho phù hợp với trạng thái tiến trình, bao gồm trạng thái tiến trình, thơng tin tính tốn, vv  Di chuyển PCB tiến trình đến hàng đợi thích hợp, đế đáp ứng u cầu cơng tác điều phối tiến trình  Chọn tiến trình khác phép thực  Cập nhật PCB tiến trình vừa chọn thực trên, chủ yếu thay đổi trạng thái tiến trình đến trạng thái running .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 ... Khi tiến trình truyền thơng với tiến trình khác định danh tiến trình sử dụng để hệ điều hành xác định tiến trình đích Khi tiến trình cho phép tạo tiến trình khác định danh sử dụng để đến tiến trình. .. vv, cho phù hợp với chiến lược điều phối tiến trình phận điều phối tiến trình hệ điều hành Khi tiến trình tạo lập tiến trình con, tiến trình cấp phát tài ngun hệ điều hành, tiến trình cha cho... Loại bỏ tiến trình khỏi danh sách quản lý hệ thống  Huỷ bỏ khối điều khiển tiến trình Hầu hết hệ điều hành khơng cho phép tiến trình hoạt động tiến trình cha kết thúc Trong trường hợp hệ điều

Ngày đăng: 08/05/2021, 13:55

Từ khóa liên quan

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

Tài liệu liên quan