在寫本章的內容之前,LZ先做個小廣告。其實也不算是什么廣告,就是LZ為了和各位猿友交流方便,另外也確實有個別猿友留言或者在博客里發短消息給LZ要聯系方式。因此LZ斗膽建立了一個有關《深入理解計算機系統》這本書的交流群,當然了,如果有哪位猿友有其它方面的問題,也可以在群里提出 ...
上一章我們講解了hello world 程序在計算機系統中是如何運行的。hello 程序的機器指令最初是存放在磁盤上的,當程序加載時,他們被復制到主存 當處理器運行程序的時候,指令又從主存復制到處理器。相似的,數據串 Hello World 初始時在磁盤上,然后復制到主存,最后從主存上復制到顯示設備。 從程序員的角度來看,上面的復制就是開銷,減緩了程序的真正工作。因此如何將這些復制操作盡快完成則 ...
2017-09-11 19:43 1 3726 推薦指數:
在寫本章的內容之前,LZ先做個小廣告。其實也不算是什么廣告,就是LZ為了和各位猿友交流方便,另外也確實有個別猿友留言或者在博客里發短消息給LZ要聯系方式。因此LZ斗膽建立了一個有關《深入理解計算機系統》這本書的交流群,當然了,如果有哪位猿友有其它方面的問題,也可以在群里提出 ...
深入理解計算機系統 卡內基·梅隆一門棵。 原書第3版資料. 第三版源碼. 原書第2版資料. 計算機系統漫游 源文件到目標文件的翻譯過程可分為四個階段, 這四個階段的程序被稱為預處理器,編譯器,匯編器和鏈接器,它們一起構成了編譯系統(compilation ...
Computer Systems A Programmer's perspective 關於進程與線程的相關知識 進程 像hello這樣的程序在現代系統上運行時,操作系統會提供一種假象,就好像系統上只有這個程序在運行。程序看上去是獨占地使用處理器、主存和I/O設備。處理器看上去就 ...
前面我們介紹了《深入理解計算機系統》第一章的內容----計算機系統漫游。包括簡單介紹了 Hello World 程序在計算機中是如何運行的,存儲設備的層次結構以及操作系統的抽象概念。第一章的內容只是對很多概念有個簡單了解,所以還是不懂的話也不要緊,后面都會對這些概念進行深入的探究。而這 ...
《深入理解計算機系統》,這本書,我多次想要好好完整的讀一遍,每次都是沒有堅持下去,但是作為一個開發者,自己想要成為為數不多的大牛之一,所以打算這次把這本書完整的好好讀一遍,並整理為相關的博客! 書的開頭說了一句話:計算機系統是由硬件和系統軟件組成,他們共同工作來運行應用程序。我們通常接觸更多 ...
本來LZ是打算好好研究一下JVM源碼的,不過想來想去,LZ覺得應該先了解計算機系統的原理,再去研究JVM源碼的精妙。因此LZ決定潛下心來好好研究下計算機系統原理,這是一個漫長的過程,因為《深入理解計算機系統》這本書很厚,而且這種書一般看起來速度不會太快。因此LZ打算做好每一個 ...
上一章LZ給各位展示了一下hello程序的簡單執行過程,可以看出在這一過程當中,系統在數據的傳輸上花費了大量的時間。硬件開發商為了減少這種數據傳輸的時間成本,采用一種高速緩存的技術去減少這種時間成本。 高速緩存被置放於處理器當中,與處理器中的寄存器文件 ...
虛擬存儲器 虛擬存儲器是硬件異常、硬件地址翻譯、主存、磁盤文件和內核軟件的完美交互,它為每個進程提供了一個大的、一致的和私有的地址空間。通過一個很清晰的機制,虛擬存儲器提供了三個重要的能力: (1)它將主存看成是一個存儲在磁盤上的地址空間的高速緩存,在主存中只保存活動區域,並根據需要在磁盤 ...