軟體執行

計算機和軟體工程中的執行是計算機或虛擬機執行電腦程式指令的過程。 程式中的指令觸發執行機器上的簡單操作序列。 這些動作根據程式中的指令的語義產生效果。

用於計算機的程式可以在沒有人工互動的批處理中執行,或者用戶可以在解釋器的互動式會話中鍵入命令。 在這種情況下,“命令”只是程式,其執行連結在一起。

術語run幾乎是同義詞。 “運行”和“執行”的相關含義是指用戶啟動(或啟動或調用)程式的特定操作,如“請運行應用程式”。

基本介紹

  • 中文名:軟體執行
  • 外文名:Software execution
執行的背景,過程,翻譯器,

執行的背景

執行的上下文至關重要。很少有程式在裸機上執行。程式通常包含關於執行時可用資源的隱式和顯式假設。大多數程式在作業系統和特定於源語言的運行時庫的支持下執行,這些庫提供不是由計算機本身直接提供的關鍵服務。例如,這種支持性環境通常將程式與計算機外圍設備的直接操作分離,而是提供更通用的抽象服務。

過程

在執行之前,必須首先編寫程式。這通常在原始碼中完成,然後在編譯時(在連結時靜態連結)將其編譯為執行檔。然後,通常由作業系統調用此執行檔,作業系統將程式載入到存儲器(載入時間),可能執行動態連結,然後通過將控制移動到程式的入口點來開始執行。所有這些步驟都取決於作業系統的應用程式二進制接口。此時執行開始,程式進入運行時。程式然後運行直到它結束,正常終止或崩潰。

翻譯器

執行程式的系統稱為程式的解釋器。簡而言之,口譯員實際上做了該計畫所要做的事情。這與將程式從一種語言轉換為另一種語言的語言翻譯形成對比。最常見的語言翻譯是編譯器。翻譯人員通常將其原始碼從高級人類可讀語言轉換為較低級別的語言(有時與本機機器代碼一樣低),使處理器直接執行更簡單,更快捷。這個想法是執行與程式翻譯的比例會很大;也就是說,程式只需要編譯一次,並且可以運行任意次。這可以為翻譯與源語言的直接解釋提供很大的好處。由於編譯,一個權衡是開發時間增加。在某些情況下,只需重新編譯已更改的檔案。然後需要重新連結執行檔。對於某些更改,必須從頭開始重建執行檔。隨著計算機和編譯器變得更快,這一事實變得不那么成為障礙。而且,最終產品的速度對於用戶而言通常比開發時間更重要。
翻譯人員通常會產生一個完全無法執行的抽象結果。通常,作業系統會在程式開始執行之前將轉換程式的目標代碼轉換為最終的可執行形式。

相關詞條

熱門詞條

聯絡我們