Mô tả ngắn gọn ý nghĩa và chức năng của PCB

Để làm cho mỗi chương trình tham gia vào quá trình thực thi đồng thời, bao gồm cả dữ liệu có thể chạy độc lập, một cấu trúc dữ liệu đặc biệt phải được cấu hình cho nó trong hệ điều hành, được gọi là khối điều khiển quá trình (PCB, Khối Điều khiển Quy trình). Có sự tương ứng XNUMX-XNUMX giữa quy trình và PCB, và quy trình của người dùng không thể được sửa đổi.

ipcb

Vai trò của khối điều khiển quá trình PCB:

Để tạo điều kiện thuận lợi cho việc mô tả hệ thống và quản lý hoạt động của quy trình, một cấu trúc dữ liệu được xác định cụ thể cho từng quy trình trong lõi của Khối điều khiển quá trình-OS PCB (Process Control Block). Là một phần của thực thể quy trình, PCB ghi lại tất cả thông tin cần thiết của hệ điều hành để mô tả tình hình hiện tại của quy trình và quản lý hoạt động của quy trình. Đây là cấu trúc dữ liệu được ghi lại quan trọng nhất trong hệ điều hành. Vai trò của PCB là làm cho một chương trình (bao gồm cả dữ liệu) không thể chạy độc lập trong môi trường đa chương trình trở thành một đơn vị cơ bản có thể chạy độc lập, một quá trình có thể được thực thi đồng thời với các quá trình khác.

(2) PCB có thể nhận ra chế độ hoạt động không liên tục. Trong môi trường nhiều chương trình, chương trình chạy ở chế độ hoạt động gián đoạn dừng và chạy. Khi một quá trình bị tạm ngừng do bị chặn, nó phải giữ lại thông tin trang CPU khi nó đang chạy. Sau khi có PCB, hệ thống có thể lưu thông tin vị trí CPU trong PCB của quá trình bị gián đoạn để sử dụng khi vị trí CPU được khôi phục khi quá trình được lên lịch thực hiện lại. Do đó, có thể nói rõ một lần nữa rằng trong môi trường đa chương trình, như một chương trình tĩnh theo nghĩa truyền thống, vì nó không có phương tiện để bảo vệ hoặc lưu địa điểm hoạt động của chính nó, nó không thể đảm bảo khả năng tái tạo kết quả hoạt động của nó. , do đó mất hoạt động của nó. ý nghĩa.

(3) PCB cung cấp thông tin cần thiết cho việc quản lý quá trình. Khi bộ lập lịch biểu một quá trình chạy, nó chỉ có thể tìm thấy chương trình và dữ liệu tương ứng theo con trỏ địa chỉ bắt đầu của chương trình và dữ liệu được ghi trong PCB của quá trình trong bộ nhớ hoặc bộ nhớ ngoài; trong quá trình chạy, khi nào cần truy cập tệp Khi các tệp hoặc thiết bị I / O trong hệ thống, chúng cũng cần dựa vào thông tin trong PCB. Ngoài ra, theo danh sách tài nguyên trong PCB, tất cả các tài nguyên cần thiết cho quá trình đều có thể học được. Có thể thấy rằng trong toàn bộ vòng đời của một tiến trình, hệ điều hành luôn kiểm soát và quản lý tiến trình đó theo PCB.

(4) PCB cung cấp thông tin cần thiết cho việc lập lịch trình. Chỉ các quá trình ở trạng thái sẵn sàng mới có thể được lên lịch để thực thi và PCB cung cấp thông tin về trạng thái của quá trình. Nếu quá trình ở trạng thái sẵn sàng, hệ thống sẽ chèn nó vào hàng đợi quá trình sẵn sàng và đợi bộ lập lịch lên lịch ; Ngoài ra, nó thường là cần thiết để biết các thông tin khác về quá trình khi lập lịch trình. Ví dụ, trong thuật toán lập lịch ưu tiên, bạn cần biết Mức độ ưu tiên của quá trình. Trong một số thuật toán lập lịch trình công bằng hơn, bạn cũng cần biết thời gian chờ của quá trình và các sự kiện đã được thực thi.

(5) PCB thực hiện đồng bộ hóa và giao tiếp với các quy trình khác. Cơ chế đồng bộ hóa quy trình được sử dụng để thực hiện hoạt động phối hợp của các quy trình khác nhau. Khi cơ chế semaphore được thông qua, nó yêu cầu một semaphore tương ứng để đồng bộ hóa được thiết lập trong mỗi quá trình. PCB cũng có một khu vực hoặc con trỏ hàng đợi giao tiếp để giao tiếp quá trình.

Thông tin trong khối điều khiển quá trình:

Trong khối điều khiển quá trình, nó chủ yếu bao gồm các thông tin sau:

