Bài giảng nguyên lý hệ điều hành chương 2 GV đặng quang hiển

118 296 0
Bài giảng nguyên lý hệ điều hành  chương 2   GV  đặng quang hiển

Đ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

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 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 đoạn găng 2.5 Các giải pháp đồng hóa 2.6 Bế tắc chống bế tắc 6/28/2014 Chương Quản lý tiến trình 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ố HĐH cho phép người dùng xử lý nhiều tác vụ đồng thời lúc máy tính để:  Tăng hiệu suất sử dụng CPU: công việc phải trải qua nhiều chu kỳ xử lý (xử dụng CPU) chu kỳ nhập xuất (IO) xen kẽ CPU IO CPU IO CPU Nếu có tiến trình hệ thống, vào chu kỳ IO tác vụ, CPU hoàn toàn nhàn rỗi Ý tưởng tăng cường số lượng tác vụ hệ thống để tận dụng CPU: tác vụ xử lý IO, sử dụng CPU để thực tác vụ Tác vụ CPU Tác vụ 6/28/2014 IO CPU IO CPU IO CPU IO CPU IO CPU Chương Quản lý tiến trình 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 xây dựng thành nhiều modul hoạt động đồng thời tiết kiệm thời gian xử lý -Ví dụ: Tính giá trị biểu thức a*b + c*d Nếu tiến hành song song tính a*b c*d giải tốn nhanh tính a*b, c*d sau tính tổng Trong trường hợp đó, cần có 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 giúp tăng hiệu thi hành hệ thống đáng kể 6/28/2014 Chương Quản lý tiến trình CÁC MƠ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.2 Tiến trình mơ hình đa tiến trình (1/2)  Sự đa chương máy tính thực nhiều tác vụ đồng thời Để thực điều HĐH xử lý mơ hình song song giả lập Nghĩa chuyển đổi xử lý qua lại tiến trình khoảng 1% 1/10 mili giây để trì hoạt động chương trình  Để hồn thành tác vụ mình, tiến trình cần đến số tài nguyên CPU, nhớ chính, tập tin thiết bị  Phân biệt chương trình tiến trình: chương trình thực thể thụ động, thi hành thực thi tác vụ, thị chương trình chuyển thành tiến trình thực thể hoạt động, xác định thị thi hành cung cấp tài nguyên cho tiến trình 6/28/2014 Chương Quản lý tiến trình CÁC MƠ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.2 Tiến trình mơ hình đa tiến trình (2/2)  Trong thực tế, có xử lý thật sự, chuyển đổi qua lại tiến trình Sự chuyển đổi nhanh chóng gọi đa chương HĐH chịu trách nhiệm sử dụng thuật toán điều phối để định thời điểm cần dừng hoạt động tiến trình xử lý để phục vụ tiến trình khác lựa chọn tiến trình phục vụ Bộ phận thực chức HĐH gọi điều phối Một trỏ lệnh A Tiến trình trỏ lệnh B C A B C D D (a) 6/28/2014 (b) Chương Quản lý tiến trình D C B A Thời gian (c) CÁC MƠ HÌNH XỬ LÝ ĐỒNG HÀNH 2.1.3 Tiểu trình mơ hình đa tiểu trình  Mỗi tiến trình có khơng gian địa có dịng xử lý, người sử dụng mong muốn có nhiều dịng xử lý chia sẻ không gian địa dòng xử lý hoạt động song song  HĐH cung cấp chế xử lý cho phép có nhiều dịng xử lý tiến trình gọi tiểu trình  Tiểu trình đơn vị xử lý bản, tiểu trình xử lý đoạn code, sở hữu trỏ lệnh, tập ghi, stack riêng Các tiểu trình chia sẻ CPU với giống cách chia sẻ tiến trình Một tiến trình sở hữu nhiều tiểu trình  Tiến trình chương trình hoạt động cần có nhiều tiến trình lưu trữ nhớ thời đểm điều phối qua lại tiến trình làm cho đa chương HĐH tăng lên 6/28/2014 Chương Quản lý tiến trình TỔ CHỨC VÀ QUẢN LÝ TIẾN TRÌNH  Trong mơi trường đa chương, CPU chuyển từ chương trình sang chương trình khác, thực chương trình khoảng 1% 1/10 mili giây Thực chất thời điểm, CPU thực chương trình Nhưng xét khoảng thời gian phần trăm giây CPU thực nhiều cơng việc  Tiến trình dãy trạng thái hệ thống tính toán việc chuyển từ trạng thái 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 thiết khơng phải liên tiếp Chương trình tạo tiến trình đó, gồm tiến trình hệ thống tiến trình người sử dụng 6/28/2014 Chương Quản lý tiến trình 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 song song  Tiến trình tuần tự: Là tiến trình mà điểm khởi tạo điểm kết thúc tiến trình trước  Tiến trình song song: Hai tiến trình gọi song song thời điểm bắt đầu của tiến trình nằm thời điểm bắt đầu kết thúc chương trình Tiến trình Bắt đầu Kết thúc Tiến trình Bắt đầu 6/28/2014 Chương Quản lý tiến trình 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 song song Tiến trình song song thực thực song song vật lý song song đan xen + Tiến trình song song độc lập: Khơng có quan hệ thơng tin với + Tiến trình song song có quan hệ thơng tin: q trình hoạt động tiến trình thường trao đổi thơng tin với + Tiến trình song song phân cấp: hoạt động sản sinh tiến trình hoạt động song song Tiến trình khởi tạo tiến trình cha, tiến trình tạo gọi tiến trình + Tiến trình song song đồng mức: sử dụng chung tài nguyên theo nguyên tắc lần lược, tiến trình sau khoảng thời gian chiếm giữ tài nguyên phải tự động trả lại tài nguyên cho tiến trình 6/28/2014 Chương Quản lý tiến trình 10 BẾ TẮC VÀ CHỐNG BẾ TẮC 2.6.5 Tránh bế tắc Để giải toán bế tắc ta sử dụng phương pháp tránh bế tắc :  Ngăn chặn ba điều kiện cần bế tắc, trực tiếp ngăn chặn không cho xảy tượng chờ đợi vòng tròn  Tránh bế tắc thực cho phép điều kiện cần xảy cung cấp lựa chọn để không xảy điểm bế tắc  HĐH tuân thủ nguyên tắc để tránh bế tắc - Không hoạt động yêu cầu tài ngun có nguy dẫn đến bế tắc - Khơng cấp thêm tài nguyên cung cấp có nguy dẫn đến bế tắc 6/28/2014 Chương Quản lý tiến trình 104 BẾ TẮC VÀ CHỐNG BẾ TẮC 2.6.5 Tránh bế tắc Hệ điều hành sử dụng khái niệm trạng thái trạng thái an toàn để tránh bế tắc cơng tác phịng chống bế tắc  Trạng thái hệ thống: cấp phát tài nguyên cho tiến trình  Trạng thái an toàn: Trạng thái A an toàn hệ thống thỏa mãn nhu cầu tài nguyên (đến tối đa) tiến trình mà ngăn chặn bế tắc HĐH xây dựng thuật toán, tác động vào cấu trúc liệu để xác định trạng thái an tồn khơng an tồn để phục vụ cấp phát tài ngun Nếu an tồn cấp phát, khơng an tồn từ chối cấp phát xác định trạng thái an tồn 6/28/2014 Chương Quản lý tiến trình 105 BẾ TẮC VÀ CHỐNG BẾ TẮC 2.6.5 Tránh bế tắc Sử dụng cấu trúc liệu sau: int allocation[numprocs,numresources]; //allocation[p,r] số lượng tài nguyên r thực cấp phát cho p int max[numprocs,numresources]; // max[p,r] nhu cầu tối đa tiến trình p tài nguyên r int need[numprocs,numresources]; //need[p,r]=max[p,r]-allocation[p,r] int available[numresources] //available[r] số lượng tài nguyên r tự 6/28/2014 Chương Quản lý tiến trình 106 BẾ TẮC VÀ CHỐNG BẾ TẮC 2.6.5 Tránh bế tắc int word[numresouces]=available; int finish[numproces]=false; 1.Tìm i cho a finish[i]==false; b need[i,j]

Ngày đăng: 03/12/2015, 14:36

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan