Bài giảng Hệ điều hành nâng cao - Bài 2: Các mô hình xử lý đồng hành - Trần Hạnh Nhi
Xử lý đồng hành, những khó khăn ?
Tài nguyên giới hạn, ứng dụng “vô hạn”
Nhiều hoạt động đan xen
??? Phân chia tài nguyên ?
??? Chia sẻ tài nguyên ?
??? Bảo vệ?
HĐH : “ Giải quyết nhiều công việc
đồng thời, đâu có dễ !
Bài 2 : CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH XỬ LÝ ĐỒNG HÀNH VÌ SAO ? VẤN ĐỀ ? 1 Xử lý đồng hành , để tăng hiệu suất sử dụng CPU CPU IO CPU IO CPU Job 1 Job 1 IO CPU IO CPU Job 1 CPU IO CPU Job 2 CPU Job 1 Job 1 Job 1 Job 1 2 Xử lý đồng hành , để tăng tốc độ xử lý Job : kq = a*b + c*d; Xử lý tuần tự : Xử lý đồng hành : kq1 = a * b; kq2 = c* d; kq = kq1 + kq2; kq = kq1 + kq2; kq2 = c*d; kq1 = a*b; 3 Xử lý đồng hành , những khó khăn ? HĐH : “ Giải quyết nhiều công việc đồng thời , đâu có dễ ! Tài nguyên giới hạn , ứng dụng “ vô hạn ” Nhiều hoạt động đan xen ??? Phân chia tài nguyên ? ??? Chia sẻ tài nguyên ? ??? Bảo vệ ? Excel Visual C++ CDplayer Winword 4 Giải pháp HĐH : “ Ai cũng có phần khi đến lượt mà ! ” “ Chia để trị ”, cô lập các hoạt động . Mỗi thời điểm chỉ giải quyết 1 yêu cầu . Aûo hoá tài nguyên : biến ít thành nhiều Winword CDPlayer Visual C ++ Excel 5 Thuật ngữ Concurrency ( đồng hành ): mô hình xử lý nhiều tác vụ đồng thời . Multitasking ( đa nhiệm ) : cho phép nhiều tác vụ / công việc được xử lý đồng thời Multiprogramming ( đa chương ) : cho phép nhiều chương trình được thực hiện đồng thời ( trên 1 CPU) Multiprocessing ( đa xử lý ): nhiều bộ xử lý làm việc đồng thời 6 Khái niệm tiến trình P2 int a; IP P1 int a; IP 7 Mô hình đa tiến trình ( MultiProcesses ) Hệ thống là một tập các tiến trình hoạt động đồng thời Các tiến trình độc lập với nhau => không có sự trao đổi thông tin hiển nhiên .. winword Visual C CDplayer Excel OS 8 Mô hình đa tiểu trình ( MultiThreads ) Muốn nhiều dòng xử lý đồng thời cùng chia sẻ tài nguyên (server, OS, các chương trình tính toán song song ) alta vista TIỂU TRÌNH (THREAD ) 9 Khác biệt giữa Tiểu trình & Tiến trình Tiểu trình : 1 dòng xử lý Tiến trình : 1 không gian địa chỉ 1 hoặc nhiều tiểu trình Các tiến trình là độc lập Các tiểu trình trong cùng 1 tiến trình không có sự bảo vệ lẫn nhau ( cần thiết ? ). P1 int a; T1 T2 T3 10 Tiểu trình hạt nhân (Kernel thread) Khái niệm tiểu trình được xây dựng bên trong hạt nhân T1 T2 HDH System call User mode Kernel mode 11 Tiểu trình người dùng (User thread) Khái niệm tiểu trình được hỗ trợ bởi một thư viện hoạt động trong user mode T1 Kernel T2 User mode Kernel mode T3 LWP1 LWP2 P1 P2 12
File đính kèm:
- giao_trinh_he_dieu_hanh_nang_cao_bai_2_cac_mo_hinh_xu_ly_don.ppt