1、計(jì)算機(jī)漫游

1.1 信息就是位+上下文

編程里面的所有的信息都是又最基礎(chǔ)的位組成的每一個(gè)信息都是由8位組成也就是1 bit,每一位都是 0,1。即站在硬件的角度可以使用邏輯電路與非門進(jìn)行組成。

1.2 程序被其他程序翻譯成不同的格式

.cpp/.c程序——》預(yù)處理——》編譯——》匯編——》鏈接

1、預(yù)處理對(duì)一些以'#'開頭的程序進(jìn)行預(yù)處理生成新的.iC語(yǔ)言程序
2、編譯將.i 的C語(yǔ)言程序轉(zhuǎn)成.s的C語(yǔ)言程序包含一個(gè)匯編語(yǔ)言
3、匯編階段就是通過匯編器轉(zhuǎn)換為機(jī)器語(yǔ)言進(jìn)行執(zhí)行。
4、鏈接就是將程序中的函數(shù)調(diào)用等情況,以以一種方式通過我們的鏈接器進(jìn)行并入,可執(zhí)行程序加入到存儲(chǔ)器時(shí),由我們的系統(tǒng)進(jìn)行執(zhí)行。

1.3 了解匯編的好處

  • 對(duì)程序進(jìn)行優(yōu)化
  • 了解鏈接時(shí)出現(xiàn)的錯(cuò)誤
  • 避免安全的漏洞

1.4 處理器讀并解釋存儲(chǔ)在存儲(chǔ)器中的命令

1.4.1 硬件的組成

一個(gè)典型系統(tǒng)的硬件組成.png

1.4.2 執(zhí)行一次Hello的過程

shell執(zhí)行指令等待鍵盤輸入——》在鍵盤上輸入Hello——》shell將輸入的字符讀入到寄存器之中——》將數(shù)據(jù)存入存儲(chǔ)器之中
shell進(jìn)行的處理操作:將目標(biāo)文件中的代碼和數(shù)據(jù)從磁盤拷貝到主存之中——》加載相應(yīng)的Hello文件數(shù)據(jù)包含輸出的字符串。
磁盤到主存使用的DMA(直接存儲(chǔ)器存?。?目標(biāo)文件到存儲(chǔ)器中會(huì),處理器會(huì)執(zhí)行機(jī)器語(yǔ)言

1.5 緩存(如圖)

緩存圖

why?

因?yàn)榇疟P和內(nèi)存的讀取速度的差異太大,大多數(shù)的時(shí)間用在了數(shù)據(jù)的獲取上了,于是取了一個(gè)中間的設(shè)備對(duì)數(shù)據(jù)進(jìn)行緩存,以提高對(duì)數(shù)據(jù)的讀取操作。

1.6 形成層次的存儲(chǔ)結(jié)構(gòu)(如圖就可以看清楚了)

存儲(chǔ)器層次模型.png

1.7 操作系統(tǒng)的管理硬件

操作系統(tǒng)相當(dāng)于在應(yīng)用程序與硬件產(chǎn)生互的中間商或者說中間平臺(tái),應(yīng)用程序的操作都需要經(jīng)過操作系統(tǒng)對(duì)硬件的操作。
操作系統(tǒng)有兩個(gè)基本功能:防止硬件被失控的應(yīng)用程序?yàn)E用;在控制復(fù)雜而又通常廣泛不同的低級(jí)硬件設(shè)備方面,為應(yīng)用程序提供簡(jiǎn)單一致的方法。
操作系統(tǒng)的幾個(gè)基本的抽象概念(進(jìn)程、虛擬存儲(chǔ)器和文件)實(shí)現(xiàn)這兩個(gè)功能。文件是對(duì)I/O設(shè)備的抽象表示,虛擬存儲(chǔ)器是對(duì)主存和磁盤I/O設(shè)備的抽象表示,進(jìn)程則是對(duì)處理器、主存和I/O設(shè)備的抽象表示

1.7.1 進(jìn)程

進(jìn)程是對(duì)運(yùn)行程序的抽象,一個(gè)操作系統(tǒng)可以運(yùn)行多個(gè)進(jìn)程但是都是交替進(jìn)行上下文切換,這就是并發(fā)。
操作系統(tǒng)會(huì)記錄下所有的進(jìn)程運(yùn)行所需要的所有的狀態(tài)信息。這種狀態(tài)就是上下文。

1.7.2 線程

盡管通常我們認(rèn)為一個(gè)進(jìn)程只有單一的控制流,但是在現(xiàn)代系統(tǒng)中,一個(gè)進(jìn)程實(shí)際上可以由多個(gè)稱為線程的執(zhí)行單元組成,每個(gè)線程都運(yùn)行在進(jìn)程的上下文中,并共享同樣的代碼和全局?jǐn)?shù)據(jù)。由于網(wǎng)絡(luò)服務(wù)器中對(duì)并行處理的要求,線程成為越來越重要的編程模型,因?yàn)槎嗑€程之間比多進(jìn)程之間更容易共享數(shù)據(jù),也因?yàn)榫€程一般都比進(jìn)程更高效。

1.7.3 虛擬存儲(chǔ)器

虛擬存儲(chǔ)器是一個(gè)抽象概念,它為每個(gè)進(jìn)程提供了一個(gè)假象,好像每個(gè)進(jìn)程都在獨(dú)占地使用主存。
每個(gè)進(jìn)程看到的存?zhèn)绕鞫际且恢碌?稱之為虛擬地址空間。

1.7.4 文件

就是字節(jié)序列數(shù)據(jù)

1.8 利用網(wǎng)絡(luò)對(duì)其他系統(tǒng)通信(如圖過程)

網(wǎng)絡(luò).png

網(wǎng)絡(luò)其實(shí)也相當(dāng)于I/O的一種只不過他們是網(wǎng)絡(luò)I/O

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容