Bài giảng Nguyên lý hệ điều hành: Chương 2 - GV. Đặng Quang Hiển
Số trang: 118
Loại file: pdf
Dung lượng: 0.00 B
Lượt xem: 186
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 2 Quản lý tiến trình thuộc bài giảng nguyên lý hệ điều hành, cùng nắm kiến thức trong chương này thông qua việc tìm hiểu các nội dung sau: các mô hình xử lý đồng hành, tổ chức và quản lý tiến trình, điều phối tiến trình, tài nguyên găng và đoạn găng, các giải pháp về đồng bộ hóa, bế tắc và chống bế tắc.
Nội dung trích xuất từ tài liệu:
Bài giảng Nguyên lý hệ điều hành: Chương 2 - GV. Đặng Quang Hiển NGUYÊN LÝ HỆ ĐIỀU HÀNH (3 Tín chỉ) GV: Đỗ Công Đức Khoa khoa học máy tính Chương 2: QUẢN LÝ TIẾN TRÌNH 2.1. Các mô hình xử lý đồng hành 2.2. Tổ chức và quản lý tiến trình 2.3. Điều phối tiến trình 2.4. Tài nguyên găng và đoạn găng 2.5. Các giải pháp về đồng bộ hóa 2.6. Bế tắc và chống bế tắc 6/28/2014 Chương 2. Quản lý tiến trình 2 CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.1 Nhu cầu xử lý đồng hành (1/2) Đa số các HĐH hiện nay đều cho phép người dùng xử lý nhiều tác vụ đồng thời cùng một lúc trên máy tính để: Tăng hiệu suất sử dụng CPU: các công việc phải trải qua nhiều chu kỳ xử lý (xử dụng CPU) và chu kỳ nhập xuất (IO) xen kẽ nhau CPU IO CPU IO CPU Nếu chỉ có 1 tiến trình duy nhất trong hệ thống, thì vào các chu kỳ IO của tác vụ, CPU sẽ hoàn toàn nhàn rỗi. Ý tưởng tăng cường số lượng tác vụ trong hệ thống là để tận dụng CPU: nếu tác vụ 1 xử lý IO, thì có thể sử dụng CPU để thực hiện tác vụ 2 Tác vụ 1 CPU IO CPU IO CPU IO Tác vụ 2 CPU IO CPU IO CPU 6/28/2014 Chương 2. Quản lý tiến trình 3 CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.1 Nhu cầu xử lý đồng hành (2/2) Tăng tốc độ xử lý: xử lý song song nếu được xây dựng thành nhiều modul hoạt động đồng thời thì sẽ tiết kiệm được thời gian xử lý -Ví dụ: Tính giá trị của biểu thức a*b + c*d Nếu tiến hành song song tính a*b và c*d thì giải quyết bài toán nhanh hơn tính tuần tự a*b, c*d và sau đó mới tính tổng Trong các trường hợp đó, cần có một mô hình xử lý đồng hành thích hợp. Trên máy tính có cấu hình nhiều CPU, hỗ trợ xử lý song song (multiprocessing) thật sự, điều này sẽ giúp tăng hiệu quả thi hành của hệ thống đáng kể 6/28/2014 Chương 2. Quản lý tiến trình 4 CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.2 Tiến trình và mô hình đa tiến trình (1/2) Sự đa chương của máy tính là sự thực hiện nhiều tác vụ đồng thời. Để thực hiện điều này HĐH xử lý mô hình song song giả lập. Nghĩa là chuyển đổi bộ xử lý qua lại giữa các tiến trình trong khoảng 1% hoặc 1/10 mili giây để duy trì hoạt động của chương trình. Để hoàn thành tác vụ của mình, một tiến trình có thể cần đến một số tài nguyên như CPU, bộ nhớ chính, các tập tin và thiết bị Phân biệt chương trình và tiến trình: chương trình là một thực thể thụ động, khi thi hành thì thực thi các tác vụ, chỉ thị thì chương trình chuyển thành tiến trình là một thực thể hoạt động, xác định chỉ thị tiếp theo thi hành và cung cấp các tài nguyên cho tiến trình 6/28/2014 Chương 2. Quản lý tiến trình 5 CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.2 Tiến trình và mô hình đa tiến trình (2/2) Trong thực tế, chỉ có một bộ xử lý thật sự, được chuyển đổi qua lại giữa các tiến trình. Sự chuyển đổi nhanh chóng này được gọi là sự đa chương. HĐH chịu trách nhiệm sử dụng một thuật toán điều phối để quyết định thời điểm cần dừng hoạt động của tiến trình đang xử lý để phục vụ một tiến trình khác và lựa chọn tiến trình tiếp theo sẽ được phục vụ. Bộ phận thực hiện chức năng này của HĐH được gọi là bộ điều phối Một con trỏ lệnh Tiến trình A 4 con trỏ lệnh D B C B C A C B D A D Thời gian (a) (b) (c) 6/28/2014 Chương 2. Quản lý tiến trình 6 CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.3 Tiểu trình và mô hình đa tiểu trình Mỗi tiến trình có một không gian địa chỉ và chỉ có một dòng xử lý, nhưng người sử dụng mong muốn có nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ và các dòng xử lý này hoạt động song song. HĐH cung cấp một cơ chế xử lý mới cho phép có nhiều dòng xử lý trong cùng một tiến trình và gọi là tiểu trình Tiểu trình là một đơn vị xử lý cơ bản, mỗi tiểu trình xử lý tuần tự đoạn code, sở hữu một con trỏ lệnh, tập các thanh ghi, stack riêng. Các tiểu trình chia sẻ CPU với nhau giống như cách chia sẻ giữa các tiến trình. Một tiến trình có thể sở hữu nhiều tiểu trình Tiến trình là một chương trình hoạt động và cần có nhiều tiến trình được lưu trữ trong bộ nhớ tại một thời đểm và điều phối qua lại giữa các tiến trình làm cho sự đa chương của HĐH tăng lên. 6/28/2014 Chương 2. Quản lý tiến trình 7 TỔ CHỨC VÀ QUẢN LÝ TIẾN TRÌNH Trong môi trường đa chương, một CPU có thể chuyển từ chương trình này sang chương trình khác, thực hiện mỗi chương trình trong khoảng 1% hoặc 1/10 mili giây. Thực chất tại một thời điểm, CPU chỉ thực hiện được một chương trình. Nhưng xét trong khoảng thời gian phần trăm giây thì CPU có thể thực hiện được nhiều công việc Tiến trình là một dãy các trạng thái của hệ thống tính toán và việc chuyển từ trạng thái này sang trạng thái khác S0 S1 S2 S3 S4 S5 S6 S7 …. Sn-1 Sn Sn+1 …. Các trạng thái này nhất thiết không phải liên tiếp. Chương trình nào thì tạo ra tiến trình đó, gồm tiến trình của hệ thống và tiến trình của người sử dụng 6/28/2014 Chương 2. Quản lý tiến trình 8 TỔ CHỨC VÀ QUẢN LÝ TIẾN TRÌNH 2.2.1 Các loại tiến trình:2 loại là tuần tự và song song Tiến trình tuần tự: Là các tiến trình mà điểm khởi tạo của nó là điểm kết thúc của tiến trình trước đó. Tiến trình ...
Nội dung trích xuất từ tài liệu:
Bài giảng Nguyên lý hệ điều hành: Chương 2 - GV. Đặng Quang Hiển NGUYÊN LÝ HỆ ĐIỀU HÀNH (3 Tín chỉ) GV: Đỗ Công Đức Khoa khoa học máy tính Chương 2: QUẢN LÝ TIẾN TRÌNH 2.1. Các mô hình xử lý đồng hành 2.2. Tổ chức và quản lý tiến trình 2.3. Điều phối tiến trình 2.4. Tài nguyên găng và đoạn găng 2.5. Các giải pháp về đồng bộ hóa 2.6. Bế tắc và chống bế tắc 6/28/2014 Chương 2. Quản lý tiến trình 2 CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.1 Nhu cầu xử lý đồng hành (1/2) Đa số các HĐH hiện nay đều cho phép người dùng xử lý nhiều tác vụ đồng thời cùng một lúc trên máy tính để: Tăng hiệu suất sử dụng CPU: các công việc phải trải qua nhiều chu kỳ xử lý (xử dụng CPU) và chu kỳ nhập xuất (IO) xen kẽ nhau CPU IO CPU IO CPU Nếu chỉ có 1 tiến trình duy nhất trong hệ thống, thì vào các chu kỳ IO của tác vụ, CPU sẽ hoàn toàn nhàn rỗi. Ý tưởng tăng cường số lượng tác vụ trong hệ thống là để tận dụng CPU: nếu tác vụ 1 xử lý IO, thì có thể sử dụng CPU để thực hiện tác vụ 2 Tác vụ 1 CPU IO CPU IO CPU IO Tác vụ 2 CPU IO CPU IO CPU 6/28/2014 Chương 2. Quản lý tiến trình 3 CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.1 Nhu cầu xử lý đồng hành (2/2) Tăng tốc độ xử lý: xử lý song song nếu được xây dựng thành nhiều modul hoạt động đồng thời thì sẽ tiết kiệm được thời gian xử lý -Ví dụ: Tính giá trị của biểu thức a*b + c*d Nếu tiến hành song song tính a*b và c*d thì giải quyết bài toán nhanh hơn tính tuần tự a*b, c*d và sau đó mới tính tổng Trong các trường hợp đó, cần có một mô hình xử lý đồng hành thích hợp. Trên máy tính có cấu hình nhiều CPU, hỗ trợ xử lý song song (multiprocessing) thật sự, điều này sẽ giúp tăng hiệu quả thi hành của hệ thống đáng kể 6/28/2014 Chương 2. Quản lý tiến trình 4 CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.2 Tiến trình và mô hình đa tiến trình (1/2) Sự đa chương của máy tính là sự thực hiện nhiều tác vụ đồng thời. Để thực hiện điều này HĐH xử lý mô hình song song giả lập. Nghĩa là chuyển đổi bộ xử lý qua lại giữa các tiến trình trong khoảng 1% hoặc 1/10 mili giây để duy trì hoạt động của chương trình. Để hoàn thành tác vụ của mình, một tiến trình có thể cần đến một số tài nguyên như CPU, bộ nhớ chính, các tập tin và thiết bị Phân biệt chương trình và tiến trình: chương trình là một thực thể thụ động, khi thi hành thì thực thi các tác vụ, chỉ thị thì chương trình chuyển thành tiến trình là một thực thể hoạt động, xác định chỉ thị tiếp theo thi hành và cung cấp các tài nguyên cho tiến trình 6/28/2014 Chương 2. Quản lý tiến trình 5 CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.2 Tiến trình và mô hình đa tiến trình (2/2) Trong thực tế, chỉ có một bộ xử lý thật sự, được chuyển đổi qua lại giữa các tiến trình. Sự chuyển đổi nhanh chóng này được gọi là sự đa chương. HĐH chịu trách nhiệm sử dụng một thuật toán điều phối để quyết định thời điểm cần dừng hoạt động của tiến trình đang xử lý để phục vụ một tiến trình khác và lựa chọn tiến trình tiếp theo sẽ được phục vụ. Bộ phận thực hiện chức năng này của HĐH được gọi là bộ điều phối Một con trỏ lệnh Tiến trình A 4 con trỏ lệnh D B C B C A C B D A D Thời gian (a) (b) (c) 6/28/2014 Chương 2. Quản lý tiến trình 6 CÁC MÔ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.3 Tiểu trình và mô hình đa tiểu trình Mỗi tiến trình có một không gian địa chỉ và chỉ có một dòng xử lý, nhưng người sử dụng mong muốn có nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ và các dòng xử lý này hoạt động song song. HĐH cung cấp một cơ chế xử lý mới cho phép có nhiều dòng xử lý trong cùng một tiến trình và gọi là tiểu trình Tiểu trình là một đơn vị xử lý cơ bản, mỗi tiểu trình xử lý tuần tự đoạn code, sở hữu một con trỏ lệnh, tập các thanh ghi, stack riêng. Các tiểu trình chia sẻ CPU với nhau giống như cách chia sẻ giữa các tiến trình. Một tiến trình có thể sở hữu nhiều tiểu trình Tiến trình là một chương trình hoạt động và cần có nhiều tiến trình được lưu trữ trong bộ nhớ tại một thời đểm và điều phối qua lại giữa các tiến trình làm cho sự đa chương của HĐH tăng lên. 6/28/2014 Chương 2. Quản lý tiến trình 7 TỔ CHỨC VÀ QUẢN LÝ TIẾN TRÌNH Trong môi trường đa chương, một CPU có thể chuyển từ chương trình này sang chương trình khác, thực hiện mỗi chương trình trong khoảng 1% hoặc 1/10 mili giây. Thực chất tại một thời điểm, CPU chỉ thực hiện được một chương trình. Nhưng xét trong khoảng thời gian phần trăm giây thì CPU có thể thực hiện được nhiều công việc Tiến trình là một dãy các trạng thái của hệ thống tính toán và việc chuyển từ trạng thái này sang trạng thái khác S0 S1 S2 S3 S4 S5 S6 S7 …. Sn-1 Sn Sn+1 …. Các trạng thái này nhất thiết không phải liên tiếp. Chương trình nào thì tạo ra tiến trình đó, gồm tiến trình của hệ thống và tiến trình của người sử dụng 6/28/2014 Chương 2. Quản lý tiến trình 8 TỔ CHỨC VÀ QUẢN LÝ TIẾN TRÌNH 2.2.1 Các loại tiến trình:2 loại là tuần tự và song song Tiến trình tuần tự: Là các tiến trình mà điểm khởi tạo của nó là điểm kết thúc của tiến trình trước đó. Tiến trình ...
Tìm kiếm theo từ khóa liên quan:
Hệ điều hành Ubuntu Nguyên lý hệ điều hành Bài giảng Nguyên lý hệ điều hành Quản trị hệ điều hành Quản lý tiến trình Tiến trình hệ điều hànhTài liệu có liên quan:
-
Giáo trình Nguyên lý hệ điều hành (In lần thứ ba): Phần 1 - PGS.TS. Hà Quang Thụy
98 trang 305 0 0 -
80 trang 272 0 0
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 1) - Nguyễn Hải Châu
6 trang 210 0 0 -
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 6) - Nguyễn Hải Châu
10 trang 208 0 0 -
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 3) - Nguyễn Hải Châu
8 trang 202 0 0 -
Giáo trình Nguyên lý Hệ điều hành: Phần 1 - Trường TC nghề Đông Sài Gòn
66 trang 178 1 0 -
Giáo trình Hệ điều hành (Operating System)
201 trang 171 0 0 -
Bài giảng Nguyên lý hệ điều hành: Chương 6 - Phạm Quang Dũng
6 trang 153 0 0 -
Tiểu luận: Quản lý bộ nhớ trong hệ điều hành windows
21 trang 133 0 0 -
Giáo trình Hệ điều hành Linux và Unix
214 trang 131 0 0