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

Bài giảng Hệ điều hành: Chương 3.2 - Nguyễn Ngọc Duy

63 8 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

Bài giảng Hệ điều hành: Chương 3.2 cung cấp cho người học những kiến thức như: Đồng bộ tiến trình; Tình trạng tắc nghẽn (deadlock). Mời các bạn cùng tham khảo!

Chương QUẢN LÝ TIẾN TRÌNH Nội dung chương Khái niệm tiến trình (process) Tiểu trình (thread) Điều phối tiến trình Đồng tiến trình Tình trạng tắc nghẽn (deadlock) Đồng tiến trình  Liên lạc tiến trình  Mục đích:  Để chia sẻ thơng tin dùng chung file, nhớ,…  Hoặc hợp tác hoàn thành công việc  Các chế:  Liên lạc tín hiệu (Signal)  Liên lạc đường ống (Pipe)  Liên lạc qua vùng nhớ chia sẻ (shared memory)  Liên lạc thông điệp (Message)  Liên lạc qua socket Đồng tiến trình  Liên lạc tín hiệu (Signal) Tín hiệu Mơ tả SIGINT Người dùng nhấn phím Ctl-C để ngắt xử lý tiến trình SIGILL Tiến trình xử lý thị bất hợp lệ SIGKILL Yêu cầu kết thúc tiến trình SIGFPT Lỗi chia cho SIGSEG Tiến trình truy xuất đến địa bất V hợp lệ SIGCLD Tiến trình kết thúc Tín hiệu gởi bởi: - Phần cứng - Hệ điều hành: - Tiến trình: - Người sử dụng: Khi tiến trình nhận tín hiệu: - Gọi hàm xử lý tín hiệu - Xử lý theo cách riêng tiến trình - Bỏ qua tín hiệu Đồng tiến trình  Liên lạc đường ống (Pipe)  Dữ liệu truyền: dòng byte (FIFO)  Tiến trình đọc pipe bị khóa pipe trống, đợi đến pipe có liệu truy xuất  Tiến trình ghi pipe bị khóa pipe đầy, đợi đến pipe có chỗ trống để chứa liệu Đồng tiến trình  Liên lạc qua vùng nhớ chia sẻ (shared memory)  Vùng nhớ chia sẻ độc lập với tiến trình  Tiến trình phải gắn kết vùng nhớ chung vào không gian địa riêng tiến trình  Vùng nhớ chia sẻ là:  Phương pháp nhanh để trao đổi liệu tiến trình  Cần bảo vệ chế đồng hóa  Khơng thể áp dụng hiệu hệ phân tán Đồng tiến trình  Liên lạc thông điệp (Message)  Thiết lập mối liên kết hai tiến trình  Sử dụng hàm send, receive hệ điều hành cung cấp để trao đổi thông điệp  Cách liên lạc thông điệp:  Liên lạc gián tiếp (indirect communication) - Send(A, message): gởi thông điệp tới port A Receive(A, message): nhận thông điệp từ port A  Liên lạc trực tiếp (direct communication) - Send(P, message): gởi thông điệp đến process P Receive(Q,message): nhận thông điệp từ process Q Đồng tiến trình Ví dụ: Bài tốn nhà sản xuất - người tiêu thụ (producer-consumer) void nsx() { while(1) { tạo_sp(); send(ntt,sp); //gởi sp cho ntt }} void ntt() { while(1) { receive(nsx,sp); //ntt chờ nhận sp tiêu_thụ(sp); }} Đồng tiến trình  Liên lạc qua socket  Mỗi tiến trình cần tạo socket riêng  Mỗi socket kết buộc với cổng khác  Các thao tác đọc/ghi lên socket trao đổi liệu hai tiến trình  Cách liên lạc qua socket:  Liên lạc kiểu thư tín (socket đóng vai trị bưu cục) - - “tiến trình gởi” ghi liệu vào socket mình, liệu chuyển cho socket “tiến trình nhận” “tiến trình nhận” nhận liệu cách đọc liệu từ socket “tiến trình nhận” Đồng tiến trình  Liên lạc qua socket  Cách liên lạc qua socket (tt):  Liên lạc kiểu điện thoại (socket đóng vai trị tổng đài) - Hai tiến trình cần kết nối trước truyền/nhận liệu kết nối trì suốt trình truyền nhận liệu Tình trạng tắc nghẽn (deadlock)  Giải thuật xác định trạng thái an toàn //số tài nguyên int NumResources; int NumProcs; //số tiến trình hệ thống int Available[NumResources] //số lượng tài nguyên tự int Max[NumProcs, NumResources]; //Max[p,r]= nhu cầu tối đa tiến trình p tài nguyên r int Allocation[NumProcs, NumResources]; //Allocation[p,r] = số tài nguyên r cấp phát cho tiến trình p int Need[NumProcs, NumResources]; //Need[p,r] = Max[p,r] - Allocation[p,r]= số tài nguyên r mà tiến trình p cịn cần sử dụng int Finish[NumProcs] = false; //=true process P thực thi xong; Tình trạng tắc nghẽn (deadlock)  Giải thuật xác định trạng thái an tồn B1 If i: Finish[i] = false //tiến trình i chưa thực thi xong Need[i,j] « hệ thống trạng thái an tồn », else « khơng an tồn » Tình trạng tắc nghẽn (deadlock)  Giải thuật Banker: Pi yêu cầu kr thể tài nguyên r B1 If kr

Ngày đăng: 28/01/2022, 09:37

Xem thêm:

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

TÀI LIỆU LIÊN QUAN