在計算機中,分為以下結構,運算器,控制器,存儲器,輸入、輸出設備,運算器和控制起的整個就形成了中央處理器(稱作為CPU),而cpu的功能就是提供運算,運算的數據都是經由控制器而來,控制器其實是往主存儲器中取得數據,內存中的數據是由用戶來輸入的,其運算的結果通過控制器存儲在內存當中,之后可以根據用戶的指令輸出在一個設備當中(例如顯示器),我們都知道,程序都是由指令+數據來構成,用戶在程序中輸入指令,通過系統調用參數傳給內核調用硬件進行加工處理,所得的結果通過顯示屏顯示出來,之后,用戶可以將結果保存到我們的IO設備當中(稱為硬盤)。
那么用戶如何將一個程序起來的呢?
我們的操作系統提供了一個接口,叫做圖形化接口(就是圖形SHELL),用戶用鼠標雙擊打開某個程序(其實就是發送指令),產生一個進程,程序是可以打開多個的,但是進程可不是同一個,因為程序一啟動之后,就會變成進程,每個進程都是一個ID號來用來標示它的唯一性,所以說進程是多個程序的副本
其實有運算器、控制器、存儲器這三樣硬件就已經可以提供運算能力并且能執行任務了,只不過這些硬件都是動態的,一斷電數據就消失了,我們需要一個永久性存儲的一個工具,那就是IO設備,IO設備的容量越大存儲量就越多,但共分為兩類,一類是HDD:機械式硬盤,另一類是SSD:我們所說的固態硬盤。
HDD現在依然是主流,主要原因價格還是比較便宜的,它的存儲容量取決于對于盤片的工藝程度,里面結構就是盤片、馬達、盤軸、機械手等,但是由于它的設計結構,它并不是一個電氣設備,而是機械式設備,現在的硬盤雖然容量很大,但是速度跟不上去的,這取決于它的設計工藝問題,如果存儲的文件數據比較零散的話,機械臂的讀寫也是有些慢的,時間長的話就可以感覺得出來。而且如果不能正常關機的話,機械臂就不能回歸原位,這對硬盤來說也算是一種損害。
SSD的速度很快,因為它并不是機械式硬盤,它沒有盤片,也沒有機械臂等等,說白了,就是SD卡的擴大版而已,速度很快,接口和機械式硬盤一樣,還是采用的是SATA3接口,但價格很貴,雖然說價格也沒前幾年那么貴了,但是并沒有完全降下來到一個普通消費者接受的程度,而且容量越大就越貴。
我們的操作系統的構造是由內核+應用程序來組成的,其中內核是面向硬件的,它對硬件資源進行管控,每個硬件都是獨立的,人單純拿著硬件也不能做什么,所以有個東西要把它們連接起來,并然它們各自發揮作用,以及能夠相互協調,所以內核的作用就是這個,把硬件的接口封裝起來形成統一的接口作為系統調用,供給上層應用程序來調用,但是通過這樣的系統調用還是太困難了,于是乎將系統調用封裝成一個更加復雜,加入了許多新的功能的可執行程序,又稱重復的輪子,稱之為庫。
原創文章,作者:劉 祥宇,如若轉載,請注明出處:http://www.www58058.com/55292