進程和程序的區別


進程的定義:是一個具有獨立功能的程序關於某個數據集合的一次運行活動。它可以申請和擁有系統資源,是一個動態的概念,是一個活動的實體。它不只是程序的代碼,還包括當前的活動,通過程序計數器的值和處理寄存器的內容來表示。 

程序的定義:只是一組指令的有序集合,它本身沒有任何運行的含義,它只是一個靜態的實體。

區別:

1. 進程是程序的一次運行活動,屬於一種動態的概念。 程序是一組有序的靜態指令,是一種靜 態 的 概 念。 但 是, 進 程 離 開 了程 序 也 就 沒 有 了 存 在 的 意 義。 因 此, 我 們 可 以 這 樣 說: 進 程 是 執 行 程 序 的 動 態 過 程, 而 程 序 是 進程 運 行 的 靜 態 文 本。 如 果 我 們 把 一 部 動 畫 片 的 電 影 拷 貝 比 擬 成 一 個 程 序, 那 么 這 部 動 畫 片 的 一次 放 映 過 程 就 可 比 為 一 個 進 程。

2. 一 個 進 程 可 以 執 行 一 個 或 多個 程 序。 例 如: 一 個 進 程 進 行源 程 序 編 譯 時,它 要 執 行 前 處 理、 詞 法 語 法 分 析、 代 碼 生 成 和 優 化 等 幾 個 程 序。 反 之, 同 一 程 序 也 可 能 由 多 個 進程 同 時 執 行, 例 如: 上 述編 譯 程 序 可 能 同 時 被 幾 個 程 序 執 行, 它 們對 相 同 或 不 同 的 源 程 序 分 別 進 行 編 譯, 各 自 產 生 目 標 程 序。 我 們 再 次 以 動 畫 片 及 其 放 映 活 動 為例, 一 次 電 影 放 映 活 動 可 以 連 續 放 映 幾 部 動 畫 片, 這 相 當 於 一 個 進 程 可 以 執 行 幾 個 程 序。 反 之,一 部 動 畫 片 可 以 同 時 在 若 干 家 電 影 院 中 放 映, 這 相 當 於 多 個 進 程 可 以 執 行 幾 個 同 一 程 序。 不 過要 注 意 的 是, 幾 家 電 影 院 放 映 同 一 部 電 影, 如 果 使 用 的 是 同 一 份 拷 貝, 那 么 實 際 上 是 交 叉 進 行 的。但 在 多 處 理 機 情 況 下, 幾 個 進 程 卻 完 全 可 以 同 時 使 用 一 個 程 序 副本。

3. 程 序 可 以 作 為 一 種 軟 件 資 源長 期 保 持 着, 而 進 程 則 是 一 次 執 行 過 程, 它 是 暫時 的, 是 動 態 地 產 生 和 終 止 的。 這 相 當 於 電 影 拷 貝 可 以 長 期 保 存, 而 一 次 放 映 活 動 卻 只延 續1小 時。

進 程 需 要 使 用 一 種 機 構才 能 執 行 程 序, 這 種 機 構 稱 之 為 處 理 機(Processor)。 處 理 機 執 行 指令, 根 據 指 令 的 性 質, 處 理 機 可 以 單 獨 用 硬 件 或 軟、 硬 件 結 合 起 來 構 成。 如 果 指 令 是 機 器 指 令, 那么 處 理 機 就 是 我 們 一 般 所 說 的 中 央 處 理 機(CPU)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM