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

ppt 12 trang Hùng Dũng 04/01/2024 190
Bạn đang xem tài liệu "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", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_he_dieu_hanh_nang_cao_bai_2_cac_mo_hinh_xu_ly_dong.ppt

Nội dung text: 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

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