Chương VI: Chức năng và
dịch vụ của hệ điều hành
4.1. Quản lý tiến trình
4.2. Quản lý bộ nhớ
4.3. Quản lý tập tin
4.4. Quản lý thiết bị
4.5. Một số dịch vụ của hệ điều hành
4.1.Quản lý tiến trình
(Process Management)
4.1.1 Tiến trình trong môi trường đa
chương trình
4.1.2 Trạng thái và chuyển trạng thái
tiến trình
4.1.3 Các thuật toán lập lịch tiến trình
4.1.4 Điều độ tiến trình
4.1.1 Tiến trình trong môi trường
đa chương trình
Nhắc lại:
Tiến trình ?
Đa chương ?
Tài nguyên ?
Tiến trình trong môi trường đa
chương trình (t)
Mỗi tiến trình cần tài nguyên:
Ví dụ:
Không gian bộ nhớ (mã chương trình, dữ liệu, ngăn
xếp (stack)
CPU
N tiến trình, 1 CPU
N tiến trình, M CPU (N>M)
Các tiến trình có thể xâm phạm lẫn nhau nếu truy
Tiến trình hệ điều hành “chạy” khi nhận
được một ngắt
Tiến trình hệ điều hành “chạy” khi
chương trình sử dụng lời gọi hệ thống
(system call)
Chế độ xử lý của tiến trình
Hệ điều hành cần phải được bảo vệ
khỏi sự xâm phạm của các tiến trình
Bản thân các tiến trình và dữ liệu
cũng cần được bảo vệ để tránh các
ảnh hưởng sai lạc lẫn nhau
Chế độ không đặc quyền và chế độ
đặc quyền
Chế độ xử lý của tiến trình
Khi một tiến trình người dùng gọi đến một lời gọi hệ
thống, tiến trình của hệ điều hành xử lý lời gọi này
sẽ hoạt động trong chế độ đặc quyền
Hoàn tất thì trả quyền điều khiển về cho tiến trình
người dùng trong chế độ không đặc quyền.
Xử lý ngắt
4.1.2. Trạng thái và chuyển trạng
thái tiến trình
Trong quá trình sống, một tiến trình
thay đổi trạng thái
Trạng thái của tiến trình tại một thời
điểm được xác định bởi hoạt động
hiện thời của tiến trình tại thời điểm
đó
Trạng thái tiến trình
Trạng thái khởi tạo/new hay giữ
Bộ điều phối chọn một tiến trình khác để cho xử lý .
Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để
cấp phát ; hay sự kiện hoặc thao tác nhập/xuất tiến
trình đang đợi hoàn tất.
Các bộ lập lịch
Bộ lập lịch chương trình/cấp cao: Lập lịch
dài hạn:
Sắp xếp các chương trình theo một thứ tự dựa
trên đặc tính của các chương trình đó sao cho
các chương trình đó có thể sử dụng được nguồn
tài nguyên hệ thống một cách triệt để nhất có
thể.
Bộ lập lịch tiến trình/CPU/cấp thấp: Lập lịch
ngắn hạn:
Lựa chọn tiến trình nào sẽ được cấp phát CPU
khi tiến trình đó ở trong hàng đợi sẵn sàng