複製鏈接
請複製以下鏈接發送給好友

軟件執行

鎖定
計算機和軟件工程中的執行是計算機或虛擬機執行計算機程序指令的過程。 程序中的指令觸發執行機器上的簡單操作序列。 這些動作根據程序中的指令的語義產生效果。
用於計算機的程序可以在沒有人工交互的批處理中執行,或者用户可以在解釋器的交互式會話中鍵入命令。 在這種情況下,“命令”只是程序,其執行鏈接在一起。
術語run幾乎是同義詞。 “運行”和“執行”的相關含義是指用户啓動(或啓動或調用)程序的特定操作,如“請運行應用程序”。
中文名
軟件執行
外文名
Software execution

軟件執行執行的背景

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

軟件執行過程

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

軟件執行翻譯器

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