標籤:電腦系統
縱觀電腦發展史,可知曉,是需求帶動了發展,從古至今,一點點剖析。
(一)穿孔卡片機
公元1880年,美利堅合眾國花了七年半的時候才完成了全國人口普查。有人發明了一種穿孔卡片機,通過把人口資料轉換成打孔卡片,由機器統計資料,統計速度增加了五六倍。製表機穿孔卡第一次把資料轉變成二進位資訊。
(二)第一台電腦
1946年2月14日,世界上第一台電腦ENIAC在美國賓夕法尼亞大學誕生。
(三)早期電腦硬體發展
早期電腦沒有複雜的圖形介面,CPU主頻不高,CPU記憶體直接通過匯流排(Bus)串連,因IO裝置跟CPU速度差距太多,IO裝置通過IO控制器串連到匯流排。
由於CPU記憶體速度較快,IO控制器速度較慢,匯流排設計複雜,就分化成南北橋,南橋處理IO,北橋串連CPU記憶體和PCI匯流排。
CPU與外設之間的資料轉送瓶頸出現,促進了PCI匯流排誕生,通過讓顯卡、音效卡、網卡、硬碟控制器等高速外圍裝置直接與CPU通訊,電腦效能得到提升。
PCI速度最高位133MHz,不能滿足人們的需求,於是又發明了AGP、PCI Express等諸多匯流排結構和相應控制晶片。
CPU也得到快速發展,50年間從幾十kHz發展到4GHz,但從2004年起,CPU製造工藝達到物理極限,主頻發展緩慢。多核電腦出現了。
(四)電腦軟體
“電腦科學領域的任何一個問題都可以通過增加一個間接的中介層來解決”
電腦系統軟體體繫結構:硬體-》作業系統-》運行庫-》應用程式
每個中介層之間需要有通訊協定介面,中介層,讓應用程式和硬體能保持相對獨立,適應硬體和作業系統的高速發展。虛擬機器技術是在硬體和作業系統間多加一個中介層。
(五)作業系統
作業系統的作用:一是提供抽象的介面,二是管理硬體資源。
為了充分利用CPU寶貴資源,硬體對CPU任務執行進行了調度輪流執行,後面由作業系統進行調度更安全可控。
(六)虛擬儲存空間
早期的電腦,程式直接運行在實體記憶體上,在多進程的情況下,會造成:
1.地址空間不隔離,容易被其他程式修改攻擊
2.記憶體利用率低,當記憶體不足時,將程式佔用空間移到磁碟,大資料量傳輸效率低
3.程式運行地址不確定,程式運行時的資料和目標指令地址需要固定地址(涉及到程式重新導向問題)
利用虛擬儲存空間就可以解決上面的問題,通過妥善控制虛擬位址和物理地址的映射達到空間隔絕的作用。
(七)線程
CPU主頻發展到瓶頸,開始向多核發展,多線程並發問題出現。
線程的調度、安全、使用者線程和核心線程的映射,都是需要解決的問題。