1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng môn học Nguyên lý hệ điều hành: Chương 2 – Đỗ Văn Uy

61 109 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 3,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng môn học "Nguyên lý hệ điều hành - Chương 2: Quản lý tiến trình" cung cấp cho người học các kiến thức: Tiến trình và điều độ tiến trình, phân loại hệ điều hành, các kỹ thuật điều độ, quản lý processor,... Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

1

Chương 2 – QUẢN LÝ TIẾN TRÌNH

$1- TiẾN TRÌNH VÀ ĐiỀU ĐỘ TiẾN TRÌNH

• Tiến trình song song:

Trang 2

Độc lập Quan hệ

Trang 3

3

Phân loại

• a) Độc lập: Bảo vệ thông tin,

• b)Quan hệ thông tin:

– Tiến trình nhận: Tồn tại? Ở đâu? Giai đoạn

Trang 4

Phân loại

• c) Phân cấp:

• Tài nguyên cho tiến trình con:

– Hệ thống QL tài nguyên tập trung: từ hệ thống,

– Hệ thống QL tài nguyên phân tán: từ vốn tài nguyên tiến trình chính,

• QL phân tán: Tiến trình chính phải kết thúc sau tiến trình con  POST, WAIT

• d) Đồng mức:

• Sử dụng chung theo nguyên tắc lần lượt,

Trang 5

5

1.3 - BIỂU DIỄN TIẾN TRÌNH SONG SONG

• Giả thiết: S1, S2, , Sn – các công việc thực hiện song song (Trên 1 hoặc nhiều máy)

Trang 7

7

1.4 – TÀI NGUYÊN GĂNG và ĐOẠN GĂNG

• Tài nguyên găng: Khả năng phục vụ đồng thời bị hạn chế, thông thường - bằng 1

• Ví dụ: Máy in, quá trình bán vé máy bay

• Đoạn găng (chổ hẹp) của tiến trình,

• Điều độ tiến trình qua đoạn găng: Tổ chức cho mọi tiến trình qua được chổ hẹp của mình

• Giải thuật điều độ phải đảm bảo 4 yêu cầu

Trang 9

9

Công cụ điều độ

• Công cụ điều độ: 2 loại:

– Cấp cao : do hệ thống đảm nhiệm, nằm ngoài tiến trình được điều độ,

– Cấp thấp : cài đặt ngay vào trong tiến trình được

điều độ

– Phương pháp khoá trong,

– Phương pháp kiểm tra và xác lập,

– Kỹ thuật đèn báo

Trang 10

$2 – CÁC GIẢI THUẬT ĐIỀU ĐỘ

2.1 Phương pháp khoá trong:

– Trước khi vào đoạn găng TT phải kiểm tra biến

tương ứng của các TT khác và chỉ vào đoạn găng khi không có TT nào đang sử dụng tài nguyên

Trang 11

11

Phương pháp khoá trong

• Môi trường ví dụ: Xét trường hợp:

– 2 tiến trình,

– Mỗi TT có một đoạn găng ở đầu,

– 1 tài nguyên găng với khả năng phục vụ:1,

– Các tiến trình lặp vô hạn

• Tránh nhầm lẫn giữa 2 khái niệm:

