深入理解計(jì)算機(jī)系統(tǒng)筆記(computer system毛嫉,a programmer’s perspective)

程序的編譯處理過程

預(yù)處理階段——編譯階段——匯編階段——鏈接階段

預(yù)處理:(修改原始程序袱饭,插入一些引用庫)

修改原始c程序川无,如讀取stdio.h的內(nèi)容,插入到程序文本虑乖,得到另一個(gè)c程序懦趋,以.i結(jié)尾

編譯:(編譯成匯編語言)

將.i翻譯成.s,包含一個(gè)匯編語言程序疹味,匯編語言中的每條語句都是都以一種標(biāo)準(zhǔn)的文本格式確切描述一條低級(jí)機(jī)器語言指令仅叫。匯編語言為不同高級(jí)語言的不同編譯器提供了通用的輸出語言。

匯編:(將匯編語言翻譯成機(jī)器語言)

匯編器將.s翻譯成機(jī)器語言糙捺。并把這些語言指令打包成一種可重定位的目標(biāo)語言诫咱。并將結(jié)果保持在.o程序。這次就是二進(jìn)制文件了洪灯。它的字節(jié)編碼是機(jī)器指令而不是字符坎缭。打開將看到亂碼

鏈接:(連接,合并签钩,變成可執(zhí)行文件)

鏈接到引用的預(yù)編譯好的函數(shù)庫掏呼。并合并到hello.o中。最后變成可執(zhí)行目標(biāo)文件边臼,加載到內(nèi)存哄尔,系統(tǒng)就可以運(yùn)行了。

編譯器先把源文件轉(zhuǎn)換成匯編文件柠并,再調(diào)用匯編器和連接器生成可執(zhí)行文件

匯編語言:一種以計(jì)算機(jī)指令為基礎(chǔ)的低級(jí)語言

匯編器:將匯編文本翻譯為機(jī)器語言(machine code岭接,二進(jìn)制文件)

鏈接器:處理合并,鏈接(link)臼予,將有關(guān)的目標(biāo)文件彼此連接生成二進(jìn)制的可加載鸣戴,可執(zhí)行的程序。它的核心工作是符號(hào)表的解析和重定位粘拾。

典型計(jì)算機(jī)硬件模型


存儲(chǔ)器結(jié)構(gòu)的主要思想就是上一級(jí)的存儲(chǔ)器作為低一級(jí)存儲(chǔ)器的高速緩存窄锅。


操作系統(tǒng):應(yīng)用程序與硬件之間插入的一層軟件。

OS基本功能:1.防止硬件被失控的軟件濫用 2.向應(yīng)用程序提供簡單一致的機(jī)制來控制復(fù)雜而又通常大相徑庭的低級(jí)硬件設(shè)備(底層硬件設(shè)備缰雇,并不低級(jí))

進(jìn)程:

操作系統(tǒng)對一個(gè)正在運(yùn)行的程序的抽象入偷。實(shí)現(xiàn)進(jìn)程這抽象概念需要低一級(jí)的硬件和os通力合作追驴。進(jìn)程的切換就是系統(tǒng)上下文切換。

線程:

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

線程是非常重要的編程模型锋爪,因?yàn)?b>多線程之間比多進(jìn)程之間更容易共享數(shù)據(jù)丙曙,線程更加高效。

虛擬存儲(chǔ)器:

抽線概念其骄,為每個(gè)進(jìn)程提供假象亏镰。它的運(yùn)作需要硬件和os的精密復(fù)雜交互,包括對處理器生成的每個(gè)地址的硬件翻譯拯爽。

基本思想是把一個(gè)進(jìn)程虛擬存儲(chǔ)器的內(nèi)容存儲(chǔ)到磁盤上索抓,然后用主存(dram)做磁盤(disk)的告訴緩存。


地址從下往上是增大的某抓。

文件:

文件就是字節(jié)序列纸兔。每個(gè)IO設(shè)備都可視為文件。文件這個(gè)概念簡單而精致否副,因?yàn)樗驊?yīng)用程序提供一個(gè)統(tǒng)一的視角汉矿,來看待系統(tǒng)中各式各樣的I/O設(shè)備。

Linux:

一個(gè)完整的备禀,符合posix(unix標(biāo)準(zhǔn)洲拇,消除unix版本差異)標(biāo)準(zhǔn)的unix os的版本。

everything is file曲尸,不僅是一種技術(shù)赋续,而是一種文化現(xiàn)象。

SIMD單指令多數(shù)據(jù):一條指令并行執(zhí)行多個(gè)數(shù)據(jù)操作另患。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纽乱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子昆箕,更是在濱河造成了極大的恐慌鸦列,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鹏倘,死亡現(xiàn)場離奇詭異薯嗤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)纤泵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進(jìn)店門骆姐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事玻褪∪饪剩” “怎么了?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵归园,是天一觀的道長黄虱。 經(jīng)常有香客問我,道長庸诱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任晤揣,我火速辦了婚禮桥爽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昧识。我一直安慰自己钠四,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布跪楞。 她就那樣靜靜地躺著缀去,像睡著了一般。 火紅的嫁衣襯著肌膚如雪甸祭。 梳的紋絲不亂的頭發(fā)上缕碎,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天,我揣著相機(jī)與錄音池户,去河邊找鬼咏雌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛校焦,可吹牛的內(nèi)容都是我干的赊抖。 我是一名探鬼主播,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼寨典,長吁一口氣:“原來是場噩夢啊……” “哼氛雪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起耸成,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤报亩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后墓猎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捆昏,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年毙沾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骗卜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,928評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖寇仓,靈堂內(nèi)的尸體忽然破棺而出举户,到底是詐尸還是另有隱情,我是刑警寧澤遍烦,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布俭嘁,位于F島的核電站,受9級(jí)特大地震影響服猪,放射性物質(zhì)發(fā)生泄漏供填。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一罢猪、第九天 我趴在偏房一處隱蔽的房頂上張望近她。 院中可真熱鬧,春花似錦膳帕、人聲如沸粘捎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽攒磨。三九已至,卻和暖如春汤徽,著一層夾襖步出監(jiān)牢的瞬間娩缰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工泻骤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留漆羔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓狱掂,卻偏偏與公主長得像演痒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子趋惨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容