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

Những chiếc máy tính những năm đầu được sản xuất và tăng trưởng chỉ được cho phép một chương trình được chạy tại một thời gian. Do vậy, chương trình đang chạy ấy có quyền điều khiển và tinh chỉnh cả mạng lưới hệ thống, cũng như toàn bộ tài nguyên của chiếc máy tính. Sau đó, Open mạng lưới hệ thống được 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 và tinh chỉnh cũng như sự phân loại tài nguyên của mạng lưới hệ thống cho những chương trình đang chạy .
Từ đó Open khái niệm về quy trình ( process ). Quá trình là chương trình đang được thực thi, và cũng là một đơn vị chức năng quản lý và vận hành trong những mạng lưới hệ thống máy tính văn minh .

ĐỊNH NGHĨA

Những “ việc làm ” mà hệ điều hành quản lý thực thi gọi là quy trình, dù tên gọi chúng khác nhau tùy vào cấu trúc hệ quản lý ( 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 hoàn toàn có thể có hai ( hay nhiều ) process đang chạy, nhưng chúng được coi là hai ( hay nhiều ) quy trình độc lập với nhau .
Hơn những thế, một process hoàn toàn có thể là môi trường tự nhiên thực thi ( execution environment ) cho những dòng code khác. Ví dụ : những chương trình của Java cần được chạy trong Java Virtual Machine ( JVM ) .

CÁC TRẠNG THÁI CỦA MỘT PROCESS

word image 128 - Stream Hub
trang thai cua process

  • 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 ( đơn cử là RAM ) trước khi được CPU nhận và triển khai những nhu yếu của chương trình .
Các bước chuyển quy trình của process :

  • 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).
  • Process được CPU thấy và thực thi.
  • 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)
  • Khi process đã được thực hiện xong.
  • 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)
  • 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 CONTROL BLOCK (PCB)

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

PROCESS CONTROL BLOCK - Stream HubProcess trong hệ điều hành là gì 1

Đã nhắc đến quá trình (process), bạn nên tìm hiểu thêm về định thời, khả năng CPU của chúng ta kiểm soát các process ấy tại bài viết về bộ định thời.

Tò mò ở mặt ứng dụng hơn của process ? Cùng xem ngay qua bài viết uefi là gì .

Avatar of Nguyên Vũ

Nguyên Vũ

Website

Tôi có kinh nghiệm trong việc tạo ra những web vui vui phục vụ mục đích cá nhân và thoả mãn nhu cầu tìm kiếm thông tin từ người dùng. Tôi nhận ra nhiều trang web cung cấp thông tin chưa thực sự cá nhân hoá những thắc mắc của người dùng. Stream Hub là một sản phẩm “vui vui” tôi tạo ra có sứ mệnh giải quyết vấn đề đó.

Trả lời

Email của bạn sẽ không được hiển thị công khai.