|
|
計算機(jī)最基本模型是圖靈模型(相關(guān)知識自行腦補(bǔ)),計算機(jī)將所有要處理的復(fù)雜任務(wù)分解到有限的基本的操作(指令),這個操作的集合就是指令集,指令集被設(shè)計固化到硬件(CPU或處理器)中。程序是為了解決特定問題而編制的一個指令序列,計算機(jī)的運行就是一個在時間上串行的一個指令流。
如果有2個程序需要在一臺計算機(jī)上運行,常見的場景是先運行其中一個程序,運行結(jié)束后,再運行第二個程序。
第二部分: 單CPU計算機(jī)中多個程序并發(fā)執(zhí)行
多個程序并行的概念出現(xiàn)的很早,早期為了共享昂貴的計算機(jī)資源,人們試圖使一個計算機(jī)為多個用戶同時提供服務(wù)。多個程序并發(fā)執(zhí)行,采取分時的方法來實現(xiàn),稱分時系統(tǒng)。
分時即將時間視為資源進(jìn)行分配,將時間切分為人們感知上較小的一個單位,比如20毫秒(0.02秒),稱為一個時間片。若程序1和程序2都要被執(zhí)行,每個程序輪流被執(zhí)行一個時間片。從宏觀(感官)上來看,程序1和程序2是同時一起執(zhí)行的,就像兩臺計算機(jī)在同步工作一樣。
若程序1和程序2同步運行,計算機(jī)是這樣進(jìn)行的:先運行程序1,20毫秒后,切換到程序2,20毫秒后又切換到程序1,20毫秒后再次切換到程序2,如此反復(fù)… 一秒鐘切換了50次,程序1和程序2都在運行、暫停、運行、暫停這樣的狀態(tài)中進(jìn)行,由于切換時間夠快,人的感官認(rèn)為程序1和程序2是同步運行的。
第三部分: 中斷和定時器的作用
要實現(xiàn)分時的機(jī)制,離不開定時器和中斷機(jī)制。定時器就是定時發(fā)出中斷信號讓計算機(jī)能夠進(jìn)入切換程序;中斷機(jī)制是指計算機(jī)的硬件要能夠支持在執(zhí)行過程中被中斷,跳轉(zhuǎn)到指定的中斷程序中去運行,并在運行結(jié)束后能夠返回到被中斷的點繼續(xù)運行原來的程序。如果計算機(jī)硬件沒有中斷機(jī)制,則無法實現(xiàn)分時。
對于信號的輸入處理,程序總是以順序的方式進(jìn)行的。比如按下一個按鍵,程序并不是立即就知道有按鍵被按下,而是要等到程序指針運行到按鍵處理程序時才會被發(fā)現(xiàn)。按鍵響應(yīng)的速度取決于程序指針本身的運行速度和按鍵處理程序的長短及間隔距離,前者依賴于硬件主頻,后者依賴于程序設(shè)計的水平。這種依賴程序主動去發(fā)現(xiàn)的信號輸入方式一般稱查詢方式,與查詢方式相對應(yīng)的是中斷方式。
|
|