– Sơ đồ nguyên lý: nêu { tưởng chung,

– Giải thuật điều độ: sơ đồ hành động để đảm bảo điều độ

Trang 13

Có khả năng cả 2 TT cùng chờ đợi trước đoạn găng!

Xác lập

Kiểm tra

Trang 14

SƠ ĐỒ NGUYÊN LÝ

• Nguyên nhân không đáp ứng yêu cầu điều đô:

– Kiểm tra và Xác lập – 2 công việc riêng biệt,

– Khoảng cách thời gian giữa 2 công việc,

– Giữa 2 công việc: Processor có thể bị chuyển sang công việc khác

• 1968: Dekker công bố giải thuật điều độ, kết nối Kiểm tra và Xác lập thành một khối

Trang 15

while tt = 1 do ; c2 := 1

end;

{ Đoạn găng TT 2}

c2 := 0; tt := 1;

{ Phần còn lại của TT 2} Until false

PAREND END.

Trang 16

Giải thuật Dekker

• Đặc điểm:

– Không đòi hỏi công cụ đặc biệt  áp dụng được

trong mọi môi trường (hệ thống và ngôn ngữ LT), – Phức tạp, độ phức tạp tăng khi số tiến trình tăng, – Tồn tại hiện tượng chờ đợi tích cực

• Nguyên nhân:

– Không cục bộ hoá biến trong tiến trình,

– Mỗi TT phải tự Kiểm tra và xác lập.

Trang 17

17

2.2 KIỂM TRA VÀ XÁC LẬP (TEST and SET)

• Cơ sở: dùng lệnh máy TS có từ các máy tính

Trang 18

TEST and SET

• IBM 360/370:  1 lệnh TS ( mã 92H),

• IBM PC: Nhóm lệnh BTS (Binary Test and Set):

Trang 20

TEST and SET

Đặc điểm:

• Đơn giản, độ phức tạp không tăng khi số tiến trình tăng Nguyên nhân: Cục bộ hoá biến và

tính liên tục của KT & XL,

• Tồn tại hiện tượng chờ đợi tích cực Nguyên

nhân: Mỗi TT phải tự đưa mình vào đoạn găng

Trang 21

21

2.3 KỸ THUẬT ĐÈN BÁO

• Dijsktra đề xuất 1972

• Đề xuất:

– Mỗi tài nguyên găng được đặt tương ứng với một

biến nguyên đặc biệt S (Semaphore),

–  2 lệnh máy P(S)V(S) thay đổi giá tri của S,

tục

Trang 23

Giải phóng Processor

Trang 24

S=1 0

-1

0 -1

0

TT1 vào

TT2 chờ

TT2 vào TT1 chờ

TT1 vào

Var s:Integerl BEGIN

s := 1;

PARBEGIN TT1:Repeat P(s);

-1

0 -1

0

TT1 vào

TT2 chờ

TT2 vào TT1 chờ

TT1 vào

Trang 26

2.4– CÔNG CỤ ĐIỀU ĐỘ CẤP CAO

• Đoạn găng quy ước,

• Biến điều kiện quy ước,

• Monitor hỗ trợ điều độ: cung cấp giá trị cho

biến điều kiện quy ước

• Monitor đóng vai trò vỏ bọc bảo vệ ngăn cách giữa tài nguyên găng và công cụ truy nhập tới

Trang 27

27

$3 - BẾ TẮC và CHỐNG BẾ TẮC

• Khái niệm bế tắc (Deadlock):

• Cùng chờ đợi,

• Vô hạn nếu không có tác động từ bên ngoài

• Sẽ không có bế tắc nếu TT A bắt đầu đủ sớm hay đủ muộn

Trang 28

– Không phân phối lại tài nguyên,

–  hiện tượng chờ đợi vòng tròn

– Phòng ngừa,

– Dự báo và tránh,

Trang 29

• Các giải pháp: được áp dụng để nâng cao hiệu

quả của hệ thống

Trang 30

– Chế độ phân phối sơ bộ,

– Trước khi ngắt TT: lưu trạng thái (Dump),

– Công cụ:

– Điểm gác (Control Points),

Trang 31

Điểm khôi phục thực hiện CT

Trang 32

Phòng ngừa

• Phân phối lại tài nguyên:

– Các tài nguyên quan trọng (Bộ nhớ, Processor ) luôn luôn được phân phối lại,

– Chủ yếu: chỉ cần lưu { các tài nguyên riêng,

– Hệ thống tài nguyên lô gíc: giảm nhu cầu phân phối lại

– Để phân phối lại: Lưu và khôi phục trạng thái tài

nguyên

Trang 37

37

DỰ BÁO VÀ TRÁNH

• Tiêu chuẩn dự báo: ngặt,

• Xử l{ trước khi TT bị bế tắc

• Đặc điểm giải thuật:

– Đơn giản,

– Input: Maxi – tin cậy,

– Mỗi loại tài nguyên  thủ tục,

– Mỗi lần phân phối  kiểm tra

Trang 40

$4 – QUẢN LÝ PROCESSOR

• Mục đích: Giảm thời gian chết của Processor

 nâng cao hiệu quả hệ thống,

• Vai trò thiết bị trung tâm: liên kết các bộ phận đọc lập (cứng và mềm) thành hệ thống hoạt động đồng bộ

• Trong phần này: xét hoạt động của 1 CPU

Trang 42

CÁC TRẠNG THÁI CƠ BẢN CỦA TIẾN TRÌNH

• Đặc trưng các loại trạng thái,

TT Sẵn sàng

TT Thực hiện

TT Chờ đợi

KT

CT

Trang 43

43

4.2 VẤN ĐỀ LẬP LỊCH

TT Sẵn sàng

TT Thực hiện

TT Chờ đợi

Trang 44

VẤN ĐỀ

a) Liên quan tới dòng TT sẵn sàng: Cách tổ chức phục vụ dòng xếp hàng?

TT Sẵn sàng

TT Thực hiện KTCT

Tiêu chuẩn đánh giá:

- Cực tiểu hoá thời gian chờ đợi trung bình,

- Đảm bảo TT kết thúc được.

Trang 45

45

VẤN ĐỀ

• Trình tự phục vụ tác động lên thời gian chờ

đợi trung bình tw : giả thiết – 3 TT :

Trang 46

TT Sẵn sàng

TT Thực hiện

TT Chờ đợi

(Phân chia thời gian)

Lượng tử thời gian: 0.03”

0.2”

Trang 47

TT Thực hiện

TT Chờ đợi

KT

CT

Thời điểm?

Trang 50

Chế độ một dòng xếp hàng

• b) SJN (Shortest Job – Next):

– Thời gian thực hiện ít  ưu tiên cao,

– Tw giảm,

– TT dài có nguy cơ không kết thúc được,

– Khó dự báo thời điểm phục vụ TT,

– Non-Preemtipve,

– Input: Thời gian thực hiện TT

Trang 51

51

Chế độ một dòng xếp hàng

• c) SRT (Shortest Remaining Time):

