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

Bài giảng Hệ điều hành - Chương 2: Đồng bộ hóa tiến trình (Lương Minh Huấn)

72 7 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 2: Đồng bộ hóa tiến trình (Lương Minh Huấn) có nội dung trình bày tổng quan về giao tiếp tiến trình; tài nguyên găng, đoạn găng; vấn đề đồng bộ hóa; giải pháp phần mềm; các giải pháp phần cứng; semaphore; monitors; giải pháp trao đổi thông điệp; các ví dụ kinh điển;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!

TRƯỜNG ĐẠI HỌC SÀI GÒN CHƯƠNG BÀI: ĐỒNG BỘ HĨA TIẾN TRÌNH GV: LƯƠNG MINH HUẤN NỘI DUNG I Tổng quan giao tiếp tiến trình II Tài nguyên găng, đoạn găng III Vấn đề đồng hóa IV Giải pháp phần mềm V Các giải pháp phần cứng VI Semaphore VII.Monitors VIII.Giải pháp trao đổi thông điệp IX Các ví dụ kinh điển I TỔNG QUAN GIAO TIẾP TIẾN TRÌNH ➢Tiến trình độc lập: khơng ảnh hưởng khơng bị ảnh hưởng việc thực thi tiến trình khác ➢Tiến trình hợp tác (khơng độc lập): ảnh hưởng bị ảnh hưởng việc thực thi tiến trình khác ➢Ưu điểm việc hợp tác tiến trình: ▪ Chia sẻ thơng tin ▪ Tăng tốc tính tốn (xử lý song song): thời gian I/O thời gian CPU ▪ Tính module hóa ▪ Tiện lợi HỢP TÁC BẰNG VIỆC CHIA SẺ ➢Các tiến trình sử dụng cập nhập liệu chia sẻ biến, file sở liệu dùng chung ➢Thao tác ghi phải độc lập đôi để ngăn ngừa tình trạng đụng độ, dẫn đến tính khơng tồn vẹn liệu ➢Các miền găng dùng để cung cấp toàn vẹn liệu ➢Một tiến trình địi hỏi miền găng phải khơng bị chờ mãi: deadlock starvation HỢP TÁC BẰNG VIỆC GIAO TIẾP ➢Giao tiếp cung cấp phương cách để đồng hóa nhiều hoạt động ➢Có khả deadlock ▪ Mỗi tiến trình chờ thơng điệp từ tiến trình khác ➢Có khả xảy tình trạng đói (starvation) ▪ Hai tiến trình gởi thơng điệp cho tiến trình khác chờ thơng điệp CÁC VẤN ĐỀ ➢Tranh chấp ▪ Nhiều tiến trình truy xuất đồng thời tài nguyên mang chất không chia sẻ • Vấn đề tranh đoạt điều khiển (race condition) ▪ Kết quả? • Khó biết, thường sai ▪ Ln ln nguy hiểm? • Nếu cân nhắc kỹ giảm bớt nguy hiểm CÁC VẤN ĐỀ ➢Phối hợp ▪ Các tiến trình tương quan xử lý để điều chỉnh hoạt động nhịp nhàng • Phối hợp xử lý (Rendez-vous) ▪ Kết quả: khó biết, thường khơng ăn khớp TRANH ĐOẠT ĐIỀU KHIỂN ➢Ai thắng? PHỐI HỢP HÀNH ĐỘNG PHỐI HỢP HÀNH ĐỘNG READERS-WRITERS VỚI MỘT “ACTIVE WRITER” Ưu tiên đây? READERS & WRITERS ➢W độc quyền truy xuất CSDL ➢W kết thúc cập nhật CSDL : vào? ▪ Cho W khác vào, Rs phải đợi • Ưu tiên Writer, Reader starvation ▪ Cho Rs vào, Ws khác phải đợi • Ưu tiên Reader, Writer starvation READERS & WRITERS : GIẢI PHÁP SEMAPHORE ➢Các biến dùng chung Rs Ws ▪ semaphore db = 1; // Kiểm tra truy xuất CSDL READERS & WRITERS : GIẢI PHÁP SEMAPHORE READERS & WRITERS : GIẢI PHÁP SEMAPHORE ➢Các biến dùng chung Rs Ws ▪ semaphore db = 1; // Kiểm tra truy xuất CSDL ➢Các biến dùng chung Rs ▪ int rc; // Số lượng tiến trình Reader ▪ semaphore mutex = 1; // Kiểm tra truy xuất rc READERS & WRITERS : GIẢI PHÁP SEMAPHORE R&W : Giải pháp Semaphore (Thinking ) R&W: GIẢI PHÁP MONITOR R&W: GIẢI PHÁP MONITOR R&W: GIẢI PHÁP MONITOR DINING PHILOSOPHERS ➢Năm triết gia ngồi chung quanh bàn ăn spaghetti ▪ Trên bàn có nĩa đặt đĩa (xem hình) ▪ Để ăn spaghetti người cần có nĩa ➢Triết gia thứ i: ▪ Thinking ▪ Eating Dining Philosophers: Tình nguy hiểm ➢2 triết gia “giành giật” nĩa ▪ Tranh chấp ▪ Cần đồng hóa hoạt động triết gia Dining Philosophers : Giải pháp đồng semaphore fork[5] = 1; Philosopher (i) { while(true) { down(fork[i]); down(fork[i+1 mod 5]) eat; up(fork[i]); up(fork[i+1 mod 5]); think; } DINING PHILOSOPHERS : THÁCH THỨC ➢Cần đồng cho: ▪ Khơng có deadlock ▪ Khơng có starvation ... GIAO TIẾP TIẾN TRÌNH ? ?Tiến trình độc lập: khơng ảnh hưởng không bị ảnh hưởng việc thực thi tiến trình khác ? ?Tiến trình hợp tác (khơng độc lập): ảnh hưởng bị ảnh hưởng việc thực thi tiến trình khác... điệp từ tiến trình khác ➢Có khả xảy tình trạng đói (starvation) ▪ Hai tiến trình gởi thơng điệp cho tiến trình khác chờ thơng điệp CÁC VẤN ĐỀ ➢Tranh chấp ▪ Nhiều tiến trình truy xuất đồng thời... cho phép tiểu trình (tiến trình) thi hành thời điểm ▪ Tiểu trình (tiến trình) gọi vào miền găng ▪ Loại trừ hỗ tương miền găng hai khái niệm mục đích ĐOẠN GĂNG ➢Cấu trúc chương trình có đoạn

Ngày đăng: 10/12/2021, 09:51

Xem thêm:

HÌNH ẢNH LIÊN QUAN

▪ Chưa phân biệt qua mô hình - Bài giảng Hệ điều hành - Chương 2: Đồng bộ hóa tiến trình (Lương Minh Huấn)
h ưa phân biệt qua mô hình (Trang 38)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN