Để có thể quản lý tiến trình, hệ điều hành cần có các thông tin về tiến trình đó. Thông tin về tiến trình được lưu trong một cấu trúc dữ liệu gọi là khối quản lý tiến trình, viết tắt là
PCB (Process Control Block) (lưu ý là tên gọi của khối này có thể thay đổi tùy hệ điều hành cụ thể).
Thông tin về tiến trình chứa trong PCB phụ thuộc vào từng hệ điều hành cụ thể. Thông thường, PCB bao gồm các thông tin sau:
-Số định danh của tiến trình: tiến trình được gắn một số định danh PID cho phép phân biệt với tiến trình khác. Số định danh này được hệ điều hành sử dụng để tìm vị trí tương ứng với tiến trình trong bảng tiến trình (xem phần sau), hoặc sử dụng để tham chiếu giữa các bảng khác nhau lưu thông tin liên quan đến tiến trình. Ví dụ, để quản lý các khối nhớ, hệ điều hành sử dụng số định danh để biết tiến trình nào đang được cấp một khối nhớ cụ thể.
- Trạng thái tiến trình: một trong năm trạng thái liệt kê ở phần trước.
-Nội dung một số thanh ghi CPU: nội dung một số thanh ghi quan trọng thường được giữ trong PCB như:
oThanh ghi con trỏ lệnh: trỏ tới lệnh tiếp theo cần thực hiện
o Thanh ghi con trỏ ngăn xếp: Mỗi tiến trình đều có ngăn xếp để lưu tham số và tình trạng hàm khi thực hiện lời gọi hàm/thủ tục của chương trình. Con trỏ ngăn xếp trỏ tới đỉnh ngăn xếp hiện thời của tiến trình.
o Các thanh ghi điều kiện và thanh ghi trạng thái: chứa trạng thái sau khi thực hiện các phép tính lôgic hoặc số học (như tràn số, chia cho không, có phần bù…)
o Các thanh ghi đa dụng khác.
Lý do phải lưu nội dung các thanh ghi này trong PCB là do tiến trình có thể bị chuyển khỏi trạng thái chạy để nhường chỗ cho tiến trình khác (chẳng hạn khi có ngắt). Khi tiến trình chạy trở lại, hệ điều hành sẽ sử dụng thông tin từ PCB để khôi phục lại nội dung các thanh ghi, cho phép tiến trình thực hiện lại từ trạng thái trước lúc bị dừng. -Thông tin phục vụ việc điều độ tiến trình: bao gồm thông tin về mức độ ưu tiên của
tiến trình so với các tiến trình khác, vị trí tiến trình trong các hàng đợi, và có thể các thông tin khác như lượng tài nguyên tiến trình đang sở hữu. Hệ điều hành sử dụng những thông tin này để điều độ, tức là quyết định thứ tự và thời gian được cấp CPU của tiến trình.
-Thông tin về bộ nhớ của tiến trình: hệ điều hành cần biết tiến trình nằm ở đâu trong bộ nhớ. Tùy mô hình tổ chức bộ nhớ cụ thể, thông tin loại này có thể gồm các bảng trang, bảng đoạn, địa chỉ cơ sở của tiến trình .v.v.
-Danh sách các tài nguyên khác: bao gồm danh sách các file đang mở của tiến trình, các thiết bị vào ra tiến trình đang sử dụng.
-Thông tin thống kê phục vụ quản lý: thông tin loại này thường được sử dụng phục vụ thống kê hoặc tính toán chi phí đối với các hệ thống dùng chung (như khi đi thuê máy tính) và bao gồm thông tin về thời gian sử dụng CPU, giới hạn thời gian, tài khoản của người sở hữu tiến trình .v.v.