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

Bài giảng Hệ điều hành: Chương 5.1 - ThS. Hà Lê Hoài Trung

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 (457.23 KB, 15 trang )

Chương V-I: Liên lạc giữa các Tiến Trình

CƠ CHẾ ?
TRAO ĐỔI THÔNG
GIỮA CÁC TIẾN TRÌNH
VẤNTIN
ĐỀ
GIẢI
?
PHÁP ?

Khoa KTMT

1


Nhu Cầu Liên Lạc
Q

 Chia sẻ thông tin
p
 Phối hợp tăng tốc độ xử lý

L

R

JOB
p
Q


Khoa KTMT

L

2


Các Cơ Chế Liên Lạc
Signal : Không truyền được dữ liệu
Tín hiệu
SIGINT
SIGQUIT
SIGILL
SIGKILL
SIGFPT
SIGPIPE
SIGSEGV
SIGCLD
SIGUSR1
SIGUSR2

Mô tả
Người dùng nhấn phím DEL để ngắt xử lý tiến
trình
Yêu cầu thoát xử lý
Tiến trình xử lý một chỉ thị bất hợp lệ
Yêu cầu kết thúc một tiến trình
Lỗi floating – point xảy ra ( chia cho 0)
Tiến trình ghi dữ liệu vào pipe mà không có
reader

Tiến trình truy xuất đến một địa chỉ bất hợp lệ
Tiến trình con kết thúc
Tín hiệu 1 do người dùng định nghĩa
Tín hiệu 2 do người dùng định nghĩa

Các tín hiệu được gửi đi bởi?khi nhận thì xử lý ra sao?
Khoa KTMT

3


Các Cơ Chế Liên Lạc


Pipe
Truyền dữ liệu không cấu trúc

Khoa KTMT

4


Các Cơ Chế Liên Lạc


Shared Memory
Mâu thuẫn truy xuất => nhu cầu đồng bộ hoá

Khoa KTMT


5


Các Cơ Chế Liên Lạc


Message
Liên lạc trên môi trường phân tán



Liên kết tiềm ẩn





Send(message) : gởi một thông điệp
Receive(message) : nhận một thông điệp

Liên kết tường minh



Khoa KTMT

Send(destination, message) : gởi một thông điệp đến destination
Receive(source,message) : nhận một thông điệp từ source

6



Các Cơ Chế Liên Lạc





Socket: là một thiết bị truyền thông hai chiều như tập tin
Mỗi Socket là một thành phần trong một mối nối giữa các máy
trong mạng
Các thuộc tính của socket:




Khoa KTMT

Domaine: định nghĩa dạng thức địa chỉ và các nghi thức sử dụng. Có
nhiều domaines, ví dụ UNIX, INTERNET, XEROX_NS, ...
Type: định nghĩa các đặc điểm liên lạc
 a) độ tin cậy
 b) độ bảo toàn thứ tự dữ liệu
 c) Lặp lại dữ liệu
 d) Chế độ nối kết
 e) Bảo toàn giới hạn thông điệp
 f) Khả năng gởi thông điệp khẩn
7



Các Cơ Chế Liên Lạc


Để thực hiện liên lạc bằng socket, cần tiến hành các thao tác :






Tạo lập hay mở một socket
Gắn kết một socket với một địa chỉ
Liên lạc : có hai kiểu liên lạc tùy thuộc vào chế độ nối kết:
 Liên lạc trong chế độ không liên kết - UDP
 Liên lạc trong chế độ nối kết - TCP
Hủy một socket

VD: Giao tiếp trong TCP

Khoa KTMT

8


Race condition
 P1 và P2 chia sẻ biến chung hits
hits = 0
time

P1


read hits
hits =hits + 1
hits = 1, 2 ?

P2
read hits
hits = hits + 1

Kết quả cuối cùng không dự đoán được !
Khoa KTMT

9


Vùng tranh chấp (Miền găng - critical section)
P1

CS

read hits
hits = hits + 1

P2
read hits
hits = hits + 1

CS

CS là đoạn chương trình có khả năng gây ra hiện

tượng race condition

Khoa KTMT

10


Giải pháp tổng quát
hits = 0
time

P1

P2

hits = hits + 1
hits = hits + 1

hits = 2
Bảo đảm tính “độc quyền truy xuất” miền găng tại
một thời điểm
Khoa KTMT

11


Mô hình đảm bảo độc quyền truy xuất

Kiểm tra và dành quyền vào CS
CS;


Từ bỏ quyền sử dụng CS

Khoa KTMT

12


Hẹn hò
P1
Job1;

P2
Job2;

Làm thế nào bảo đảm trình tự thực hiện Job1 - Job2
?

Khoa KTMT

13


Giải pháp

P1
Job1;

P2
Job2;


Hai tiến trình cần trao đổi thông tin về diễn tiến xử

Khoa KTMT

14


Mô hình tổ chức phối hợp hoạt động giữa hai
tiến trình

P2

P1

Khoa KTMT

Job1;

Chờ ;

Báo
hiệu ;

Job2;

15




×