Tải bản đầy đủ (.pdf) (40 trang)

CHƯƠNG IV: QUẢN LÝ TIẾN TRÌNH VÀ BỘ NHỚ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (14.49 MB, 40 trang )

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


nhập cùng một nguồn tài nguyên
 Ví dụ:
 Các giao dịch dữ liệu có thể cập nhật cùng một tập
tin trong cơ sở dữ liệu
Quan hệ giữa các tiến trình
 Tiến trình tuần tự: Một tiến trình chỉ bắt
đầu sau khi tiến trình kia kết thúc
 Tiến trình song song: Thời điểm bắt đầu
của một tiến trình nằm giữa thời điểm bắt
đầu của một tiến trình khác
 Độc lập
 Có quan hệ thông tin
 Phân cấp
Quản lý tiến trình
 Hệ điều hành quản lý việc cấp phát
tài nguyên cho các tiến trình hợp lý
 Bảo đảm một số lượng hợp lệ các tiến
trình truy xuất đồng thời đến các tài
nguyên không chia sẻ được.
 Cấp phát tài nguyên cho tiến trình có
yêu cầu trong một khoảng thời gian trì
hoãn có thể chấp nhận được.
 Tối ưu hóa sự sử dụng tài nguyên.
  quan trọng nhât: cấp phát CPU
Tiến trình hệ điều hành
 Hệ điều hành bản thân nó cũng là
một tiến trình (tập hợp của nhiều tiến
trình)
 Nhanh, hiệu quả  nhường CPU cho tiến
trình người dùng

 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ữ

chỗ/hold: Tiến trình được khởi tạo và chấp
nhận bởi hệ thống
 Trạng thái sẵn sàng/ready: Các tài nguyên
khác đã sẵn sàng và tiến trình chỉ còn đợi được
phân phối CPU
 Trạng thái thực thi/running: Tiến trình thực
thi
 Trạng thái đợi/waiting hay khóa/blocked:
Tiến trình đang đợi một sự kiện và không thể
thực thi ngay
 Trạng thái hoàn tất/finish/kết thúc/exit:
Tiến trình kết thúc hoàn tất việc thực thi
Trạng thái tiến trình
 Tại một thời điểm, chỉ có một tiến trình
có thể nhận trạng thái running trên một
bộ xử lý bất kỳ. Trong khi đó, nhiều tiến
trình có thể ở trạng thái blocked hay ready
Chuyển trạng thái tiến trình
Chuyển trạng thái tiến trình
 Các cung chuyển tiếp trong sơ đồ trạng thái biễu diễn
sự chuyển trạng thái có thể xảy ra trong các điều kiện
sau :
 Tiến trình mới tạo được đưa vào hệ thống
 Bộ điều phối cấp phát cho tiến trình một khoảng thời
gian sử dụng CPU
 Tiến trình kết thúc
 Tiến trình yêu cầu một tài nguyên nhưng chưa được
đáp ứng vì tài nguyên chưa sẵn sàng để cấp phát tại
thời điểm đó ; hoặc tiến trình phải chờ một sự kiện
hay thao tác nhập/xuất.

 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

×