Một Chương trình không làm gì cả trừ khi các lệnh của nó được CPU thực thi. Một chương trình đang được thực thi được gọi là một tiến trình. Để hoàn thành nhiệm vụ của nó, tiến trình cần các tài nguyên máy tính.
Có thể tồn tại nhiều hơn một quá trình trong hệ thống có thể yêu cầu cùng một tài nguyên tại cùng một thời điểm. Do đó, hệ điều hành phải quản lý tất cả các process và tài nguyên một cách thuận tiện và hiệu quả.
Các bài viết liên quan:
Một số tài nguyên có thể cần được thực thi bởi một quá trình tại một thời điểm để duy trì tính nhất quán, nếu không hệ thống có thể trở nên không nhất quán và có thể xảy ra bế tắc.
Hệ điều hành chịu trách nhiệm về các hoạt động sau liên quan đến Quản lý process
- Lập lịch các process và luồng trên CPU.
- Tạo và xóa cả process của người dùng và hệ thống.
- Quá trình tạm ngừng và tiếp tục.
- Cung cấp cơ chế đồng bộ hóa process.
- Cung cấp cơ chế giao tiếp process.
Các thuộc tính của một process
Các thuộc tính của process được Hệ điều hành sử dụng để tạo khối điều khiển process (PCB) cho từng thuộc tính đó. Đây cũng được gọi là bối cảnh của quá trình. Các thuộc tính được lưu trữ trong PCB được mô tả bên dưới.
ID process
Khi một process được tạo, một id duy nhất được gán cho process này được sử dụng để nhận dạng duy nhất process trong hệ thống.
Bộ đếm chương trình
Bộ đếm chương trình lưu trữ địa chỉ của lệnh cuối cùng của quá trình mà quá trình bị tạm dừng. CPU sử dụng địa chỉ này khi quá trình này được tiếp tục lại.
Trạng thái process
process, từ khi tạo đến khi hoàn thành, trải qua nhiều trạng thái khác nhau, mới, sẵn sàng, đang chạy và chờ đợi. Chúng ta sẽ thảo luận chi tiết về chúng sau.
Ưu tiên
Mọi process đều có mức độ ưu tiên riêng. Quá trình có mức độ ưu tiên cao nhất trong số các quá trình sẽ lấy CPU đầu tiên. Điều này cũng được lưu trữ trên khối điều khiển quá trình.
Thanh ghi mục đích chung
Mọi process đều có một tập hợp các thanh ghi riêng được sử dụng để lưu giữ dữ liệu được tạo ra trong quá trình thực hiện process.
Danh sách các tập tin đang mở
Trong quá trình thực thi, mọi quá trình sử dụng một số tệp cần phải có trong bộ nhớ chính. Hệ điều hành cũng duy trì một danh sách các tệp đang mở trong PCB.
Danh sách các thiết bị đang mở
Hệ điều hành cũng duy trì danh sách tất cả các thiết bị mở được sử dụng trong quá trình thực hiện.
Xử lý trạng thái của Process
Biểu đồ trạng thái
Quá trình, từ khi tạo ra đến khi hoàn thành, trải qua nhiều trạng thái khác nhau. Số tiểu bang tối thiểu là năm.
Các bài viết khác:
Tên của các trạng thái không được tiêu chuẩn hóa mặc dù quá trình có thể ở một trong các trạng thái sau trong quá trình thực thi.
New
Một chương trình sẽ được HĐH chọn vào bộ nhớ chính được gọi là một process mới.
Ready
Bất cứ khi nào một process được tạo, nó sẽ trực tiếp đi vào trạng thái sẵn sàng, trong đó, nó sẽ đợi CPU được gán. Hệ điều hành chọn các process mới từ bộ nhớ phụ và đưa tất cả chúng vào bộ nhớ chính.
Các quá trình sẵn sàng cho việc thực thi và nằm trong bộ nhớ chính được gọi là các quá trình trạng thái sẵn sàng. Có thể có nhiều process ở trạng thái sẵn sàng.
Run
Một trong các process từ trạng thái sẵn sàng sẽ được chọn bởi Hệ điều hành tùy thuộc vào thuật toán lập lịch trình. Do đó, nếu chúng ta chỉ có một CPU trong hệ thống của mình, thì số lượng process đang chạy trong một thời điểm cụ thể sẽ luôn là một. Nếu chúng ta có n bộ xử lý trong hệ thống thì chúng ta có thể có n quá trình chạy đồng thời.
Block hoặc wait
Từ trạng thái Đang chạy, một quá trình có thể thực hiện chuyển đổi sang khối hoặc trạng thái chờ tùy thuộc vào thuật toán lập lịch hoặc hành vi nội tại của quá trình.
Khi một process đợi một tài nguyên nhất định được gán hoặc cho đầu vào từ người dùng thì hệ điều hành sẽ di chuyển process này sang trạng thái khối hoặc trạng thái chờ và gán CPU cho các process khác.
Completion hoặc termination
Khi một quá trình kết thúc quá trình thực thi, nó sẽ ở trạng thái kết thúc. Tất cả bối cảnh của quá trình (Khối điều khiển quá trình) cũng sẽ bị xóa, quá trình sẽ bị chấm dứt bởi Hệ điều hành.
Suspend ready
Một process ở trạng thái sẵn sàng, được chuyển đến bộ nhớ phụ từ bộ nhớ chính do thiếu tài nguyên (chủ yếu là bộ nhớ chính) được gọi là ở trạng thái sẵn sàng tạm ngừng.
Nếu bộ nhớ chính đầy và process có mức ưu tiên cao hơn được thực thi thì HĐH phải nhường chỗ cho process trong bộ nhớ chính bằng cách ném process có mức ưu tiên thấp hơn vào bộ nhớ phụ. Các quá trình sẵn sàng tạm ngừng vẫn còn trong bộ nhớ phụ cho đến khi bộ nhớ chính khả dụng.
Suspend wait
Thay vì xóa process khỏi hàng đợi sẵn sàng, tốt hơn nên xóa process bị chặn đang chờ một số tài nguyên trong bộ nhớ chính. Vì nó đã chờ sẵn một số tài nguyên nên sẽ tốt hơn nếu nó đợi trong bộ nhớ phụ và nhường chỗ cho quá trình ưu tiên cao hơn. Các quá trình này hoàn tất việc thực thi khi bộ nhớ chính có sẵn và quá trình chờ của chúng kết thúc.
Các hoạt động trong process
Creation
Khi quá trình được tạo, nó sẽ sẵn sàng và đi vào hàng đợi sẵn sàng (bộ nhớ chính) và sẽ sẵn sàng để thực thi.
Scheduling
Trong số nhiều quá trình có trong hàng đợi sẵn sàng, Hệ điều hành chọn một quá trình và bắt đầu thực thi nó. Việc chọn process sẽ được thực hiện tiếp theo, được gọi là lập lịch.
Execution
Khi process được lên lịch để thực thi, bộ xử lý sẽ bắt đầu thực thi nó. Quá trình có thể chuyển sang trạng thái bị chặn hoặc chờ trong quá trình thực thi, sau đó trong trường hợp đó, bộ xử lý bắt đầu thực hiện các quá trình khác.
Deletion/killing
Khi mục đích của quá trình kết thúc thì hệ điều hành sẽ kết thúc quá trình. Bối cảnh của quá trình (PCB) sẽ bị xóa và quá trình sẽ bị chấm dứt bởi Hệ điều hành.
Nhiều thời điểm liên quan đến Process
- Arrival Time
Thời gian mà tiến trình đi vào hàng đợi sẵn sàng được gọi là thời gian đến.
- Burst Time
Tổng lượng thời gian cần thiết của CPU để thực hiện toàn bộ quá trình được gọi là Burst Time. Điều này không bao gồm thời gian chờ đợi. Thật khó hiểu khi tính toán thời gian thực hiện cho một quá trình ngay cả trước khi thực thi nó, do đó các vấn đề lập lịch dựa trên thời gian bùng nổ không thể được thực hiện trong thực tế.
- Completion Time
Thời gian mà quá trình chuyển sang trạng thái hoàn thành hoặc thời gian mà quá trình hoàn thành việc thực hiện của nó, được gọi là thời gian hoàn thành.
- Turnaround time
Tổng lượng thời gian dành cho quá trình từ khi xuất hiện đến khi hoàn thành, được gọi là Thời gian quay vòng.
- Waiting Time
Tổng lượng thời gian mà tiến trình chờ CPU được gán được gọi là thời gian chờ.
- Response Time
Sự khác biệt giữa thời gian đến và thời gian mà quá trình nhận được CPU lần đầu tiên được gọi là Thời gian đáp ứng.
Xem thêm Lập lịch CPU trong Operating System