CHƯƠNG 2 : QUẢN LÝ TIẾN TRÌNH
2.1. CÁC KHÁI NIỆM LIÊN QUAN ĐẾN TIẾN TRÌNH
2.1.3. Thơng tin mơ tả tiến trình
Để 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ư:
o Thanh 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 tố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.