Tải bản đầy đủ (.ppt) (38 trang)

Tài liệu ĐỊNH THỜI CPU (Điều phối Tiến trình) ppt

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 (1.32 MB, 38 trang )

Võ Quang Hoàng Khang
Email:
TT CÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HỒ CHÍ MINH
ĐỊNH THỜI CPU
(Điều phối Tiến trình)
ĐỊNH THỜI CPU 2
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Mục tiêu

Hiểu được

Khái niệm cơ bản về định thời

Các cấp độ định thời

Mục tiêu của định thời

Các giải thuật định thời
ĐỊNH THỜI CPU 3
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Khái niệm cơ bản về định thời

Trong môi trường hệ điều hành đa nhiệm, bộ phận
điều phối tiến trình có nhiệm vụ xem xét và quyết
định khi nào thì dừng tiến trình hiện tại để thu hồi
processor và chuyển processor cho tiến trình khác,
và khi đã có được processor thì chọn tiến trình nào
trong số các tiến trình ở trạng thái ready để cấp


processor cho nó.
ĐỊNH THỜI CPU 4
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Phân loại các hoạt động định thời

Định thời dài hạn (long-term scheduling):
process nào được chấp nhận vào hệ thống

Định thời trung hạn (medium-term sched.):
process nào được đưa vào (swap in), đưa ra
khỏi (swap out) bộ nhớ chính

Định thời ngắn hạn (short-term sched.):
process nào được thực thi tiếp theo
ĐỊNH THỜI CPU 5
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Định thời dài hạn

Xác định chương trình nào sẽ được đưa vào hệ
thống để thực thi

Quyết định độ-đa-lập-trình (degree of
multiprogramming)

Nếu càng nhiều process được đưa vào hệ thống

Khả năng các process bị block có xu hướng giảm


Sử dụng CPU hiệu quả hơn

Mỗi process được phân chia khoảng thời gian sử
dụng CPU thấp hơn

Thường có xu hướng đưa vào một tập lẫn lộn các
CPU-bound process và I/O-bound process
ĐỊNH THỜI CPU 6
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Định thời trung hạn

Quyết định về việc đưa process vào bộ nhớ chính,
hay ra khỏi bộ nhớ chính phụ thuộc vào yêu cầu
quản lý việc đa-lập-trình (multiprogramming)

Cho phép bộ định thời dài hạn chấp nhận nhiều
process hơn số lượng process mà có tổng kích thước
được chứa vừa trong bộ nhớ chính

Nhưng nếu có quá nhiều process thì sẽ làm tăng việc
truy xuất đĩa, do đó cần phải lựa chọn độ-đa-lập-
trình cho phù hợp

Được thực hiện bởi phần mềm quản lý bộ nhớ
ĐỊNH THỜI CPU 7
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Định thời ngắn hạn


Xác định process nào được thực thi tiếp theo, còn
gọi là định thời CPU

Được kích hoạt khi có một sự kiện có thể dẫn đến
khả năng chọn một process để thực thi

Ngắt thời gian (clock interrupt)

Ngắt ngoại vi (I/O interrupt)

Lời gọi hệ thống (operating system call)

Signal
…chương này sẽ tập trung vào định thời ngắn
hạn…
ĐỊNH THỜI CPU 8
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Mục tiêu của định thời

Sự công bằng ( Fairness) : Các tiến trình chia sẻ
CPU một cách công bằng, không có tiến trình nào
phải chờ đợi vô hạn để được cấp phát CPU

Tính hiệu qủa (Efficiency) : Hệ thống phải tận
dụng được CPU 100% thời gian

Thời gian đáp ứng hợp lý (Response time) :
Cực tiểu hoá thời gian hồi đáp cho các tương tác
của người sử dụng


Thời gian lưu lại trong hệ thống ( Turnaround
Time) : Cực tiểu hóa thời gian hoàn tất các tác vụ
xử lý theo lô
ĐỊNH THỜI CPU 9
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Mục tiêu của định thời

Thông lượng tối đa (Throughput ) : Cực đại hóa
số công việc được xử lý trong một đơn vị thời gian.
Tuy nhiên thường không thể thỏa
mãn tất cả các mục tiêu kể trên vì
bản thân chúng có sự mâu thuẫn
với nhau mà chỉ có thể dung hòa
chúng ở mức độ nào đó.
ĐỊNH THỜI CPU 10
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Các giải thuật định thời

