多道技術
cpu在執行一個任務的過程中,若需要操作硬盤,則發送操作硬盤的指令,指令一旦發出,硬盤上的機械手臂滑動讀取數據到內存中,這一段時間,cpu需要等待,時間可能很短,但對於cpu來說已經很長很長,長到可以讓cpu做很多其他的任務,如果我們讓cpu在這段時間內切換到去做其他的任務,這樣cpu不就充分利用了嗎。這正是多道技術產生的技術背景
多道技術:
多道技術中的多道指的是多個程序,多道技術的實現是為了解決多個程序競爭或者說共享同一個資源(比如cpu)的有序調度問題,解決方式即多路復用,多路復用分為時間上的復用和空間上的復用。
空間上的復用:將內存分為幾部分,每個部分放入一個程序,這樣,同一時間內存中就有了多道程序。
時間上的復用:當一個程序在等待I/O時,另一個程序可以使用cpu,如果內存中可以同時存放足夠多的作業,則cpu的利用率可以接近100%,類似於我們小學數學所學的統籌方法。(操作系統采用了多道技術后,可以控制進程的切換,或者說進程之間去爭搶cpu的執行權限。這種切換不僅會在一個進程遇到io時進行,一個進程占用cpu時間過長也會切換,或者說被操作系統奪走cpu的執行權限)
在A程序計算時,I/O空閑, A程序I/O操作時,CPU空閑(B程序也是同樣);必須A工作完成后,B才能進入內存中開始工作,兩者是串行的,全部完成共需時間=T1+T2。
空間上的復用最大的問題是:程序之間的內存必須分割,這種分割需要在硬件層面實現,由操作系統控制。如果內存彼此不分割,則一個程序可以訪問另外一個程序的內存,
首先喪失的是安全性,比如你的qq程序可以訪問操作系統的內存,這意味着你的qq可以拿到操作系統的所有權限。
其次喪失的是穩定性,某個程序崩潰時有可能把別的程序的內存也給回收了,比方說把操作系統的內存給回收了,則操作系統崩潰。
分時系統
由於CPU速度不斷提高和采用分時技術,一台計算機可同時連接多個用戶終端,而每個用戶可在自己的終端上聯機使用計算機,好象自己獨占機器一樣。
分時技術:把處理機的運行時間分成很短的時間片,按時間片輪流把處理機分配給各聯機作業使用。
若某個作業在分配給它的時間片內不能完成其計算,則該作業暫時中斷,把處理機讓給另一作業使用,等待下一輪時再繼續其運行。由於計算機速度很快,作業運行輪轉得很快,給每個用戶的印象是,好象他獨占了一台計算機。而每個用戶可以通過自己的終端向系統發出各種操作控制命令,在充分的人機交互情況下,完成作業的運行。
具有上述特征的計算機系統稱為分時系統,它允許多個用戶同時聯機使用計算機。
特點:
(1)多路性。若干個用戶同時使用一台計算機。微觀上看是各用戶輪流使用計算機;宏觀上看是各用戶並行工作。
(2)交互性。用戶可根據系統對請求的響應結果,進一步向系統提出新的請求。這種能使用戶與系統進行人機對話的工作方式,明顯地有別於批處理系統,因而,分時系統又被稱為交互式系統。
(3)獨立性。用戶之間可以相互獨立操作,互不干擾。系統保證各用戶程序運行的完整性,不會發生相互混淆或破壞現象。
(4)及時性。系統可對用戶的輸入及時作出響應。分時系統性能的主要指標之一是響應時間,它是指:從終端發出命令到系統予以應答所需的時間。