第一代計算機:採用電子管,體積大,耗電多,**貴,可靠性差
第二代計算機:採用電晶體,體積,耗電,**,可靠性方面均大幅改善
第三代計算機:採用積體電路,功能日益完善,硬體資源更加充分利用
***計算機:採用超大規模積體電路,運算速度等效能指標更進一步提高,典型案例:超級計算機
現代計算機含有豐富的軟體,硬體資源,作業系統就是實現硬體資源與軟體資源充分利用和互動的一套專門軟體資源。有了作業系統,多數軟體工程師不用過於關心底層硬體的二進位制機器語言如何執行,只需按照一定的程式設計規範進行程式開發即可。
作業系統的功能:程序管理,記憶體管理,裝置管理,檔案管理
之後作業系統的知識,就圍繞著這四個功能循序漸進展開,更加具體的介紹後面會進行,在此簡單了解即可。
程序管理:cpu是計算機系統最重要的硬體資源,不同的程序如何分配使用cpu關係著計算機的效率問題。
裝置管理:裝置的多樣性,其與主機速度的巨大差異都需要特別的管理
檔案管理:計算機中的資訊都以檔案的形式存在,作業系統負責檔案管理的部分稱之為檔案系統。
手工操作階段:第一代計算機由於儲存容量小,計算速度滿,i/o(輸入輸出)裝置簡單,所以沒有作業系統,所有流程都是人工干預下進行。相對任務執行時間,人工操作時間佔比小,人機矛盾不明顯(即人的速度與計算機速度的矛盾)
批處理階段:第二代計算機出現後,計算機速度大幅提高,人機矛盾凸顯,故採用批處理以提高計算機的整體工作效率。批處理分單道批處理和多道批處理,區別在於,計算機進行較慢的i/o請求時,多道批處理考慮到效率會讓其他作業在這個時間段進行執行。
分時作業系統:多道批處理系統沒有獨佔cpu的巨集觀效果,例如使用者響應時間慢,而單道批處理系統對i/o時間段使用效率不高,故出現分時作業系統。分時作業系統就是將處理器時間分成很短的時間片,按時間片輪流執行多個作業。體現了巨集觀上並行,微觀上序列的特點。
實時作業系統:對某些限制時間的緊急任務無需時間片排隊,直接執行,如飛行自動控制系統。
分布式作業系統:對多台計算機進行分布式協同工作
併發:併發性,又稱共行性,是指能處理多個活動的能力。並行與併發是不同的,並行是指程序在cpu上同時執行,而併發只要求一段時間內程序同時能夠執行,有可能是在這段時間內兩者是序列執行的。
共享:指多個任務對資源的共同享用。共享方式有互斥共享,同時訪問。互斥共享指資源只能被序列使用,同時訪問指資源可被多個任務同時使用。
虛擬:無論記憶體,cpu,還是外部裝置均採用虛擬技術,在邏輯上擴充了物理裝置的數量,以更加靈活地使用硬體資源。如cpu的的共享,在邏輯上,就是每個程式用乙個cpu獨自執行。類似的還有虛擬儲存器,通過位址的對映來實現儲存器容量的虛擬擴充,虛擬記憶體的一部分位址對映到外存上。虛擬技術可以歸納為:時分復用技術(類似cpu時間分片),空分復用技術(類似虛擬記憶體的位址對映)。
不確定性:作業系統能處理隨時可能發生在計算機中的不確定性事件,如程式設計師在控制台上按下中斷按鈕。
作業系統 作業系統 一 作業系統概述
好好學習,天天向上本文已收錄至我的github倉庫daydayup 歡迎star 之前一直沒有系統地學過作業系統,感覺自己在平時的學習過程中對於某些概念理解得一塌糊塗,比如中斷 記憶體 程序和執行緒等。所以打算系統的學習一下作業系統。一開始我是在b站看哈工大的李治軍老師講的,但是一上來就開始從彙編 ...
作業系統原理 作業系統概述
1.2 作業系統的定義和作用 1.3 作業系統的主要特性 1.4典型作業系統的架構 1.5 作業系統的分類 假設有乙個簡單的c語言程式 helloworld,我們通過這個簡單程式的執行過程來看一下作業系統對這個程式的過程有哪些支援!include intmain int argc,char ar 這...
作業系統概述
作業系統幾大管理 1 cpu管理 cpu是作業系統中最重要的部分之一。cpu管理又稱程序管理,即是如何將cpu真正地分配給每個任務。我們無法直接操控硬體,只能通過程式來控制硬體。程序排程有以下幾種主要的排程方法 a fifo b 時間片輪轉排程 c 短程序優先 類似1970年一篇 中得比率單調演算法...