關於程序之一二三

2021-09-30 05:26:08 字數 1219 閱讀 2333

程序是作業系統中乙個非常重要的概念。就像生活中人與人打交道的時候都會去了解對方的來歷和背景一樣,在學習程序的時候我們也有必要把程序的來龍去脈搞清楚。這就是為什麼會產生程序這個概念,它的特點是什麼,程序和通常所說的程式的區別在**?如果我們能夠搞清楚這幾個疑問,我想對程序也就基本掌握得差不多了。

一、程序產生的背景

在談到程序誕生背景的時候,我們需要重新回到「多道程式設計」這個劃時代的話題。因為正是多道程式設計的應用加速了「程序」的誕生!我們知道多道程式設計的出現使得程式出現了以下特點:

1) 並行性。在以前的單道批處理作業系統階段,在任何時刻主存中只有乙個作業在執行,而到了多道批處理系統階段主存中可以同時存放多個作業,並且同時處於執行狀態,(對於單處理機系統,其巨集觀意義是各作業都已開始執行但尚未完成,其實微觀上在任一特定時刻在處理器上執行的作業只有乙個)各作業之間是並行的。這就是說程式出現了並行性的特點。同時中斷技術的出現,使得全部外部裝置和主機、各類裝置管理程式、高階排程程式、低階排程程式等等都可並行執行。因此並行性成為系統中各種程式的共同特點。

2) 互斥性。由於主存中同時存放著多個作業程式,它們之間勢必會因爭奪系統的各種資源而產生競爭,如競爭cpu、儲存器和外部裝置等。此外,各並行程式由於需要相互協同也會產生一些制約關係。這就是多道程式設計中程式的制約性特點

3) 多道程式中程式的另一特點是具有動態性。程式由於並行性和制約性導致其狀態是不斷改變的,因而具有動態性。

綜上在多道程式設計這個複雜的系統中,程式首次出現了並行性、制約性和動態性特點,這就使得原來的程式概念已經很難反映多道程式系統中的情況。為了和以往的靜態的程式相區別,於是產生了乙個新的概念來反映系統的特點,這就是程序。

二、程序的定義

程序產生的原因我們算是清楚了,那麼什麼是程序呢?關於程序的定義,目前似乎還沒有一種公認的統一的說法,但大體上有下面幾種定義:

1)程式在處理器上的執行;

2)乙個可排程的實體;

3)邏輯上的一段程式,在每一瞬間都含有乙個程式控制點,指出正在執行的指令;

4)可以與別的程序並行執行。

三、程序與程式的區別

1)程序是程式的執行,是動態的,而程式是儲存在磁碟上指令的有序集合,是靜態的;

2)程序存在生命期,因為它是程式的一次執行,存在誕生和死亡,而程式是永久的;

3)程序的組成包括程式、資料和程式控制塊;

4)乙個程式可能對應多個程序;

5)乙個程序可以包含多個程式,因為主程式在執行過程中可以呼叫其他程式,共同組成「乙個執行活動」。

「持續整合」之一二三

自動化測試是持續整合的前提 毋庸置疑,自動化測試是持續整合的前提。如果您的專案還沒有單元測試或功能測試 那麼持續整合的意義就不那麼重要了。只有隨著專案的進行,不斷增多的自動化測試,才能突顯持續整合的重大意義。持續整合是 健康狀況的指示器或風向標。通過持續整合,可以盡早發現問題,提醒團隊成員盡早修復問...

關於曲線的一 二 三階導的總結

最近在做光條中心線提取方面的工作,由於雷射光條符合高斯模型,高斯模型又是乙個近似拋物線的二維曲線。在求解光條中心的過程中要求解曲線的極值之類的問題,與曲線的導數相關,所以總結一下相關的內容。一階導數可以用來描述原函式的增減性。區間內,一階導數大於零,單增,一階導數小於零,單減。二階導數可以用來判斷函...

關於資料庫設計的第一 二 三正規化

符合1nf的關係中的每個屬性都不可再分 2nf在1nf的基礎之上,消除了非主屬性對於碼的部分函式依賴 碼 關係中的某個屬性或者某幾個屬性的組合,用於區分每個元組 可以把 元組 理解為一張表中的每條記錄,也就是每一行 函式依賴 若在一張表中,在屬性 或屬性組 x的值確定的情況下,必定能確定屬性y的值,...