Bài giảng Hệ điều hành - Chương 2: Tiến trình
➤ Gửi thông báo lỗi ⚠️ Báo cáo tài liệu vi phạmNội dung chi tiết: Bài giảng Hệ điều hành - Chương 2: Tiến trình
Bài giảng Hệ điều hành - Chương 2: Tiến trình
CHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được b Bài giảng Hệ điều hành - Chương 2: Tiến trìnhbó lại thành gói (paket) và được gởi đi liên tục. Điều đó được gọi là xử lý đóng gói (pile processing) hay quản lý lô (batch manager). Ngày nay. không chỉ có một chương trình chạy trên máy tính, mà nhiều chương trình cùng thực hiện (multi-tasking). Cùng như thế. không chỉ có một người sử dụng làm vi Bài giảng Hệ điều hành - Chương 2: Tiến trìnhệc, mà nhiều người sử dụng cùng làm việc (multiuser). Đe hạn chê sự tranh chấp giữa chúng ở việc dùng máy tính, do đó sự phân bổ các phương tiện diềuBài giảng Hệ điều hành - Chương 2: Tiến trình
hành phải được điều chỉnh trên chương trình.Ngoài ra, điểu đó còn tiết kiệm thời gian chạy máy và giảm đáng kè thời gian thao tác. Thí dụ. người ta cóCHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được b Bài giảng Hệ điều hành - Chương 2: Tiến trìnhằng. CPU đà trợ giúp việc xử lý Text trong thời gian máy in in ký tự. Nêu điếu đó hoàn thiện thì bộ vi xử lý đầy một ký tự mới cho máy in và tiếp tục việc xử lý Text.Thêm vào dó. chương trình phài dược lưu trừ khi cần thiết sửdụng phương tiện diếu hành nào: không gian nhớ. thê hệ CPU. dùng lượng CPU Bài giảng Hệ điều hành - Chương 2: Tiến trình... Từ đó, ta hiểu, tiến trình là thông tin trạng thái của các phương tiện diêu hành đôi với một chương trình (thường gọi là một Job).Hình 2.1 minh họBài giảng Hệ điều hành - Chương 2: Tiến trình
a điều trên đây:Hình 2.1. Sựcấu thành các dừ liệu tiến trìnhMột tiến trình này có thể sinh ra một tiến trình khác, khi đó người ta gọi tiến trình đầu CHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được b Bài giảng Hệ điều hành - Chương 2: Tiến trìnhnhiều chương trình và nhiều tiến trình. Một chương trình (gọi là một job ) cũng có the tự phát sinh ra nhiều tiến trình.Thí (lự vế hệ điếu hành UNIX:Các chương trình hệ thống của Unix được gọi là nến tảng, nó tổng hợp các giải pháp đóng bộ và thích ứng thuận tiện. Sự độc lập cùa các tiến trình và kế Bài giảng Hệ điều hành - Chương 2: Tiến trình cả các chương trình của hệ điều hành Unix cho phép khởi động đống thời nhiều công việc.Thí dụ. chương trình pr hình thành Textl, chương trình Ipr biểBài giảng Hệ điều hành - Chương 2: Tiến trình
u diễn Text2 thì người ta có the kết nối thành chương trình cat bằng dòng lệnh sau:cat Text 1 Text2 I pr I Iprơ đây, bộ thông dịch, mà người ta sẽ chuCHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được b Bài giảng Hệ điều hành - Chương 2: Tiến trìnhg trình thành việc nhập vào một chương trình khác. Nêu trong hệ thống có nhiều bộ vi xử lý, do đó, mỗi bộ vi xử lý có the được sắp xếp theo một tiên trình, và quả vậy, sự điểu hành đƯỢc tiến hành song song. Ngoài ra. cùng có khi một bộ vi xử lý chỉ thực hiện một phân tiến trình và dẫn tới bộ tiếp th Bài giảng Hệ điều hành - Chương 2: Tiến trìnheo.ơ hệ thống dơn vi xử lý thì luôn chỉ có 1 tiến trình thực hiện, những tiên trình khác được giữ lại và chờ đợi. Điếu này sẽ dược khảo sát ỏ các phấnBài giảng Hệ điều hành - Chương 2: Tiến trình
dưới.2.1 Các trạng thái tiên trìnhKê tiếp trạng thái hoạt động (running) đối với một tiên trình đang diễn ra, chúng ta phải xem xét những tiến trình CHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được b Bài giảng Hệ điều hành - Chương 2: Tiến trìnhm phải chờ dợi. dể:+ đón nhận một bộ vi xử lý hoạt động, lúc đó ta có trạng thái sẵn sang (ready),+ đón nhận một thông tin (massage) cùa một tiến trình khác,+ đón nhận tín hiệu của một bộ chỉ thị thời gian (timer),+ đón nhận những dữ liệu của một thiết bị xuất nhập.Thực ra. trạng thái sẵn sang rất d Bài giảng Hệ điều hành - Chương 2: Tiến trìnhặc biệt: tát cả các tiến trình nhận được các thay dổi và dược giải hãm. tiếp dến. đầu tiên chúng được chuyển dịch vàotrong danh sách sẵn sàng và sau đBài giảng Hệ điều hành - Chương 2: Tiến trình
ó, chúng đón nhận bộ vi xử lý ở trong dãy tuân tự.Các trạng thái và sự quá dộ cùa chúng dược sơ dổ hoá trên hình 2.2Hình 2.2.Các trạng thái tiên trìnhCHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được b Bài giảng Hệ điều hành - Chương 2: Tiến trìnhất kỳ khi nào. Do dó, từ các lý do bảo vệ. các tiến trình không tự quản lý dược, mà chúng được thuyên chuyển từ một chức năng đặc biệt của một hệ điểu hành cho bộ định giờ, hay thuyên chuyến từ một trạng thái này thành một trạng thái liền kế. Việc chuyển dôi của các tín hiệu, việc lưu trữ các dữ liệ Bài giảng Hệ điều hành - Chương 2: Tiến trìnhu tiên trình và việc sắp xếp thành các hàng đợi được một chức năng trung tâm hoàn thiện, các chức năng này người sử dụng không trực tiếp điểu khiển. BBài giảng Hệ điều hành - Chương 2: Tiến trình
Ởi vậy. qua việc gọi hệ điếu hành thì những mong muốn của các tiến trình dược khai báo, mà những cái đó trong khuôn khò cùa việc quàn lý các phương tiCHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được b Bài giảng Hệ điều hành - Chương 2: Tiến trìnhnh ứng với một trạng thái thì dược dưa vào danh sách đó. Điều dã rõ. rằng một tiến trình có thê được luôn luôn chứa đựng chỉ trong một danh sách.Trong sự khác nhau với mã máy, những dữ liệu trạng thái của phần cứng (CP. FPU, MNU), mà với các tiến trình làm việc, chúng dược biểu thị là văn cảnh liến Bài giảng Hệ điều hành - Chương 2: Tiến trìnhtrình (slask context), xem hình 2.1. o một liến trình hàm, phần dữ liệu chứa dựng trạng thái sau cùng của CPU thì nó như một bản sao của CPU có thê đưBài giảng Hệ điều hành - Chương 2: Tiến trình
ợc biêu thị là nộl vi xử lý ảo và phải được nộp mới nhờ sự chuyến đổi lới rnộl liến irình khác cũng như chuyển dối vãn cảnh (context switch).Những hệ CHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được b Bài giảng Hệ điều hành - Chương 2: Tiến trìnhúng dự định cho việc bắt dầu và kết thúc của bộ vi xử lý cùng như việc phân chia và săp xêp danh sách chờ. ơ dây. người ta còn phân biệt giữa việc đặt kê hoạch phân bo các phương tiện diéu hành (scheduling) và việc phân bổ trên thực té (dispatching).2.1.1. Thí dụ về UnixTrong hệ điều hành Unix có sá Bài giảng Hệ điều hành - Chương 2: Tiến trìnhu trạng thái khác nhau. Có ba trạng thái đã nhấc tới ở trên. Đó là trạng thái ruwNHg(SRUN), trạng thái blocked (SSLEEP) và trạng thái ready (SWAIT). TBài giảng Hệ điều hành - Chương 2: Tiến trình
rạng thái tiếp theo là trạng thái stopped (SSTOP), mà một cái gì dó phù hợp với sự chờ đợi của các tiến trình cha ở việc tìm lỗi (tracing anh debugginCHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được b Bài giảng Hệ điều hành - Chương 2: Tiến trìnhhái zombie (SZ0MB), mà chúng xuất hiện bởi việc sinh ra và kết thúc của một tiến trình. Sự quá độ trạng thái có những hình thái như trong hình vẽ 2.3 ở trên.Sự quá độ của một trạng thái tới một trạng thái ke tiếp đạt được qua sự thăm dò gọi hệ thống. Thí dụ. nêu có một tiến trình gọi hàm fork(), do Bài giảng Hệ điều hành - Chương 2: Tiến trìnhđó một bàn sao một tiến trình được lôi ra và đem treo vào danh sách sẵn sàng, với điều dó, bây giờ ta có hai tiến trình dồng nhất, mà cả hai trở lại tBài giảng Hệ điều hành - Chương 2: Tiến trình
ừ việc gọi hàm fork(). Sự khác nhau giữa hai tiến trình là ở chỗ giá trị trả lại của hàm: tiến trình cha đón nhận chỉ sỏ tiến trình (P1D) của con; khiCHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được b Bài giảng Hệ điều hành - Chương 2: Tiến trình trình thực thi (execute) có thể nhận thấy rằng, chương trình chạy sè quá tài bởi mã chương trình. Tất cà các thiết bị hiền thị và các biến số được kích thích (thí dụ sử dựng bộ đếm dịa chỉ gọi hệ thống của chương trình) và tiên trình hoàn tất được treo vào danh sách sẵn sang, ơ hiệu quả cuối cùng c Bài giảng Hệ điều hành - Chương 2: Tiến trìnhủa tiến trình cha thì một chương trình hoàn toàn mới được khởi động.Tiên trình cha có khả nấng chờ đợi hàm gọi hệ thống exit() và chờ đợi sự kết thúcBài giảng Hệ điều hành - Chương 2: Tiến trình
của tiến trình con với hàm waitpid(PID). Trong hình 2.4 chỉ ra quá trình phát sinh một tiên trình như vậy.CHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được bCHƯƠNG 2.TIÊN TRÌNH2.0. Quan niệm về tiên trìnhTrước đây tuỳ từng thời điểm, máy tính được xác định một nhiệm vụ chính; tất cả các chương trình được bGọi ngay
Chat zalo
Facebook