1. Trang chủ
  2. » Giáo án - Bài giảng

Chương 3 Quản lý các quá trình đồng thời

44 878 1

Đ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 44
Dung lượng 470,5 KB

Nội dung

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 1Chương 3 Quản lý các quá trình đồng thời... Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 2• Áp dụng lý thuyết để thực hiện được một số bài tập liên qua

Trang 1

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 1

Chương 3

Quản lý các quá trình đồng thời

Trang 2

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 2

• Áp dụng lý thuyết để thực hiện được một

số bài tập liên quan

Trang 3

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 3

Nội dung

• Khái niệm cơ bản

• Bài toán “ Critical-Section”

• Các giải pháp phần mềm

• Đồng bộ bằng phần cứng

• Semaphore

Trang 4

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 4

Khái niệm cơ bản

Trang 5

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 5

Bounded Buffer (t,t)

Trang 6

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 6

Race Condition

Trang 7

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 7

Ví dụ về Condition

Trang 8

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 8

Critical Section

Trang 9

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 9

Critical Section và Mutual Exclusion

Trang 10

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 10

Cấu trúc tổng quát

Trang 11

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 11

Ràng buộc của bài toán tranh chấp

Trang 12

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 12

Phân loại giải pháp

Trang 13

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 13

Giải pháp phần mềm

Trang 14

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 14

Giải thuật 1

Trang 15

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 15

Giải thuật 1(t.t)

Trang 16

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 16

Giải thuật 2

Trang 17

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 17

Giải thuật 3 (Peterson)

Trang 18

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 18

Giải thuật Peterson-2 process

Trang 19

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 19

Giải thuật 3: Tính đúng đắn

Trang 20

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 20

Giải thuật 3: Tính đúng đắn (t.t)

Trang 21

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 21

Trường hợp process bị “chết”

Trang 22

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 22

Giải thuật Bakery: N process

Trang 23

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 23

Giải thuật Bakery: N process(t.t)

Trang 24

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 24

Từ software đến hardware

Trang 25

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 25

Cấm ngắt

Trang 26

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 26

Dùng các lệnh đặc biệt

Trang 27

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 27

Lệnh test – and – set(TSL)

Trang 28

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 28

Lệnh test – and – set(t.t)

Trang 29

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 29

Thảo luận lệnh test-and-set

• Cũng giống như các giải pháp phần cứng khác TSL

giảm nhẹ công việc lập trình để giải quyết vấn đề, nhưng lại không dễ dàng để cài đặt TLS sao cho được xử lý

một cách không thể phân chia, nhất là trên máy với cấu hình nhiều bộ xử lý.

• Các giải pháp buộc quá trình phải liên tục kiểm tra điều kiện để phát hiện thời điểm thích hợp được vào CS như

thế được gọi các giải pháp “ busy waiting” Việc kiểm

tra tốn nhiều thời gian sử dụng CPU do vậy quá trình

đang chờ vẫn chiếm dụng CPU Xu hướng giải quyết

vấn đề đồng bộ hoá nên tránh các giải pháp “ busy

waiting”.

Trang 30

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 30

Giải pháp “SLEEP and WAKEUP”

Để loại bỏ các bất tiện của “busy waiting” Chúng

ta có thể tiếp cận theo hướng cho một quá trình chưa đủ cond vào CS chuyển sang trạng thái

blocked, từ bỏ quyền sử dụng CPU Để phục vụ điều này cần hai thủ tục do Os cung cấp là

SLEEP and WAKEUP

• SLEEP : tạm dừng hoạt của quá trình (Blocked)

gọi nó và chờ đến khi được một quá trình khác

“đánh thức”.

• WAKEUP: nhận một tham số duy nhất: quá

trình sẽ được tái kích hoạt (đặt về trạng thái

ready).

Trang 31

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 31

Cấu trúc chương trình trong SLEEP and

WAKEUP

Int busy // 1 nếu CS bị chiếm

Int blocked // số lượng quá trình đang bị khoá

Trang 32

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 32

Semaphore

• Được Dijkstra đề xuất vào năm 1965 một semaphore s

là một biến cố có các thuộc tính sau:

• Một giá trị nguyên dương e(s)

• Một hàng đợi f(s) lưu danh sách các quá trình đang bị khoá (chờ) trên semaphore s

• chỉ có hai thao tác được định nghĩa trên semaphore

• Down(s): giảm giá trị của semaphore đi 1 nếu

semaphore có giá trị e(s)>0, và tiếp tục xử lý Ngược lại, nếu e(s)<=0 quá trình đến khi e(s)>0

• Up(s): tăng giá trị của semaphore s lên 1 nếu có 1 hoặc nhiều quá trình đang chờ trên semaphore s, bi khoá bởi thao tác down Thì hệ thống sẽ chọn một trong các quá trình này để kết thúc thao tác Down và cho tiếp tục xử lý

Trang 33

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 33

Hiện thực Semaphore

Trang 34

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 34

Hiện thực Semaphore (t.t)

Trang 35

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 35

Hiện thực Semaphore (t.t)

Trang 36

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 36

Hiện thực Mutex với Semephore

Trang 37

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 37

Đồng bộ process bằng Semaphore

Trang 38

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 38

Nhận xét

Trang 39

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 39

Nhận xét (t.t)

Trang 40

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 40

Deadlock và Starvation

Trang 41

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 41

Các loại semaphore

Trang 42

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 42

Hiện thực counting semaphore (S) bằng

C = initial value of semaphore S

Trang 43

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 43

Hiện thực counting semaphore (S) bằng

Trang 44

Khoa Công Nghệ Thông Tin – ĐHCN TP HCM 44

Câu hỏi

• Thế nào là vùng tranh chấp

• Nêu 3 điều kiện thỏa mãn cho bài tóan vào vùng tranh chấp.

• Hiểu và giải thích được các giải thuật 1,2,3

• Hiểu và giải thích được các giải thuật berkery

• Nêu được các hạn chế các giải thuật giải quyết tranh chấp bằng phương pháp phần mềm

• Nắm được các giải thuật semaphore Cũng như giải thuật “sleep” và “wakeup”.

Ngày đăng: 13/05/2014, 00:29

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w