程序的定義:是乙個具有獨立功能的程式關於某個資料集合的一次執行活動。它可以申請和擁有系統資源,是乙個動態的概念,是乙個活動的實體。它不只是程式的**,還包括當前的活動,通過程式計數器的值和處理暫存器的內容來表示。
程式的定義:只是一組指令的有序集合,它本身沒有任何執行的含義,它只是乙個靜態的實體。
區別:1. 程序是程式的一次執行活動,屬於一種動態的概念。
程式是一組有序的靜態指令,是一種靜 態 的 概 念。 但 是, 進 程 離 開 了程 序 也 就 沒 有 了 存 在 的 意 義。 因 此, 我 們 可 以 這 樣 說: 進 程 是 執 行 程 序 的 動 態 過 程, 而 程 序 是 程序 運 行 的 靜 態 文 本。 如 果 我 們 把 一 部 動 畫 片 的 電 影 拷 貝 比 擬 成 一 個 程 序, 那 麼 這 部 動 畫 片 的 一次 放 映 過 程 就 可 比 為 一 個 進 程。
2. 一 個 進 程 可 以 執 行 一 個 或 多個 程 序。 例 如: 一 個 進 程 進 行
c 源 程 序 編 譯 時,它 要 執 行 前 處 理、 詞 法 語 法 分 析、 代 碼 生 成 和 優 化 等 幾 個 程 序。 反 之, 同 一 程 序 也 可 能 由 多 個 程序 同 時 執 行, 例 如: 上 述
c 編 譯 程 序 可 能 同 時 被 幾 個 程 序 執 行, 它 們對 相 同 或 不 同 的 源 程 序 分 別 進 行 編 譯, 各 自 產 生 目 標 程 序。 我 們 再 次 以 動 畫 片 及 其 放 映 活 動 為例, 一 次 電 影 放 映 活 動 可 以 連 續 放 映 幾 部 動 畫 片, 這 相 當 於 一 個 進 程 可 以 執 行 幾 個 程 序。 反 之,一 部 動 畫 片 可 以 同 時 在 若 幹 家 電 影 院 中 放 映, 這 相 當 於 多 個 進 程 可 以 執 行 幾 個 同 一 程 序。 不 過要 注 意 的 是, 幾 家 電 影 院 放 映 同 一 部 電 影, 如 果 使 用 的 是 同 一 份 拷 貝, 那 麼 實 際 上 是 交 叉 進 行 的。但 在 多 處 理 機 情 況 下, 幾 個 進 程 卻 完 全 可 以 同 時 使 用 一 個 程 序 副本。
3. 程 序 可 以 作 為 一 種 軟 件 資 源長 期 保 持 著,
而 進 程 則 是 一 次 執 行 過 程, 它 是 暫時 的, 是 動 態 地 產 生 和 終 止 的。
這 相 當 於 電 影 拷 貝 可 以 長 期 保 存, 而 一 次 放 映 活 動 卻 只延 續1~
2 小 時。
進 程 需 要 使 用 一 種 機 構才 能 執 行 程 序, 這 種 機 構 稱 之 為 處 理 機(processor)
。 處 理 機 執 行 指令, 根 據 指 令 的 性 質, 處 理 機 可 以 單 獨 用 硬 件 或 軟、 硬 件 結 合 起 來 構 成。 如 果 指 令 是 機 器 指 令, 那麼 處 理 機 就 是 我 們 一 般 所 說 的 中 央 處 理 機
(cpu)
。
程序和程式的區別?
首先,在談程序和程式的區別時,我們先來了解一下,何為程序?何為程式?何為程式?主要從兩方面解釋 1.是完成特定任務的一系列指令的集合 2.是指編譯好的二進位制檔案,在磁碟上,不占用系統資源 cpu,記憶體,開啟的檔案,裝置,鎖 何為程序?1.從使用者角度 程序是程式的一次動態執行過程 2.從核心角度...
程式 程序和執行緒的區別
以前一直搞不清楚這個問題,最近看了 現代作業系統 這本書,有了點深入的了解,在此記錄一下。1 首先來看程式和程序 曾經我認為這兩者應該是沒有什麼區別的,實則不然。在這裡可以引用書裡的比方,假如有乙個廚師要根據乙個食譜做乙個蛋糕,那麼這個廚師就好比cpu,而食譜就是程式 以一定形式寫好的演算法 當然還...
程序 程式 作業 的區別
1.程序是程式的一次執行活動,屬於一種動態的概念。程式是一組有序的靜態指令,是一種靜 態 的 概 念。但 是,進 程 離 開 了程 序 也 就 沒 有 了 存 在 的 意 義。因 此,我 們 可 以 這 樣 說 進 程 是 執 行 程 序 的 動 態 過 程,而 程 序 是 程序 運 行 的 靜 態...