上一章LZ給各位展示了一下hello程序的簡單執行過程,可以看出在這一過程當中,系統在數據的傳輸上花費了大量的時間。硬件開發商為了減少這種數據傳輸的時間成本,采用一種高速緩存的技術去減少這種時間成本。 高速緩存被置放於處理器當中,與處理器中的寄存器文件 ...
上一篇博客我們講解了存儲設備的層次結構,並詳細講解了高速緩存的原理,以及可以利用高速緩存來提高程序性能。如果對Java Web 熟悉的,我們可以理解高速緩存類似Web 端的緩存機制。那么這一篇博客我們來引出並談談操作系統的抽象概念。 操作系統 首先接着來討論 hello world 程序的例子。當外殼加載和運行 hello 程序,以及 hello 程序輸出自己的消息時,外殼和 hello 程序都 ...
2017-09-12 09:10 7 5965 推薦指數:
上一章LZ給各位展示了一下hello程序的簡單執行過程,可以看出在這一過程當中,系統在數據的傳輸上花費了大量的時間。硬件開發商為了減少這種數據傳輸的時間成本,采用一種高速緩存的技術去減少這種時間成本。 高速緩存被置放於處理器當中,與處理器中的寄存器文件 ...
引言 並發與並行一直是IT界炙手可熱的詞匯,相信各位猿友都不會陌生。在計算機系統這本書當中,對並發與並行的解釋是,並發是指一個同時具有多個活動的系統,而並行則是指的用並發使得一個系統運行的更快。 這與LZ之前的理解應該是不沖突 ...
深入理解計算機系統 卡內基·梅隆一門棵。 原書第3版資料. 第三版源碼. 原書第2版資料. 計算機系統漫游 源文件到目標文件的翻譯過程可分為四個階段, 這四個階段的程序被稱為預處理器,編譯器,匯編器和鏈接器,它們一起構成了編譯系統(compilation ...
Computer Systems A Programmer's perspective 關於進程與線程的相關知識 進程 像hello這樣的程序在現代系統上運行時,操作系統會提供一種假象,就好像系統上只有這個程序在運行。程序看上去是獨占地使用處理器、主存和I/O設備。處理器看上去就 ...
在上一篇博客 算術和邏輯操作 我們介紹了如下圖幾種常用的算術邏輯指令,但是大家發現沒,這幾種指令如果在 IA32 上只能操作32位寄存器,比如我用乘法指令IMUL得出的結果超過了32位,那就會產生結果溢出,那應該怎么辦呢? 1、特殊的算術操作指令指令 如上圖,上面 ...
引言 上一章我們討論了常見的算術與邏輯運算指令,其中比較有特點的是leal指令,本章我們再來看幾個比較特殊的操作指令,這些指令可以讓只有32位的寄存器存儲64位的數據,是不是十分霸氣側漏呢。 初識 我們先來看看這些指令的大致介紹,如果各位看過上一章的話,會發 ...
上一篇博客 我們介紹了幾種數據傳送指令,包括MOV,MOVS,MOVZ,PUSH和POP等,理解起來也不算難。本篇博客我們來接着看匯編語言的算術與邏輯運算指令,算術無非就是加減乘除,而邏輯運算也就是與或非,移位等操作。下面這張圖是匯編里面的算術和邏輯操作: 上面除了 leal ...
《深入理解計算機系統》,這本書,我多次想要好好完整的讀一遍,每次都是沒有堅持下去,但是作為一個開發者,自己想要成為為數不多的大牛之一,所以打算這次把這本書完整的好好讀一遍,並整理為相關的博客! 書的開頭說了一句話:計算機系統是由硬件和系統軟件組成,他們共同工作來運行應用程序。我們通常接觸更多 ...