程序管理 一 程序的概念以及程序的建立

2021-10-02 13:03:46 字數 1253 閱讀 7962

程式一旦跑起來就是乙個程序,程序是乙個可以執行的例項。

每個程序都擁有乙個自己的虛擬cpu,但是實際上只有乙個cpu,其只是在各個程序之間快速的切換,這種快速切換就叫做多道程式設計

例子:乙個計算機科學家給女兒做蛋糕,他有做蛋糕用的食譜,廚房中有大量的原料,比如香草、雞蛋、麵粉、糖等等。其中食譜就是程式,它就是一種方法。計算機科學家就是cpu,做蛋糕的原料就是資料。

程序就是廚師閱讀食譜,並取來各種原料再到烘焙蛋糕等一系列動作的總和。

程序就是cpu獲取資料,按照程式執行等一系列過程的總和,它是動態的。程式是靜態的,它是類似一種方法說明書的東西。

程序的中斷:現在計算機科學家的兒子跑進來說被蜜蜂蜇了(更高優先順序的事情發生了),計算機科學家會先記錄現在蛋糕做到**了(儲存程序當前的狀態),轉而去處理兒子的傷勢,當處理完兒子的傷勢之後,再返回來繼續做蛋糕,按照之前儲存的狀態繼續做蛋糕

注意的是一段程式執行了兩次的話算兩個程序

導致程序被建立的四種原因:

1.系統初始化

啟動作業系統的時候會建立多個程序,其中有的是前台的程序,除此之外就是後台的程序,這種程序被稱為守護程序,其大部分的時間都在休眠,只有在發生特定的事件的時候才被呼叫。比如等待接收郵件的程式。

2.正在執行的程序所呼叫的程序建立系統呼叫

已經啟動的程序,可以呼叫系統呼叫,來建立乙個程序來幫助它更好的幹活。比如有這麼乙個網路應用程式,它要和大量資料打交道,那麼建立乙個程序來幫他把資料放到指定區域,而再讓另外乙個程序取走並處理,這樣會更好,因為有人幫忙總比沒有人幫忙好。

3.使用者請求建立乙個新的程序

使用者在cmd視窗敲入乙個命令,或者使用者雙擊圖示,都可以啟動乙個程式,於此同時會啟動乙個程序。

4.乙個批處理作業初始化

這種情況主要在大型機的批處理系統中的應用,使用者朝系統提交批處理作業,作業系統認為現在的資源足夠可以建立乙個程序的時候,它就會建立乙個程序。

unix建立程序

unix系統中只有乙個系統呼叫可以用來建立新的程序,就是fork命令。

windows建立程序

乙個win32函式呼叫createprocess不但處理程序的建立,也負責把正確的程式裝入新的程序。

程序建立之後,父程序和子程序是有不同的位址空間的,如果某個程序在位址空間修改了乙個字,那麼其對其子程序來說是不可見的。

一 程序管理

1基本概念 程序 計算機已執行程式的實體。程式本身只是指令的集合,程序才是程式的真正執行。使用者下達執行程式的命令後,就會產生程序。程序通常有5種狀態,其中前3種為程序的基本狀態。分別為 執行狀態 就緒狀態 阻塞狀態 建立狀態 結束狀態。其中,就緒狀態指程序獲得了除了處理器之外的一切所需資源,一旦得...

程序系列(一) 程序基本概念

1.乙個應用程式就是乙個程序,而乙個程序又是由多個執行緒組成的。2.程序幫助我們在記憶體中分配應用程式執行所需要的空間。3.我們可以通過程序直接操作應用程式。namespace 程序 示範2 使用程序來開啟應用程式 process.start 360sd process.start iexplore...

程序同步(一) 程序同步相關概念

在os中引入程序後,雖然提高了資源的利用率和系統吞吐量,但是由於程序的非同步性將會給系統造成混亂,尤其是他們在爭搶臨界資源時。當多個程序去爭用共享變數 鍊錶時,可能導致資料處理出錯。程序同步的任務就是對多個相關程序在執行次序上進行協調,使得併發執行的程序之間能有效地共享資源和相互合作,從而使程式的執...