Process resources là gì

Process trong hệ điều hành là gì

Những chiếc máy tính những năm đầu được chế tạo và phát triển chỉ cho phép một chương trình được chạy tại một thời điểm. Do vậy, chương trình đang chạy ấy có quyền điều khiển cả hệ thống, cũng như tất cả tài nguyên của chiếc máy tính. Sau đó, xuất hiện hệ thống cho phép nhiều chương trình cùng chạy. Dẫn tới việc cần phân rõ quyền điều khiển cũng như sự phân chia tài nguyên của hệ thống cho các chương trình đang chạy.

Từ đó xuất hiện khái niệm về quá trình (process). Quá trình là chương trình đang được thực thi, và cũng là một đơn vị vận hành trong những hệ thống máy tính hiện đại.

ĐỊNH NGHĨA

Những công việc mà hệ điều hành thực hiện gọi là quá trình, dù tên gọi chúng khác nhau tùy vào cấu trúc hệ điều hành (batch system hay time-shared system).

Nhắc lại về định nghĩa, một process là một chương trình đang được thực thi (đang chạy). Nhưng, một chương trình không phải là một process. Vì chương trình là một file, hay một folder bị động nằm trên máy; Trong khi đó, một process là một chương trình đang hoạt động (đang chạy, đã được tải lên bộ nhớ chính để hoạt động).

Một chương trình có thể có hai (hay nhiều) process đang chạy, nhưng chúng được coi là hai (hay nhiều) quá trình độc lập với nhau.

Hơn những thế, một process có thể là môi trường thực thi (execution environment) cho những dòng code khác. Ví dụ: các chương trình của Java cần được chạy trong Java Virtual Machine (JVM).

Process resources là gì
  • New: process mới được tạo.
  • Running: process đang được thực thi/ chạy.
  • Waiting: process đợi I/O hoặc tín hiệu nào đó.
  • Ready: process sẵn sàng được CPU chạy.
  • Terminated: process hoàn thành việc.

Note: Những process của một chương trình cần phải tải lên bộ nhớ chính (cụ thể là RAM) trước khi được CPU nhận và thực hiện những yêu cầu của chương trình.

Các bước chuyển quá trình của process:

(1): Những process được chương trình tạo ra, được sắp vào hàng chờ (hay còn gọi là stack).

(2): Process được CPU thấy và thực thi.

(3): Khi process quá bự, CPU phải nhả để thực hiện process khác. (bạn có thể tìm hiểu các thuật toán xử lý process của CPU)

(4): Khi process đã được thực hiện xong.

(5): Khi process đang thực hiện và yêu cầu I/O hay các tín hiệu khác. (ví dụ bạn cần file word in ra, process sẽ phải nói cho CPU, CPU gửi tín hiệu cho máy in, máy in in ra rồi báo lại CPU. Trong thời gian đó, để tiết kiệm thời gian, process này sẽ được chuyển qua trạng thái chờ, cho process khác vào thực hiện)

(6): Sau khi I/O hay tín hiệu đã đến, process được sắp lại vào hàng chờ, chờ thực thi.

Process Block Control

Mỗi process khi tạo ra sẽ được lưu thông tin tại một PCB tương ứng.

Những thông tin được chứa trong PCB:

Trạng thái của process: 1 trong 5 trạng thái được liệt kê bên trên
Bộ đếm (program counter): chứa địa chỉ (hay trong ngôn ngữ lập trình C, ta gọi nó là con trỏ/ pointer) đến lệnh cần thực thi tiếp theo
Thanh ghi CPU: có kiểu khác nhau tùy vào kiến trúc máy tính
Thông tin định thời CPU: độ ưu tiên của các process, quy định process nào thì thực thi trước
Thông tin quản lý bộ nhớ: tùy hệ thống bộ nhớ của từng hệ điều hành
Trạng thái của các tín hiệu I/O: danh sách các I/O được sử dụng bởi các process
Thông tin về số lượng CPU, thời gian sử dụng thực tế, thời gian process được giữ CPU tối đa

Tham khảo bài viết nguyên mẫu tại bài viết về Process là gì

gintakao 06-01-2019

Video liên quan