(1) Định danh quy trình: Định danh quy trình được sử dụng để chỉ ra duy nhất một quy trình. Một quy trình thường có hai loại định danh: ① định danh bên ngoài. Để tạo điều kiện thuận lợi cho quá trình của người dùng truy cập vào quá trình, một số nhận dạng bên ngoài phải được đặt cho mỗi quá trình. Nó được cung cấp bởi người tạo và thường bao gồm các chữ cái và số. Để mô tả mối quan hệ gia đình của quy trình, ID quy trình mẹ và ID quy trình con cũng phải được đặt. Ngoài ra, một ID người dùng có thể được đặt để cho biết người dùng sở hữu quy trình. ② Định danh nội bộ. Để tạo điều kiện thuận lợi cho việc sử dụng quy trình bởi hệ thống, một số nhận dạng nội bộ được đặt cho quy trình trong Hệ điều hành, nghĩa là, mỗi quy trình được cấp một số nhận dạng kỹ thuật số duy nhất, thường là số sê-ri của một quy trình.

(2) Trạng thái bộ xử lý: Thông tin trạng thái bộ xử lý còn được gọi là ngữ cảnh của bộ xử lý, chủ yếu bao gồm nội dung của các thanh ghi khác nhau của bộ xử lý. Các thanh ghi này bao gồm: ① Thanh ghi mục đích chung, còn được gọi là thanh ghi có thể nhìn thấy của người dùng, có thể truy cập được bởi các chương trình người dùng và được sử dụng để lưu trữ thông tin tạm thời. Trong hầu hết các bộ xử lý, có 8 đến 32 thanh ghi đa năng. Trong máy tính có cấu trúc RISC Có thể có hơn 100; ② Bộ đếm lệnh, lưu trữ địa chỉ của lệnh tiếp theo sẽ được truy cập; ③Từ trạng thái chương trình PSW, chứa thông tin trạng thái, chẳng hạn như mã điều kiện, chế độ thực thi, cờ mặt nạ ngắt, v.v.; ④ Con trỏ ngăn xếp người dùng, Có nghĩa là mỗi tiến trình của người dùng có một hoặc một số ngăn xếp hệ thống liên quan, được sử dụng để lưu trữ các tham số lệnh gọi của quá trình và hệ thống cũng như địa chỉ cuộc gọi. Con trỏ ngăn xếp trỏ đến đỉnh của ngăn xếp. Khi bộ xử lý ở trạng thái thực thi, phần lớn thông tin đang được xử lý được đưa vào thanh ghi. Khi quá trình được chuyển đổi, thông tin trạng thái của bộ xử lý phải được lưu trong PCB tương ứng, để quá trình thực thi có thể tiếp tục từ điểm ngắt khi quá trình được thực hiện lại.

(3) Thông tin lập lịch trình: Khi HĐH đang lập lịch, cần phải hiểu trạng thái của quá trình và thông tin về việc lập lịch trình. Những thông tin này bao gồm: ① Trạng thái quy trình, cho biết trạng thái hiện tại của quy trình, được sử dụng làm cơ sở để lập lịch và hoán đổi quy trình ② Mức độ ưu tiên của quy trình là một số nguyên được sử dụng để mô tả mức độ ưu tiên của quy trình sử dụng bộ xử lý. Quá trình có mức độ ưu tiên cao hơn nên lấy bộ xử lý trước; ③Các thông tin khác cần thiết cho việc lập lịch quá trình, liên quan đến thuật toán lập lịch quá trình được sử dụng Ví dụ: tổng thời gian quá trình chờ CPU, tổng thời gian quá trình đã được thực thi, v.v.; ④Event đề cập đến sự kiện chờ đợi tiến trình thay đổi từ trạng thái thực thi sang trạng thái chặn, tức là nguyên nhân của việc chặn.

(4) Thông tin kiểm soát quá trình: Đề cập đến thông tin cần thiết để kiểm soát quá trình, bao gồm: ①Địa chỉ của chương trình và dữ liệu, địa chỉ bộ nhớ hoặc bộ nhớ ngoài của chương trình và dữ liệu trong thực thể quá trình, để nó có thể được lên lịch thực thi khi tiến trình được thực thi. , Chương trình và dữ liệu có thể được tìm thấy từ PCB; ② Cơ chế giao tiếp và đồng bộ hóa quy trình, là cơ chế cần thiết để đồng bộ hóa và giao tiếp quá trình, chẳng hạn như con trỏ hàng đợi tin nhắn, bán biểu đồ, v.v., chúng có thể được đặt toàn bộ hoặc một phần trong PCB; ③Danh sách nguồn, trong đó tất cả các tài nguyên (trừ CPU) được yêu cầu bởi quá trình trong quá trình hoạt động của nó được liệt kê, và cũng có một danh sách các tài nguyên được phân bổ cho quá trình; ④ Con trỏ liên kết, cung cấp cho quá trình (PCB) Địa chỉ đầu tiên của PCB của quá trình tiếp theo trong hàng đợi.