Bài giảng HĐH 02

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Đỗ Trung Thành (trang riêng)
Ngày gửi: 10h:10' 15-03-2009
Dung lượng: 225.0 KB
Số lượt tải: 10
Nguồn:
Người gửi: Đỗ Trung Thành (trang riêng)
Ngày gửi: 10h:10' 15-03-2009
Dung lượng: 225.0 KB
Số lượt tải: 10
Số lượt thích:
0 người
Bài 2 : CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH
XỬ LÝ ĐỒNG HÀNH
VÌ SAO ?
VẤN ĐỀ ?
Xử lý đồng hành, để tăng hiệu suất sử dụng CPU
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;
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
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.
Ao hoá tài nguyên : biến ít thành nhiều
Winword
CDPlayer
Visual C ++
Excel
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
Khái niệm tiến trình
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
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)
? TIỂU TRÌNH (THREAD)
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
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
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
XỬ LÝ ĐỒNG HÀNH
VÌ SAO ?
VẤN ĐỀ ?
Xử lý đồng hành, để tăng hiệu suất sử dụng CPU
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;
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
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.
Ao hoá tài nguyên : biến ít thành nhiều
Winword
CDPlayer
Visual C ++
Excel
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
Khái niệm tiến trình
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
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)
? TIỂU TRÌNH (THREAD)
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
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
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
 







Các ý kiến mới nhất