《深刻理解計算機系統》第一章讀書筆記

計算機系統漫遊 

1.1信息就是位+上下文

程序的生命從一個源程序開始的,該程序經過編輯器建立並保存爲文本文件,文件名命爲***.c,由0和1組成的位序列。緩存

 

1.2程序被其餘的程序翻譯成不一樣的格式

在Unix系統上,從源文件到目標文件的轉化是由編譯器驅動程序完成的安全

unix > gcc -o hello hello.c多線程

gcc編譯器讀取源文件***.c,並把它翻譯成一個可執行的目標文件,執行四個階段的程序(預處理器、編譯器、彙編器和連接器)併發

1.3編譯系統的優勢:

 

1.優化程序性能 編輯器

2.理解連接時出現的錯誤性能

3.避免安全漏洞優化

 

1.4處理器讀並解釋存儲在存儲器的指令

1.4.1系統的硬件組成

總線:貫徹整個系統的電子管,它攜帶信息字節並負責各個部件間傳遞。一般總線被設計成傳送定長的字節塊,即字。操作系統

I/O設備: 即輸入/輸出設備,是系統與外界的聯繫通道。線程

主存: 是一個臨時的存儲設備,處理程序時,用來存放程序和程序處理的數據。物理上說由一組DRAM(動態隨機存取存儲器)組成的。翻譯

處理器:即cpu,是解釋(或執行)存儲在主存中指令的引擎,處理器的核心是一個被稱爲程序計數器pc的字長大小的存儲設備。

 

1.4.2執行hello程序

1.從鍵盤上讀取hello命令

 

 

2.從磁盤加載可執行文件到主存

 

 

 

 

3從存儲器寫輸出串到顯示器

 

 

 1.5高速緩存

程序的機器指令最初存放在磁盤上,當程序加載時,他們被拷貝到主存,當處理器運行程序時,指令又從主存拷貝處處理器。

 

1.6層次機構的存儲設備

 

1.7操做系統管理硬件

 全部應用程序對硬件的操做必須經過操做系統

操做系統的兩個基本功能:一、防止硬件被失控的應用程序濫用  二、位應用程序提供簡單一致的方法。

1.7.1進程

進程是操做系統對運行程序的一種抽象,一個系統能夠同時運行多個進程,而每一個進程

 都好像獨佔硬件,稱爲併發運行。

進程的上下文切換

 

1.7.2線程

一個進程能夠由多個線程組成,由於多線程比多進程之間更容易分享數據,也由於進程通常都比進程更高效。

 1.7.3文件

文件是字節序列。每一I/O設備均可以當作文件。

相關文章
相關標籤/搜索