Để tổ chức điều phối tiến trình hệ điều hành sử dụng hai danh
sách: Danh sách sẵn sàng (Ready list) dùng để chứa các tiến
trình ở trạng thái sẵn sàng. Danh sách đợi (Waiting list) dùng
để chứa các tiến trình đang đợi để được bổ sung vào danh sách
sẵn sàng.

Chỉ có những tiến trình trong ready list mới được chọn để cấp
processor. Các tiến trình bị chuyển về trạng thái blocked sẽ
được bổ sung vào waiting list. Hệ thống chỉ có duy nhất một

ready list, nhưng có thể tồn tại nhiều waiting list. Thông
thường hệ điều hành thiết kế nhiều waitting list, mỗi waitting
list dùng để chứa các tiến trình đang đợi được cấp phát một tài
nguyên hay một sự kiện riêng biệt nào đó.
ĐỊNH THỜI CPU 11
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Các giải thuật định thời
1
2
3
4
5
6
7
Ready list
Ready list
Waitting list 1
Waitting list 1
Waitting list 2
Waitting list 2
8
Hình 2.7: Sơ đồ chuyển tiến trình vào các danh sách
Processor
Processor
ĐỊNH THỜI CPU 12
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Các giải thuật định thời


Trong đó:
1. Tiến trình trong hệ thống được cấp đầy đủ tài nguyên chỉ
thiếu processor.
2. Tiến trình được bộ điều phối chọn ra để cấp processor để
bắt đầu xử lý.
3. Tiến trình kết thúc xử lý và trả lại processor cho hệ điều
hành.
4. Tiến trình hết thời gian được quyền sử dụng processor
(time-out), bị bộ điều phối tiến trình thu hồi lại processor.
5. Tiến trình bị khóa (blocked) do yêu cầu tài nguyên nhưng
chưa được hệ điều hành cấp phát. Khi đó tiến trình được
đưa vào danh sách các tiến trình đợi tài nguyên (waiting
list 1).
ĐỊNH THỜI CPU 13
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Các giải thuật định thời
6. Tiến trình bị khóa (blocked) do đang đợi một sự kiện nào
đó xảy ra. Khi đó tiến trình được bộ điều phối đưa vào
danh sách các tiến trình đợi tài nguyên (waiting list 2).
7. Tài nguyên mà tiến trình yêu cầu đã được hệ điều hành
cấp phát. Khi đó tiến trình được bộ điều phối chuyển
sang danh sách các tiến trình ở trạng thái sẵn sang
(ready list) để chờ được cấp processor để được hoạt
động.
8. Sự kiện mà tiến trình chờ đã xảy ra. Khi đó tiến trình
được bộ điều phối chuyển sang danh sách các tiến trình ở
trạng thái sẵn sang (ready list) để chờ được cấp
processor.
ĐỊNH THỜI CPU 14

TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Chiến lược FIFO (First In First Out):

Nguyên tắc :

Processor được cấp phát cho tiến trình đầu tiên
trong danh sách sẵn sàng có yêu cầu, là tiến trình
được đưa vào hệ thống sớm nhất.

FIFO được sử dụng trong điều phối độc quyền nên
khi tiến trình được cấp processor nó sẽ sở hữu
processor cho đến khi kết thúc xử lý hay phải đợi
một thao tác vào/ra hoàn thành, khi đó tiến trình
chủ động trả lại processor cho hệ thống.
ĐỊNH THỜI CPU 15
TTCÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
Chiến lược FIFO (First In First Out):

Ví dụ:
Nếu hệ điều hành cần cấp processor cho 3 tiến trình P1, P2, P3, với thời
điểm vào ready list và khoảng thời gian mỗi tiến trình cần processor được
mô tả trong bảng sau:
Tiến trình thời điểm vào t/g xử lý
P1 0 24
P2 1 3
P3 2 3
Thì thứ tự cấp processor cho các tiến trình diễn ra như sau:
Tiến trình: P1 P2 P3

Thời điểm: 0 24 27
Vậy thời gian chờ của tiến trình P1 là 0, của P2 là 23 (24 - 1), của P3
là 25 (24 + 3 - 2). Và thời gian chờ đợi trung bình của các tiến trình là:
(0 + 23 + 25)/3 = 16.

×