Danh mục

Giáo trình Kiến trúc hệ điều hành: Phần 1

Số trang: 44      Loại file: pdf      Dung lượng: 787.58 KB      Lượt xem: 17      Lượt tải: 0    
Thư viện của tui

Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Mời các bạn cùng tìm hiểu khái niệm tiến trình; các process song song không đồng bộ; Deadlock - Treo;... được trình bày cụ thể trong "Giáo trình Kiến trúc hệ điều hành: Phần 1". Cùng tìm hiểu để nắm bắt nội dung thông tin tài liệu.
Nội dung trích xuất từ tài liệu:
Giáo trình Kiến trúc hệ điều hành: Phần 1 GIÁO TRÌNHKIẾN TRÚC HỆ ĐIỀU HÀNH NHÀ XUẤT BẢN KHOA HỌC VÀ KỸ THUẬT HÀ NỘI - 2010Phần IIChương 3 Khái niệ m Tiế n trình (Process) 3.1 Mởđầu Trong chương này chúng ta sẽxem xét khái niệ m process, một khái niệm quan trọng nhấtđểhình dung vềcông việ c của máy tính ngày nay. Chúng ta sẽtìm hiểu khái niệm vềcác trạ ng thái (rời rạ c) của process và cũng như cách mà process chuyể n từtrạ ng thái này sang trạ ng thái khác cùng với các thao tác cơbản trên process. Khái niệm process lần đầu tiên được các kỹsưthiết kếhệthống MULTICS vào những năm 60. Trong thời kỳđầ u tiên, process được hiể u trong nhiề u trường hợp đồng nghĩ a nhưlà chương trình, bài toán (task) hay là đối tượng được bộxửlý phục vụ,.. Người ta thường dùng đị nh nghĩ a process nhưlà chương trình trong lúc chạ y. 3.2 Trạng thái của p ro cess Trong thời gian tồn tạ i của mình, process tồn tạ i trong các trang thái tách biệ t (rời rạc). Sựđổi từtrạng thái này sang trạng thái khác có thểxảy ra bởi các sựkiệ n khác nhau. Nói rằng process ởtrạ ng thái hoạ t động (running state) nế u nó đang được BXL phục vụ.Còn nế u process đã sẵn sàng đểđược BXL phục vụnhưng đang chờđế n lượt thì proces ởtrạng thái sẵn sàng – ready state. Nói rằ ng process ởtrạng thái bị cản, chặn – blocked state nế u nhưnó đang chờmộtsựkiệ n nào đó (ví dụkế t thúc tác vụvào/ra) đểcó thểtiếp tục hoạ t động. Ngoài 3 trạng thái nói trên còn một số trạng thái khác nhưng tạm thời chúng ta chỉxem xét quan hệgiữa 3 trạ ng thái trên. Đểđơn giả n chúng ta xem xét trường hợp máy tính chỉcó một BXL. Trong hệ thống một BXL, tạ i một thời điểm chỉcó thểcó một process được thực hiện, còn một sốprocess nằm trong trạ ng thái sẵ n sàng (ready) và một sốkhác trong trạ ng thái bịchặ n (blocked). Do đó chúng ta có thểlập một danh sách chứa các process ở trạng thái ready và một danh sách các blocked process. Mỗi ready process nằm trong list thứnhấ t sẽcó mức độưu tiên riêng (priority) của mình- tức là các process đó được sắ p xếp theo thứtựvà process nằm ởđầu danh sách sẽlà process có độưu tiên cao nhấ t và sẽđược BXL thực hiệ n tiế p theo (có nhiề u tiêu chuẩn để gán priority và thay đổi priority). Còn danh sách các blocked process nói chung không có thứtựvì blocked process sẽđược giả i phóng (unblock) bởi các sựkiệ n mà nó đang chờ.3.3 Sựchuyển trạng thái của p ro cess Khi có một chương trình – task bắ t đầu được thực hiệ n, hệthống sinh ra một process tương ứng và process đó được đưa vào danh sách các ready process, đơn giản nhấ t là đưa vào cuối danh sách – tức là có mức ưu tiên priority thấp nhất. Process này sẽdị ch chuyển dần lên phía đầu list bởi vì các process trước nó dầ n dần được BXL phục vụ. Khi process nằ m ởđầ u list và BXL được giả i phóng thì process này được BXL phục vụvà lúc đó xả y ra sựthay đổi trạ ng thái của process – chuyển từtrạ ng thái ready sang running. Việ c trao quyề n sửdụng BXL cho process đầ u tiên trong danh sách các ready processes gọi là quá trình dispatching, điều đó được thực hiện bởimodule chương trình nằ m trong OS gọi là dispatcher. Quá trình đổitrạng thái đó có thểbiể u diễ n bằ ng ký hiệ u: dispatch(process name): ready  running Process đang sửdụng BXL được gọi là process đang được thực hiện ...

Tài liệu được xem nhiều: