溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

計(jì)算機(jī)基礎(chǔ)等等幾個(gè)問(wèn)題

發(fā)布時(shí)間:2020-06-19 07:02:28 來(lái)源:網(wǎng)絡(luò) 閱讀:359 作者:蘇浩智 欄目:移動(dòng)開(kāi)發(fā)
編程語(yǔ)言的作用及與操作系統(tǒng)和硬件的關(guān)系

編程語(yǔ)言就相當(dāng)于一種能和計(jì)算機(jī)溝通的語(yǔ)言,編程語(yǔ)言告訴系統(tǒng),我要做什么,系統(tǒng)就會(huì)幫我們控制硬件,完成我們想要完成的動(dòng)作


應(yīng)用程序 -> 操作系統(tǒng) -> 硬件

應(yīng)用軟件需要完成某項(xiàng)功能的時(shí)候,就需要告訴操作系統(tǒng),系統(tǒng)控制硬件,完成一次動(dòng)作。

CPU -> 內(nèi)存 -> 磁盤(pán)

CPU它從內(nèi)存中取指令->解碼->執(zhí)行,然后再取指->解碼->執(zhí)行下一條指令,周而復(fù)始,直至整個(gè)程序被執(zhí)行完成。如果內(nèi)存沒(méi)有需要的數(shù)據(jù),則會(huì)從磁盤(pán)搜尋,然后再存儲(chǔ)至內(nèi)存。


CPU與寄存器,內(nèi)核態(tài)與用戶態(tài)及如何切換

操作系統(tǒng)必須知曉所有的寄存器。在時(shí)間多路復(fù)用的CPU中,操作系統(tǒng)會(huì)經(jīng)常中止正在運(yùn)行的某個(gè)程序并啟動(dòng)(或再次啟動(dòng))另一個(gè)程序。每次停止一個(gè)運(yùn)行著的程序時(shí),操作系統(tǒng)必須保存所有的寄存器,這樣在稍后該程序被再次運(yùn)行時(shí),可以把這些寄存器重新裝入。

除了在嵌入式系統(tǒng)中的非常簡(jiǎn)答的CPU之外,多數(shù)CPU都有兩種模式,即內(nèi)核態(tài)與用戶態(tài)。通常,PSW中有一個(gè)二進(jìn)制位控制這兩種模式。

內(nèi)核態(tài):當(dāng)CPU在內(nèi)核態(tài)運(yùn)行時(shí),CPU可以執(zhí)行指令集中所有的指令,很明顯,所有的指令中包含了使用硬件的所有功能,(操作系統(tǒng)在內(nèi)核態(tài)下運(yùn)行,從而可以訪問(wèn)整個(gè)硬件)

用戶態(tài):用戶程序在用戶態(tài)下運(yùn)行,僅僅只能執(zhí)行CPU整個(gè)指令集的一個(gè)子集,該子集中不包含操作硬件功能的部分,因此,一般情況下,在用戶態(tài)中有關(guān)I/O和內(nèi)存保護(hù)(操作系統(tǒng)占用的內(nèi)存是受保護(hù)的,不能被別的程序占用),當(dāng)然,在用戶態(tài)下,將PSW中的模式設(shè)置成內(nèi)核態(tài)也是禁止的。


存儲(chǔ)器系列,L1緩存,L2緩存,內(nèi)存(RAM),EEPROM和閃存,CMOS與BIOS電池

存儲(chǔ)器有許多種類(lèi),按照存儲(chǔ)速度由高到低排名:寄存器->高速緩存->內(nèi)存->固態(tài)硬盤(pán)->磁盤(pán)->磁帶。

寄存器:

即L1緩存,與CPU相同材質(zhì)制造,速度一樣快,因而CPU訪問(wèn)它無(wú)時(shí)延。

高速緩存:

即L2、L3緩存,二級(jí)緩存是CPU性能表現(xiàn)的關(guān)鍵之一,在CPU核心不變化的情況下,增加二級(jí)緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級(jí)緩存上有差異,由此可見(jiàn)二級(jí)緩存對(duì)于CPU的重要性。

CPU在緩存中找到有用的數(shù)據(jù)被稱(chēng)為命中,當(dāng)緩存中沒(méi)有CPU所需的數(shù)據(jù)時(shí)(這時(shí)稱(chēng)為未命中),CPU才訪問(wèn)內(nèi)存。從理論上講,在一顆擁有二級(jí)緩存的CPU中,讀取一級(jí)緩存的命中率為80%。也就是說(shuō)CPU一級(jí)緩存中找到的有用數(shù)據(jù)占數(shù)據(jù)總量的80%,剩下的20%從二級(jí)緩存中讀取。由于不能準(zhǔn)確預(yù)測(cè)將要執(zhí)行的數(shù)據(jù),讀取二級(jí)緩存的命中率也在80%左右(從二級(jí)緩存讀到有用的數(shù)據(jù)占總數(shù)據(jù)的16%)。那么還有的數(shù)據(jù)就不得不從內(nèi)存調(diào)用,但這已經(jīng)是一個(gè)相當(dāng)小的比例了。目前的較高端的CPU中,還會(huì)帶有三級(jí)緩存,它是為讀取二級(jí)緩存后未命中的數(shù)據(jù)設(shè)計(jì)的—種緩存,在擁有三級(jí)緩存的CPU中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了CPU的效率。

主存:

再往下一層是主存,此乃存儲(chǔ)器系統(tǒng)的主力,主存通常稱(chēng)為隨機(jī)訪問(wèn)存儲(chǔ)RAM,就是我們通常所說(shuō)的內(nèi)存,容量一直在不斷攀升,所有不能在高速緩存中找到的,都會(huì)到主存中找,主存是易失性存儲(chǔ)斷電后數(shù)據(jù)全部消失。

非易失性隨機(jī)訪問(wèn)存儲(chǔ):

除了主存RAM之外,許多計(jì)算機(jī)已經(jīng)在使用少量的非易失性隨機(jī)訪問(wèn)存儲(chǔ)如ROM(Read Only Memory,ROM),在電源切斷之后,非易失性存儲(chǔ)的內(nèi)容并不會(huì)丟失,ROM只讀存儲(chǔ)器在工廠中就被編程完畢,然后再也不能修改。ROM速度快且便宜,在有些計(jì)算機(jī)中,用于啟動(dòng)計(jì)算機(jī)的引導(dǎo)加載模塊就存放在ROM中,另外一些I/O卡也采用ROM處理底層設(shè)備的控制。

EEPROM(Electrically Erasable PROM,電可擦除可編程ROM)和閃存(flash memory)也是非易失性的,但是與ROM相反,他們可以擦除和重寫(xiě)。不過(guò)重寫(xiě)時(shí)花費(fèi)的時(shí)間比寫(xiě)入RAM要多。在便攜式電子設(shè)備中中,閃存通常作為存儲(chǔ)媒介。閃存是數(shù)碼相機(jī)中的膠卷,是便攜式音譯播放器的磁盤(pán),還應(yīng)用于固態(tài)硬盤(pán)。閃存在速度上介于RAM和磁盤(pán)之間,但與磁盤(pán)不同的是,閃存擦除的次數(shù)過(guò)多,就被磨損了。

CMOS:

還有一類(lèi)存儲(chǔ)器就是CMOS,它是易失性的,許多計(jì)算機(jī)利用CMOS存儲(chǔ)器來(lái)保持當(dāng)前時(shí)間和日期。CMOS存儲(chǔ)器和遞增時(shí)間的電路由一小塊電池驅(qū)動(dòng),所以,即使計(jì)算機(jī)沒(méi)有加電,時(shí)間也仍然可以正確地更新,除此之外CMOS還可以保存配置的參數(shù),比如,哪一個(gè)是啟動(dòng)磁盤(pán)等,之所以采用CMOS是因?yàn)樗碾姺浅I?,一塊工廠原裝電池往往能使用若干年,但是當(dāng)電池失效時(shí),相關(guān)的配置和時(shí)間等都將丟失。


CMOS電池

主板上的CMOS存儲(chǔ)器和電池

磁盤(pán):

磁盤(pán)低速的原因是因?yàn)樗环N機(jī)械裝置,在磁盤(pán)中有一個(gè)或多個(gè)金屬盤(pán)片,它們以5400,7200或10800rpm(RPM =revolutions per minute 每分鐘多少轉(zhuǎn) )的速度旋轉(zhuǎn)。從邊緣開(kāi)始有一個(gè)機(jī)械臂懸在盤(pán)面上,這類(lèi)似于老式黑膠唱片機(jī)上的拾音臂。信息寫(xiě)在磁盤(pán)上的一些列的同心圓上,是一連串的2進(jìn)制位(稱(chēng)為bit位),為了統(tǒng)計(jì)方法,8個(gè)bit稱(chēng)為一個(gè)字節(jié)bytes,1024bytes=1k,1024k=1M,1024M=1G,所以我們平時(shí)所說(shuō)的磁盤(pán)容量最終指的就是磁盤(pán)能寫(xiě)多少個(gè)2進(jìn)制位。

每個(gè)磁頭可以讀取一段換新區(qū)域,稱(chēng)為磁道, 把一個(gè)戈丁手臂位置上所以的磁道合起來(lái),組成一個(gè)柱面,每個(gè)磁道劃成若干扇區(qū),扇區(qū)典型的值是512字節(jié)。數(shù)據(jù)都存放于一段一段的扇區(qū),即磁道這個(gè)圓圈的一小段圓圈,從磁盤(pán)讀取一段數(shù)據(jù)需要經(jīng)歷尋道時(shí)間和延遲時(shí)間。

虛擬內(nèi)存:

許多計(jì)算機(jī)支持虛擬內(nèi)存機(jī)制,該機(jī)制使計(jì)算機(jī)可以運(yùn)行大于物理內(nèi)存的程序,方法是將正在使用的程序放入內(nèi)存取執(zhí)行,而暫時(shí)不需要執(zhí)行的程序放到磁盤(pán)的某塊地方,這塊地方成為虛擬內(nèi)存,在linux中成為swap,這種機(jī)制的核心在于快速地映射內(nèi)存地址,由CPU中的一個(gè)部件負(fù)責(zé),成為存儲(chǔ)器管理單元(Memory Management Unit MMU)

磁帶:

價(jià)錢(qián)相同的情況下比硬盤(pán)擁有更高的存儲(chǔ)容量,雖然速度低于磁盤(pán),但是因其大容量,在地震水災(zāi)火災(zāi)時(shí)可移動(dòng)性強(qiáng)等特性,常被用來(lái)做備份。(常見(jiàn)于大型數(shù)據(jù)庫(kù)系統(tǒng)中)

設(shè)備驅(qū)動(dòng)與控制器

控制器:是查找主板上的一塊芯片或一組芯片(硬盤(pán),網(wǎng)卡,聲卡等都需要插到一個(gè)口上,這個(gè)口連的便是控制器),控制器負(fù)責(zé)控制連接的設(shè)備,它從操作系統(tǒng)接收命令,比如讀硬盤(pán)數(shù)據(jù),然后就對(duì)硬盤(pán)設(shè)備發(fā)起讀請(qǐng)求來(lái)讀出內(nèi)容。

控制器的功能:通常情況下對(duì)設(shè)備的控制是非常復(fù)雜和具體的,控制器的任務(wù)就是為操作系統(tǒng)屏蔽這些復(fù)雜而具體的工作,提供給操作系統(tǒng)一個(gè)簡(jiǎn)單而清晰的接口

設(shè)備本身:有相對(duì)簡(jiǎn)單的接口且標(biāo)準(zhǔn)的,這樣大家都可以為其編寫(xiě)驅(qū)動(dòng)程序了。要想調(diào)用設(shè)備,必須根據(jù)該接口編寫(xiě)復(fù)雜而具體的程序,于是有了控制器提供設(shè)備驅(qū)動(dòng)接口給操作系統(tǒng)。必須把設(shè)備驅(qū)動(dòng)程序安裝到操作系統(tǒng)中。

總線與南橋和北橋


 

北橋,南橋是主板上芯片組中最重要的兩塊了。相對(duì)的來(lái)講,北橋要比南橋更加重要。北橋連接系統(tǒng)總線,擔(dān)負(fù)著 CPU訪問(wèn)內(nèi)存的重任。同時(shí)連接這AGP插口,控制PCI總線,割斷了系統(tǒng)總線和局部總線,在這一段上速度是最快的。南橋不和CPU連接通常用來(lái)作I/O 和IDE設(shè)備的控制。所以速度比較慢,一般情況下,南橋和北橋中間是PCI總線。

操作系統(tǒng)的啟動(dòng)流程

在計(jì)算機(jī)的主板上有一個(gè)基本的輸入輸出程序(Basic  Input Output system)

BIOS就相當(dāng)于一個(gè)小的操作系統(tǒng),它有底層的I/O軟件,包括讀鍵盤(pán),寫(xiě)屏幕,進(jìn)行磁盤(pán)I/O,該程序存放于一非易失性閃存RAM中,如CMOS。

應(yīng)用程序的啟動(dòng)流程

1.計(jì)算機(jī)加電

2.BIOS開(kāi)始運(yùn)行,檢測(cè)硬件:cpu、內(nèi)存、硬盤(pán)等

3.BIOS讀取CMOS存儲(chǔ)器中的參數(shù),選擇啟動(dòng)設(shè)備

4.從啟動(dòng)設(shè)備上讀取第一個(gè)扇區(qū)的內(nèi)容(MBR主引導(dǎo)記錄512字節(jié),前446為引導(dǎo)信息,后64為分區(qū)信息,最后兩個(gè)為標(biāo)志位)

5.根據(jù)分區(qū)信息讀入bootloader啟動(dòng)裝載模塊,啟動(dòng)操作系統(tǒng)

6.然后操作系統(tǒng)詢問(wèn)BIOS,以獲得配置信息。對(duì)于每種設(shè)備,系統(tǒng)會(huì)檢查其設(shè)備驅(qū)動(dòng)程序是否存在,如果沒(méi)有,系統(tǒng)則會(huì)要求用戶按照設(shè)備驅(qū)動(dòng)程序。一旦有了全部的設(shè)備驅(qū)動(dòng)程序,操作系統(tǒng)就將它們調(diào)入內(nèi)核。然后初始有關(guān)的表格(如進(jìn)程表),穿件需要的進(jìn)程,并在每個(gè)終端上啟動(dòng)登錄程序或GUI

 


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI