Tồn tại một mối quan hệ nhiều-một giữa quy trình và chương trình, có nghĩa là một chương trình có thể gọi nhiều quy trình hoặc nói cách khác, nhiều quy trình có thể là một phần của cùng một chương trình.
Biểu đồ so sánh
Cơ sở để so sánh | Chương trình | Quá trình |
---|---|---|
Căn bản | Chương trình là một bộ hướng dẫn. | Khi một chương trình được thực thi, nó được gọi là quá trình. |
Thiên nhiên | Bị động | Hoạt động |
Tuổi thọ | Lâu hơn | Hạn chế |
Tài nguyên cần thiết | Chương trình được lưu trữ trên đĩa trong một số tệp và không yêu cầu bất kỳ tài nguyên nào khác. | Quá trình giữ các tài nguyên như CPU, địa chỉ bộ nhớ, đĩa, I / O, v.v. |
Định nghĩa chương trình
Một chương trình, nói một cách đơn giản, có thể được coi là một hoạt động hệ thống. Trong hệ thống xử lý hàng loạt, chúng được gọi là thực thi các công việc trong khi trong một hệ điều hành thời gian thực, nó được gọi là các tác vụ hoặc chương trình. Một người dùng có thể chạy nhiều chương trình trong đó hệ điều hành tạo điều kiện cho các hoạt động được lập trình nội bộ của riêng họ như quản lý bộ nhớ bằng một số kỹ thuật.
Một chương trình là một thực thể thụ động, ví dụ, một tệp chứa một nhóm các lệnh được thực thi (tệp thực thi). Nó được gọi như vậy bởi vì nó không tự thực hiện bất kỳ hành động nào, nó phải được thực thi để nhận ra các hành động được chỉ định trong đó.
Không gian địa chỉ của một chương trình bao gồm các hướng dẫn, dữ liệu và ngăn xếp. Giả sử P là chương trình chúng ta đang viết, để thực hiện thực thi P, hệ điều hành phân bổ bộ nhớ để chứa không gian địa chỉ của P.
Định nghĩa của quá trình
Một quy trình là một thực thi của một chương trình. Nó được coi là một thực thể hoạt động và nhận ra các hành động được chỉ định trong một chương trình. Nhiều quy trình có thể liên quan đến cùng một chương trình. Nó xử lý các hoạt động của hệ điều hành thông qua PCB (Khối điều khiển quy trình) bao gồm bộ đếm chương trình, ngăn xếp, trạng thái, vv Bộ đếm chương trình lưu trữ chuỗi lệnh tiếp theo sẽ được thực hiện sau đó.
Nó cần các tài nguyên như xử lý, bộ nhớ và tài nguyên I / O để hoàn thành các nhiệm vụ quản lý. Trong quá trình thực thi chương trình, nó có thể tham gia vào bộ xử lý hoặc thao tác I / O làm cho một quá trình khác với chương trình.
Hãy để chúng tôi hiểu điều này từ một ví dụ; chúng tôi đang viết một chương trình C. Trong khi viết và lưu trữ một chương trình trong một tệp, nó chỉ là một tập lệnh và không thực hiện bất kỳ hành động nào, nhưng khi nó được thực thi, nó biến thành quy trình do đó bản chất là quá trình động. Chia sẻ tài nguyên giữa nhiều quy trình được sử dụng bởi các máy hiện tại, nhưng trên thực tế, một bộ xử lý được phân phối giữa một số quy trình.
Sự khác biệt chính giữa chương trình và quy trình
- Một chương trình là một nhóm xác định các hoạt động được yêu cầu sẽ được thực hiện. Mặt khác, một thể hiện của một chương trình đang được thực thi là một quá trình.
- Bản chất của chương trình là thụ động vì nó không làm gì cho đến khi nó được thực thi trong khi một quá trình có tính chất động hoặc hoạt động vì nó là một thể hiện của chương trình thực thi và thực hiện hành động cụ thể.
- Một chương trình có tuổi thọ dài hơn vì nó được lưu trữ trong bộ nhớ cho đến khi nó không bị xóa thủ công trong khi một quá trình có tuổi thọ ngắn hơn và hạn chế vì nó bị chấm dứt sau khi hoàn thành nhiệm vụ.
- Yêu cầu tài nguyên cao hơn nhiều trong trường hợp của một quá trình; nó có thể cần xử lý, bộ nhớ, tài nguyên I / O để thực thi thành công. Ngược lại, một chương trình chỉ cần bộ nhớ để lưu trữ.
Phần kết luận
Chương trình và quy trình có liên quan nhưng không giống nhau. Một chương trình chỉ là một tập lệnh được lưu trữ trên đĩa hoặc dường như là giai đoạn trước của quy trình. Ngược lại, quá trình này là một sự kiện của một chương trình đang thực hiện.