1、深入理解计算机系统 笔记,系统综述
1、系統的硬件組成
Figure1 Hardware organization of a typical system. CPU: Central Processing Unit, ALU: Arithmetic/Logic Unit, PC: Program counter, USB: Universal Serial Bus.
1)總線
貫穿整個系統的一組電子管道,它攜帶信息字節并負責在各個部件間傳遞。通常總線被設計成傳送定長的字節塊,也就是字(word)。各個系統中字長不盡相同,intel pentium系統的字長為4字節。
2)I/O設備
??? I/O設備是系統與外界的聯系通道。
??? 控制器是I/O設備本身中或是系統的主印刷電路板(主板)上的芯片組,而適配器則是一塊插在主板插槽上的卡。
3)主存
??? 臨時存儲設備,在處理器執行程序時,用來存放程序和程序處理的數據。物理上來說,主存是由一組DRAM芯片組成的;邏輯上來說,存儲器由一個線性的字節數據組成,每個字節都有自己惟一的地址(數組索引),這些地址以0開始的。一般來說,組成程序的每條機器指令都由不定量的字節構成。
4)處理器
CPU,是解釋(或執行)存儲在主存中指令的引擎。處理器的核心是一個被稱為程序計數器(PC)的字長大小的存儲設備(或寄存器)。在任何一個時間點上,PC都指向主存中的某條機器語言指令。
從系統加電,到斷電,CPU一直不加思索的重復執行相同的基本任務:從程序計數器(PC)指向的存儲器讀取指令,解釋指令中的位,執行指令指示的簡單操作,然后更新程序計數器指向下一條指令(不一定與剛剛執行的指令相鄰)。
2、層次結構的存儲設備
Figure 2: The memory hierarchy
??? 存儲器分層結構的主要思想是:一個層次上的存儲器作為下一層次上的存儲器的高速緩沖。
3、操作系統提供的抽象表示
Figure 3: Abstractions provided by an operating system
??? 操作系統內核是應用程序和硬件之間的媒介。它提供三個基本的抽象概念:文件是對I/O設備的抽象概念;虛擬存儲器是對主存和磁盤的抽象概念;進程是處理器、主存和I/O設備的抽象概念。
1)進程是操作系統對運行程序的一種抽象。在一個系統上可以同時運行多個進程,而每個進程都好像獨占地使用硬件,我們稱之為并發運行。實際上,是一個進程的指令和另一個進程的指令交錯執行的,操作系統實現這種交錯執行的機制稱為上下文切換(context switching)。操作系統保存進程運行所需的所有狀態信息,這些狀態稱為上下文(context )。
2)一個進程可由多個線程組成。每個線程都運行在進程的上下文中,并共享同樣的代碼和全局數據。
3)虛擬存儲器
虛擬存儲器是抽象概念,它為每個進程提供一個假象,好像每個進程都在獨占地使用主存。每個進程看到的存儲器都是一致的,稱之為虛擬地址空間。
Figure 4: Linux process virtual address space.
虛擬存儲器,基本思想是把一個進程虛擬存儲器的內容存儲在磁盤上,然后用主存作為磁盤的高速緩沖。
4)文件
是字節序列。每個I/O設備,包括磁盤,鍵盤,顯示器,網絡,等可以看成是文件。
4、系統,是相互交織的硬件和系統軟件的集合體。
<深入理解計算機系統(Computer Systems:A Programmer's Perspective)>
總結
以上是生活随笔為你收集整理的1、深入理解计算机系统 笔记,系统综述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的空间为什么叫IT人?
- 下一篇: expect-2