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

Thông tin cơ bản

Tiêu đề Đồng Bộ Hóa Tiến Trình
Tác giả Lương Minh Huấn
Trường học Trường Đại Học Sài Gòn
Định dạng
Số trang 72
Dung lượng 2,78 MB

Nội dung

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

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