python入門教程12-02 (python語法入門之多道技術)

本章主要講解了多道技術的實現方法及運用,若是不瞭解多道技術能夠參考一下以前的文章,下面咱們一塊兒來學習一下python語法入門之多道技術。python

多道技術安全

cpu在執行一個任務的過程當中,若須要操做硬盤,則發送操做硬盤的指令,指令一旦發出,硬盤上的機械手臂滑動讀取數據到內存中,這一段時間,cpu須要等待,時間可能很短,但對於cpu來講已經很長很長,長到可讓cpu作不少其餘的任務,若是咱們讓cpu在這段時間內切換到去作其餘的任務,這樣cpu不就充分利用了嗎。這正是多道技術產生的技術背景ide

多道技術:性能

多道技術中的多道指的是多個程序,多道技術的實現是爲了解決多個程序競爭或者說共享同一個資源(好比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)及時性。系統可對用戶的輸入及時做出響應。分時系統性能的主要指標之一是響應時間,它是指:從終端發出命令到系統予以應答所需的時間。

相關文章
相關標籤/搜索