深入理解計(jì)算機(jī)系統(tǒng)--1.漫游計(jì)算機(jī)系統(tǒng)

深入理解計(jì)算機(jī)系統(tǒng)

原文地址:http://www.code-farmer.tech/archives/1562728171946

GitHub地址:https://github.com/You-Hmily/note-blog/blob/master/docs/computer-science/CSAPP/Chapter01-%E6%BC%AB%E6%B8%B8%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F.md

第一章:計(jì)算機(jī)系統(tǒng)漫游

計(jì)算機(jī)系統(tǒng)是由硬件和系統(tǒng)軟件組成的稽寒,它們共同工作來運(yùn)行應(yīng)用程序折汞。

1、信息就是位+上下文

? ? 1、位:

? ? ? ? 0和1組成的位锣吼,又稱為比特(bit)序列百框。源程序就是0和1組成的位序列筛欢。8個(gè)位被組織成一組贮缅,成為字節(jié)。每個(gè)字節(jié)表示程序中的某些文本字符百侧。

? ? ? ? 大部分的現(xiàn)代計(jì)算機(jī)系統(tǒng)都使用ASCII標(biāo)準(zhǔn)來表示文本字符砰识,這種方式實(shí)際上就是用唯一的單字節(jié)大小的整數(shù)值來表示每個(gè)字符。

? ? ? ? 只由ASCII字符構(gòu)成的文件稱為文本文件佣渴,所有其他文件都被稱為二進(jìn)制文件辫狼。

? ? ? ? 系統(tǒng)中所有的信息---包括磁盤文件、內(nèi)存中的程序辛润、內(nèi)存中存放的用戶數(shù)據(jù)以及網(wǎng)絡(luò)上傳送的數(shù)據(jù)膨处,都是由一串比特表示的。區(qū)分不同數(shù)據(jù)對(duì)象的唯一方法是我們讀到這些數(shù)據(jù)對(duì)象時(shí)的上下文。

? ? 2真椿、上下文:用于區(qū)分?jǐn)?shù)據(jù)不同對(duì)象的記錄鹃答。

? ? ? 在不同的上下文中,一個(gè)同樣的字節(jié)序列可能表示一個(gè)整數(shù)突硝、浮點(diǎn)數(shù)测摔、字符串或者機(jī)器指令。

2解恰、程序編譯

  程序編譯是將源程序轉(zhuǎn)化為一系列的低級(jí)機(jī)器語言指令锋八。指令集組成的文件也就是可執(zhí)行目標(biāo)文件。過程如下圖


3护盈、編譯系統(tǒng)的好處

? ? 1挟纱、優(yōu)化程序性能

? ? 2、理解鏈接時(shí)出現(xiàn)的錯(cuò)誤

? ? 3黄琼、避免安全漏洞

4、系統(tǒng)的運(yùn)行

?1整慎、計(jì)算機(jī)硬件的組成

? ? 1脏款、總線---貫穿整個(gè)系統(tǒng)的一組電子管道,稱作總線裤园。

? ? 2撤师、I/O設(shè)備---I/O設(shè)備是系統(tǒng)與外部世界的聯(lián)系通道。

? ? 3拧揽、主存---主存是一個(gè)臨時(shí)存儲(chǔ)設(shè)備剃盾,在處理器執(zhí)行程序時(shí),用來存放程序和程序處理的數(shù)據(jù)淤袜。

? ? 4痒谴、處理器---CPU,簡稱處理器铡羡,是解釋(或執(zhí)行)存儲(chǔ)在主存中指令的引擎积蔚。處理器的核心是一個(gè)大小為一個(gè)字的存儲(chǔ)設(shè)備(寄存器),稱為程序計(jì)數(shù)器(PC)烦周。

? ?2尽爆、運(yùn)行執(zhí)行程序

5、高速緩存

? ? ? ?隨著半導(dǎo)體的發(fā)展读慎,處理器與主存之間的差距越來越大漱贱,針對(duì)這種差異,系統(tǒng)設(shè)計(jì)者采用了更小更快的存儲(chǔ)設(shè)備夭委,稱為高速緩存存儲(chǔ)器(cache memory),作為暫時(shí)的集結(jié)區(qū)域幅狮,存放處理器近期可能會(huì)需要的信息。

6、存儲(chǔ)分層次結(jié)構(gòu)

? ? 每個(gè)計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)設(shè)備都被組織成了一個(gè)存儲(chǔ)器層次結(jié)構(gòu)彪笼。設(shè)備的訪問速度越慢钻注、容量越大,并且每字節(jié)的造價(jià)也更便宜配猫。

7幅恋、操作系統(tǒng)管理硬件

? ? 操作系統(tǒng)有兩個(gè)基本功能:防止硬件被失控的程序?yàn)E用;向應(yīng)用程序提供簡單一致的機(jī)制來控制復(fù)雜而又通常大不相同的低級(jí)硬件設(shè)備泵肄。

? ? 1捆交、進(jìn)程--操作系統(tǒng)對(duì)一個(gè)正在運(yùn)行的的程序的一種抽象。

? ? ? ? ? ? 操作系統(tǒng)保持跟蹤進(jìn)程運(yùn)行所需的所有狀態(tài)信息腐巢,這種狀態(tài)品追,也就是上下文,包括許多信息冯丙,比如PC和寄存器文件的當(dāng)前值肉瓦,以及主存的內(nèi)容。

