Danh mục tài liệu

Chương II: QUẢN LÝ TIẾN TRÌNH

Số trang: 56      Loại file: doc      Dung lượng: 620.50 KB      Lượt xem: 22      Lượt tải: 0    
Xem trước 6 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tất cả các hệ điều hành đa chương, từ các hệ điều hành đơnngười sử dụng đến các hệ điều hành có thể hỗ trợ đến hàng ngànngười sử dụng, đều phải xây dụng dựa trên khái niệm tiến trình. Vìthế, một yêu cầu quan trọng trong thiết kế hệ điều hành là thànhphần quản lý tiến trình của hệ điều hành phải đáp ứng tất cảnhững gì liên quan đến tiến trình: Hệ điều hành phải cho phép thực hiện nhiều tiến trìnhđồng thời để khai thác tối đa thời gian xử lý của processor nhưngcũng cung cấp...
Nội dung trích xuất từ tài liệu:
Chương II: QUẢN LÝ TIẾN TRÌNHChương II QUẢN LÝ TIẾN TRÌNH Tất cả các hệ điều hành đa chương, từ các hệ điều hành đơn người sử dụng đến các hệ điều hành có thể hỗ trợ đến hàng ngàn người sử dụng, đều phải xây dụng dựa trên khái niệm tiến trình. Vì thế, một yêu cầu quan trọng trong thiết kế hệ điều hành là thành phần quản lý tiến trình của hệ điều hành phải đáp ứng tất cả những gì liên quan đến tiến trình: • Hệ điều hành phải cho phép thực hiện nhiều tiến trình đồng thời để khai thác tối đa thời gian xử lý của processor nhưng cũng cung cấp được thời gian hồi đáp hợp lý. • Hệ điều hành phải cấp phát tài nguyên để tiến trình hoạt động một cách hiệu quả với một chính sách hợp lý nhưng không xảy ra tình trạng tắc nghẽn trong hệ thống. • Hệ điều hành có thể được yêu cầu để hỗ trợ truyền thông liên tiến trình và người sử dụng tạo ra tiến trình. Hệ điều hành phải có nhiệm vụ tạo ra tiến trình, điều khiển sự hoạt động của tiến trình và kết thúc tiến trình. Một số hệ điều hành phân biệt hai khái niệm tiến trình và tiểu trình. Tiến trình liên quan đến quyền sở hữu tài nguyên, tiểu trình liên quan đến sự thực hiện chương trình. Trong các hệ điều hành đa chương, có nhiều tiến trình tồn tại trên bộ nhớ chính, các tiến trình này luân phiên giữa hai trạng thái: sử dụng processor và đợi thực hiện vào/ra hay một vài sự kiện nào đó xảy ra. Tất cả những vấn đề trên sẽ được làm sáng tỏ trong chương này. 1. Tổng quan về tiến trìnhII.1.1. Tiến trình và các loại tiến trình Tiến trình (process): Trong chương I chúng ta đã có khái niệm về tiếntrình: Tiến trình là một bộ phận của một chương trình đang thực hiện, đơn vịthực hiện tiến trình là processer. Ở đây chúng tôi nhấn mạnh thêm rằng: Vì tiếntrình là một bộ phận của chương trình nên tương tự như chương trình tiến trìnhcũng sở hữu một con trỏ lệnh, một con trỏ stack, một tập các thanh ghi, mộtkhông gian địa chỉ trong bộ nhớ chính và tất cả các thông tin cần thiết khác đểtiến trình có thể hoạt động được. Khái niệm trên đây mang tính trực quan, để thấy được bản chất của tiếntrình các chuyên gia về hệ điều hành đã đưa ra nhiều định nghĩa khác nhau về tiếnChương 2: Quản lý Tiến trình 40trình, ở đây chúng tôi nêu ra hai định nghĩa để các bạn tham khảo. Định nghĩa củaSaltzer: Tiến trình là một chương trình do một processor logic thực hiện. Địnhnghĩa của Horning & Rendell: Tiến trình là một quá trình chuyển từ trạng thái nàysang trạng thái khác dưới tác động của hàm hành động, xuất phát từ một trạngthái ban đầu nào đó. Định nghĩa của Saltzer cho thấy, trên góc độ thực hiện thì tiến trình hoàntoàn tương tự chương trình, chỉ khác ở chỗ: tiến trình do processor logic chứkhông phải processor vật lý thực hiện. Điều này sẽ được làm sáng tỏ trong phầnmô tả về tiến trình sau đây. Định nghĩa của Horning & Rendell cho thấy trong quátrình hoạt động của tiến trình là quá trình chuyển từ trạng thái này sang trạng tháikhác nhưng sự chuyển đổi này không phải do chính bản thân tiến trình mà là do sựtác động từ bên ngoài, cụ thể ở đây là bộ phận điều phối tiến trình của hệ điềuhành. Điều này sẽ được làm sáng tỏ trong phần mô tả về các trạng thái tiến trìnhsau đây. Các loại tiến trình: Các tiến trình trong hệ thống có thể chia thành hai loại:tiến trình tuần tự và tiến trình 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 songsong là các tiến trình mà điểm khởi tạo của tiến trình này mằn ở thân của các tiếntrình khác, tức là có thể khởi tạo một tiến trình mới khi các tiến trình trước đóchưa kết thúc. Tiến trình song song được chia thành nhiều loại: • Tiến trình song song độc lập: là các tiến trình hoạt động song songnhưng không có quan hệ thông tin với nhau, trong trường hợp này hệ điều hànhphải thiết lập cơ chế bảo vệ dữ liệu của các tiến trình, và cấp phát tài nguyêncho các tiến trình một cách hợp lý. • Tiến trình song song có quan hệ thông tin: trong quá trình hoạt độngcác tiến trình thường trao đổi thông tin với nhau, trong một số trường hợp tiếntrình gởi thông báo cần phải nhận được tín hiệu từ tiến trình nhận để tiếp tục,điều này dễ dẫn đến bế tắc khi tiến trình nhận tín hiệu không ở trong trạng tháinhận hay tiến trình gởi không ở trong trạng thái nhận thông báo trả lời. • Tiến trình song song phân cấp: Trong qua trình hoạt động một tiếntrình có thể khởi tạo các tiến trình khác hoạt động song song với nó, tiến trìnhkhởi tạo được gọi là tiến trình cha, tiến trình được tạo gọi là tiến trình con. Trongmô hình này hệ điều hành phải giải quyết vấn đề cấp phát tài nguyên cho các tiếntrình con. Tiến trình con nhận tài nguyên ở đâu, từ tiến trình ...