操做系統——計算機硬件簡介

計算機硬件簡介

從概念上講,一臺計算機能夠抽象爲下圖的模型緩存


圖0.1計算機抽象模型
CPU,內存以及I/O設備都由一條系統總線鏈接起來並經過總線與其餘設備通訊服務器

CPU

CPU是計算機的大腦,它從內存中取出指令並執行。學習

CPU的工做流程

從內存中取出指令,對取出的指令進行解碼,執行,CPU就是一直不斷的重複這個過程。spa

wVb1Et.png
​ 圖1.1CPU工做流程操作系統

超標量CPU

流水線做業效率不高,因而就引入了超標量CPU翻譯

超標量CPU是這樣工做的,多個取值和解碼同時進行,取值解碼完成後的指令會進入緩衝區,緩衝區對應多個執行單元,每當緩衝區中有指令且有空閒的執行單元時,就會從緩衝區取出指令進入執行單元執行.3d

​ 圖1.2超標量CPU工做流程指針

內核態和用戶態

多數CPU多有兩種模式,內核態和用戶態blog

在內核態運行時,CPU能夠執行指令集的每一條指令,使用硬件的所有功能接口

在用戶態運行時,CPU只能執行指令集的一個子集和訪問全部功能的一個本身

在臺式機和服務器上,操做系統在內核態運行。在大多數嵌入式系統中,一部分操做系統在內核態運行,其他部分在用戶態運行

存儲器

存儲器分爲四個層次

寄存器 高速緩存 內存 硬盤

​ 圖2.1存儲器的四層

寄存器

寄存器存在於CPU中,訪問和CPU同樣快,沒有時延

高速緩存

經常使用的高速緩存行放置在CPU內部或很是接近CPU的位置

高速緩存命中

當程序須要讀取一個字時,檢查所須要的字是否在高速緩存中,若是在高速緩存中,稱爲高速緩存命中

若是高速緩存未命中,就要經過總線,把訪問請求傳遞到內存,這帶來了訪問速度的降低

PS:緩存

大量的資源存在於計算機存儲器的某一處,其中一小部分資源會被頻繁的用到,把頻繁用的資源放到比大量資源更高層次的存儲器中,這就是緩存。

計算機在讀取文件時,將硬盤中頻繁用的文件放入內存中,這就是緩存的應用。

使用緩存時咱們須要考慮幾個問題

1)什麼時候把資源放入緩存中

2)把資源放在存儲器的哪一層上

3)在緩存滿了時,把什麼內容從緩存中移走

4)移走的內容又該放到何處

內存

內存一般成爲隨機訪問存儲器(RAM),速度比磁盤快,程序先進入這裏執行,內存具備斷電數據消失的特性。

PS:閃存

速度介於內存和磁盤間,斷電後數據不消失

磁盤

磁盤工做流程

像是老式的唱片機,一個又一個重疊起的圓盤,每一個圓盤上配有一個指針,當從磁盤讀取數據時指針不斷旋轉,讀取一段環形區域,這段環形區域叫作磁道。
wVxqYR.png

​ 圖2.2 磁盤的工做流程

咱們常講硬盤的轉速,多少MB每秒,從磁盤的工做流程上咱們能夠了解到,磁盤的轉速就是磁盤臂旋轉的速度

固態硬盤

固態硬盤和普通磁盤不是同一種工做方式,固態硬盤實際上是一種閃存

虛擬內存

計算機的虛擬內存機制就是將磁盤中須要反覆讀取的內容放到內存中,加快計算機的速度,也是一種緩存的應用

I/O設備

I/O設備分爲兩個部分 設備控制器和設備自己

設備控制器

設備控制器是插在電路板上的一塊芯片或一組芯片,他是操做系統和設備之間的橋樑,配合操做系統操做設備,操做系統對它發成命令,它對操做系統的命令進行復雜的轉換,控制設備。

​ 圖3.1設備控制器

設備自己

硬盤,鍵盤,鼠標,顯示器等等

設備自己有一個相對簡單的標準化接口,好比建立的SATA硬盤,SATA就是設備的接口名

設備驅動程序

操做系統如何操做設備控制器呢,這個答案就是在操做系統上安裝設備控制程序,設備控制程序負責與控制器對話,發出命令,接受響應。

實現輸入輸出的三種方式

1)忙等待:用戶程序發起一個系統調用,內核將其翻譯成一個對應設備驅動程序的過程調用。設備驅動程序啓動I/O,循環的檢查設備是否完成工做,當完成工做後,設備驅動程序將設備返回的數據送到指定的位置,隨後操做系統將控制返回給調用者。

缺點:顯而易見,在設備執行完成前,要一直佔用CPU,CPU要一直循環的檢查,這期間用戶什麼也不能幹

2)中斷控制:設備驅動程序啓動設備,讓該設備在操做完成時發出一箇中斷,驅動程序將中斷傳遞給操做系統。

3)直接存儲器訪問:爲I/O操做使用一種特殊的芯片(DMA),它無需持續的CPU干預,直接控制內存和控制器之間通訊,操做完成後,也發出中斷。

總線

一條鏈接計算機上全部硬件的線

PCI總線

多個設備使用同一條導線傳輸數據,當多個設備須要發送數據時,仲裁器決定哪一個設備可使用總線。(已通過時了)

PCIe總線

端到端的鏈路,即每一個設備都擁有單獨的一條導線用來發送數據

啓動計算機

學完了計算機相關的硬件知識,咱們來了解一下啓動計算機時,計算機內部是如何工做的

首先,BIOS開始運行,它掃描I/O設備,存儲器是否安裝正常,接着掃描出總線上的全部設備,隨後從硬盤中找出一個啓動裝載模塊,這個啓動裝載模塊負責啓動操做系統(WINDOWS/LINUX),而後,操做系統詢問BIOS得到每種設備的配置信息,操做系統檢查對應設備的驅動程序是否安裝正常,若是所有正常,操做系統將他們調入內核,建立須要的全部進程,在終端上啓動登陸程序。

學習,源於未知的熱愛

相關文章
相關標籤/搜索