? ? ? ? ? ? 從一個(gè)進(jìn)程到另一個(gè)進(jìn)程的轉(zhuǎn)換是由操作系統(tǒng)內(nèi)核(kernel)管理的胃惜。


? ? 2泞莉、線程--操作系統(tǒng)調(diào)度的最小單元。

? ? ? ? 一個(gè)進(jìn)程實(shí)際上可以由多個(gè)稱為線程的執(zhí)行單元組成船殉,每個(gè)線程都運(yùn)行在進(jìn)程的上下文中鲫趁,并共享同樣地代碼和全局?jǐn)?shù)據(jù)。

? ? 3利虫、虛擬內(nèi)存--每個(gè)進(jìn)程都在獨(dú)占地使用主存挨厚。

? ? 每個(gè)進(jìn)程看到的內(nèi)存都是一致的,稱為虛擬地址空間糠惫。


? ? 程序代碼和數(shù)據(jù)--

? ? 堆--代碼和數(shù)據(jù)區(qū)后緊隨著的是運(yùn)行時(shí)堆疫剃。

? ? 共享庫--存放共享代碼和數(shù)據(jù)的區(qū)域。

? ? 棧--位于用戶虛擬地址空間頂部的是用戶棧硼讽,編譯器用它來實(shí)現(xiàn)函數(shù)調(diào)用慌申。

? ? 內(nèi)核虛擬內(nèi)存--地址空間頂部的區(qū)域是為內(nèi)核保留的

? ? 4、文件--文件就是字節(jié)序列理郑。

8蹄溉、系統(tǒng)之間的網(wǎng)絡(luò)通信

? ? ? 隨著Internet這樣的全球網(wǎng)絡(luò)的出現(xiàn),從一臺(tái)主機(jī)復(fù)制信息到另外一臺(tái)主機(jī)已經(jīng)成為計(jì)算機(jī)系統(tǒng)最重要的用途之一您炉。比如使用telnet的服務(wù)端和客戶端進(jìn)行交互柒爵。

9、一些重要概念和主題

? ? ? 1赚爵、Amdahl定律---當(dāng)我們對(duì)系統(tǒng)某個(gè)部分加速時(shí)棉胀,其對(duì)系統(tǒng)整體性能的影響取決于該部分的重要性和加速程度法瑟。

? ? ? 2、并發(fā)和并行

? ? ? ? 并發(fā)(concurrency)--指一個(gè)同時(shí)具有多個(gè)活動(dòng)的系統(tǒng)

? ? ? ? 并行(parallelism)--指的是用并發(fā)來使一個(gè)系統(tǒng)運(yùn)行得更快唁奢。

? ? ? ? 1霎挟、線程級(jí)并發(fā)

? ? ? ? ? 使用線程,能夠在一個(gè)進(jìn)程中執(zhí)行多個(gè)控制流麻掸。

? ? ? ? 2酥夭、指令級(jí)并行

? ? ? ? ? 在較低的抽象層次上,現(xiàn)代處理器可以同時(shí)執(zhí)行多條指令的屬性成為指令級(jí)并行脊奋。

? ? ? ? 3熬北、單指令、多數(shù)據(jù)并行

? ? ? ? ? 允許一條指令產(chǎn)生多個(gè)可以并行執(zhí)行的操作诚隙,這種方式成為單指令讶隐、多數(shù)據(jù)、即SIMD并行久又。

? ? 3巫延、一些重要抽象

? ? ? ? 抽象的使用計(jì)算機(jī)科學(xué)中最為重要的概念之一。

? ? ? ? 指令集架構(gòu)提供了對(duì)實(shí)際處理器硬件的抽象地消。

? ? ? ? 虛擬內(nèi)存是對(duì)程序存儲(chǔ)器的抽象炉峰,而進(jìn)程是對(duì)一個(gè)正在運(yùn)行得程序的抽象。

? ? ? ? 虛擬機(jī):他提供對(duì)整個(gè)計(jì)算機(jī)的抽象犯建,包括操作系統(tǒng)讲冠、處理器和程序瓜客。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末适瓦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子谱仪,更是在濱河造成了極大的恐慌玻熙,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疯攒,死亡現(xiàn)場離奇詭異嗦随,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)敬尺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門枚尼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人砂吞,你說我怎么就攤上這事署恍。” “怎么了蜻直?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵盯质,是天一觀的道長袁串。 經(jīng)常有香客問我,道長呼巷,這世上最難降的妖魔是什么囱修? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮王悍,結(jié)果婚禮上破镰,老公的妹妹穿的比我還像新娘。我一直安慰自己配名,他們只是感情好啤咽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著渠脉,像睡著了一般宇整。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芋膘,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天鳞青,我揣著相機(jī)與錄音,去河邊找鬼为朋。 笑死臂拓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的习寸。 我是一名探鬼主播胶惰,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼霞溪!你這毒婦竟也來了孵滞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤鸯匹,失蹤者是張志新(化名)和其女友劉穎坊饶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體殴蓬,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡匿级,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了染厅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痘绎。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖肖粮,靈堂內(nèi)的尸體忽然破棺而出孤页,到底是詐尸還是另有隱情,我是刑警寧澤尿赚,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布散庶,位于F島的核電站蕉堰,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏悲龟。R本人自食惡果不足惜屋讶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望须教。 院中可真熱鬧皿渗,春花似錦、人聲如沸轻腺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贬养。三九已至挤土,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間误算,已是汗流浹背仰美。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留儿礼,地道東北人咖杂。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像蚊夫,于是被迫代替她去往敵國和親诉字。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353