– Thứ tự ưu tiên phục vụ: xác định theo lượng thời gian còn lại cần thiết để kết thúc TT,

– tw giảm mạnh,

– Các đặc trưng khác: tương tự như SJN,

– TT dài càng có nguy cơ không kết thúc được!

• Ở các chế độ Non-Preemtipve: cần có t lim  huỹ TT hoặc đưa về thứ tự ưu tiên thấp nhất

Trang 54

$5 - GỌI TIẾN TRÌNH

• TT có thể cạnh tranh hoặc tương tác với nhau,

• Mối quan hệ tương tác: tuần tự hoặc song song,

Trang 56

GỌI TIẾN TRÌNH

• Thông tin tối thiểu để lưu và khôi phục TT:

– Nội dung các thanh ghi,

Trang 57

nt)

Trang 58

6.2 PHÂN LOẠI NGẮT

• Ngắt trong và ngắt ngoài,

– Ngắt trong: /0, tràn ô,

– Ngắt ngoài: I/O Int, Timer,

• Ngắt chắn được và không chắn được:

Trang 60

CT con và CT xử lý ngắt

Ret

Call

Trang 61

–  các ngắt | Pointer  Bảng tham số (Int 11, 1E, 41, ),

– Ngắt KT CT – Int 20, Ngắt thường trú CT Int 27,

– Ngắt R/W đĩa theo địa chỉ tuyệt đối – Int 25, 26,

–  ngắt tương ứng với việc bấm phím (Int 05, 1B),

– Ngăt OS mô phỏng xử lý các sự kiện (Int 21),

– Một số sự kiện: dành cho user tạo ngắt mềm  Lập trình

hướng sự kiện (EOP)

Ngày đăng: 30/01/2020, 02:17

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm