22、深入理解電腦系統筆記,虛擬儲存空間,Linux樣本

1、Pentium地址翻譯的情況1)頁表    每個pentium系統都使用兩級頁表。每個進程都有一個惟一的頁面目錄和頁表集合。頁面目錄基底位址暫存器(page directory base register, PDBR)指向頁表目錄的起始位置。2)PDE與PTE格式Write-through 直寫;write back:

10、深入理解電腦系統筆記:儲存空間階層,快取儲存空間(2)

1、組相聯快取(set associative cache)1 < E < C/B2、全相聯映射(fully associative cache)E = C/B因為全相聯快取需要並行搜尋許多相匹配的行,所以構造相對是困難的;因此只適合做小的快取;如虛擬儲存空間系統中的TLB,它快取頁面表項。3、寫回(write

23、深入理解電腦系統筆記,虛擬儲存空間,儲存空間映射

1、Linux通過將一個虛擬儲存空間地區與一個磁碟上的對象(object)關聯起來,以初始化這個虛擬儲存空間地區的內容,這個過程稱為儲存空間映射(memory mapping)。虛擬儲存空間地區可以映射到兩種類型的對象:1)unix檔案系統中的普通檔案:一個地區可以映射到一個普通磁碟檔案的連續部分。2)匿名檔案:一個地區也可以映射到一個匿名檔案,匿名檔案是由核心建立的,包含的全是二進位零。    一旦一個虛擬頁面被初始化了,它就在一個由核心維護的專門的分頁檔(swap file)間換來換去。2、

11、深入理解電腦系統筆記:儲存空間階層,利用局部性

1、緩衝友好的代碼對局部變數的反覆引用是好的,因為編譯器能夠將它們緩衝在寄存器檔案中(時間局部性)。(內部迴圈)步長為1的參考模式是好的,因為儲存空間階層中所有層次上的緩衝都是將資料存放區為連續的塊(空間局部性)。(通過按照資料Object Storage Service在儲存空間中的順序來讀資料)2、使用分塊來提高時間局部性分塊的大致思想是將一個程式的資料結構組織成塊(block)的組塊(chunks)。<Computer Systems:A Programmer's

1、深入理解電腦系統 筆記,系統綜述

1、系統的硬體組成Figure1 Hardware organization of a typical system. CPU: Central Processing Unit, ALU: Arithmetic/Logic Unit, PC: Program counter, USB: Universal Serial

19、深入理解電腦系統筆記,虛擬儲存空間,基本原理(1)

1、一個系統中的進程是與其他進程共用CPU和主存資源的。2、虛擬儲存空間(Virtual

7、深入理解電腦系統筆記:儲存空間階層,儲存技術(2)

1、磁碟構造每個表面是由一組稱為磁軌(track)的同心圓組成;每個磁軌被劃分成一組扇區(sector);每個扇區包含相等數量的資料位元(通常是512位元組);這些資料編碼在扇區上的磁性材料中。扇區之間由一些間隙(gap)分隔開,這些間隙中不存在資料位元。間隙儲存用來標識扇區的格式化位。註:spindle(主軸),platter(碟片),cylinder(柱面)2、磁碟容量(扇區大小×每條磁軌平均扇區數×每個面磁軌的磁軌數×每個碟片的面數×每個磁碟的盤數)3、對於與DRAM和SRAM容量相關的單

5、深入理解電腦系統筆記:最佳化程式效能

1、編譯技術被分為“與機器無關”和“與機器相關”兩類。“與機器無關”,使用這些技術時可以不考慮將執行代碼的電腦的特性;而“與機器有關”,指這些技術依賴於許多機器的低級細節。2、最小二乘法擬合3、最佳化之一:消除迴圈的低效率將迴圈中需要每次計算,但是計算結果不會改變的語句移出去,稱為代碼移動(code motion)。4、減少不必要的程序呼叫。如可以確保邊界安全的情況下,就不需要每次都進行邊界安全檢查。5、消除不必要的儲存空間引用範例程式碼void Test1(int

20、深入理解電腦系統筆記,虛擬儲存空間,基本原理(2)

2)頁命中3)缺頁DRAM緩衝不命中稱為缺頁(page fault)。VM page fault (before). The reference to a word in VP 3 is a miss and triggers a page fault.VM page fault (after). The page fault handler selects VP 4 as the victim and replaces it with a copy of VP 3 from disk.

18、深入理解電腦系統筆記:測配量序執行時間

1、人不能夠覺察短於大約100ms的時間段。2、電腦有一個外部計時器,它周期性地向處理器發送中斷訊號。這些中斷訊號之間的時間被稱為間隔時間(interval time)。3、從一個進程切換到另一個進程需要幾千個刻度來儲存當前當前進程的狀態。典型的計時器間隔範圍是1~10ms。4、通過間隔計數(interval

8、深入理解電腦系統筆記:儲存空間階層,局部性

1、局部性有兩種形式:時間局部性(temporal locality)和空間局部性(spatial

6、深入理解電腦系統筆記:儲存空間階層,儲存技術(1)

1、如果你的程式需要的資料是儲存在CPU寄存器中的,那麼在執行期間,在零個周期內就能訪問到它們。如果儲存在高速緩衝中,需要1~10個周期。如果儲存在主存中,需要50~100個周期。如果儲存在磁碟上,需要約20000000個周期。2、隨機訪問儲存空間(RAM,Random-access

21、深入理解電腦系統筆記,虛擬儲存空間,地址翻譯

1、地址翻譯,是一個N元素的虛擬位址空間(VAS)中的元素和一個M元素的物理地址空間(PAS)中元素之間的映射。2、CPU中的一個控制寄存器,叫做頁表基底位址暫存器(page table base register,PTBR)指向當前頁表。N位的虛擬位址包含兩個部分:一個p位的VPO(virtual page offset,虛擬頁面位移)和一個n-p位的VPN(virtual page number)。MMU利用VPN來選擇適當的PTE。如VPN0選擇PTE0。因為物理和虛擬頁面都是p位元組的,

2、深入理解電腦系統筆記:資訊表示

1、機器級程式將儲存空間視為一個非常大的位元組數組,稱為虛擬儲存空間(virtual memory)。儲存空間的每個位元組都由一個唯一的數字來標識,稱為地址(address),所有可能地址的集合就稱為虛擬位址空間(virtual address

9、深入理解電腦系統筆記:儲存空間階層,快取儲存空間(1)

 1、快取儲存結構註:set(組)組索引位告訴我們這個字必須儲存在那個組中;然後A中t個標記位告訴我們這個組中的那一行(if any)包含這個字;若且唯若設定了有效位並且該行的標記位與地址A中的標記位相匹配時,組中的這一行包含這個字;確定行後,b個塊位移位給出了在B個位元組的資料區塊中的字位移。2、直接映射快取每個組只有一行(E = 1)的快取被稱為直接映射快取(direct-mapped

26、深入理解電腦系統筆記,系統級I/O

1、一個unix檔案就是一個m位元組的序列(b0b1b2...bm-1)。所有的IO裝置,如網路,磁碟,終端,都被模型化為檔案,而所有的輸入和輸出都被當作對相應檔案的讀和寫來執行。2、所有的輸入和輸出都被當作統一的方式來處理:1)開啟檔案。一個應用程式通過要求核心開啟相應的檔案,來宣告它想要訪問一個IO裝置。核心返回一個小的非負整數,叫做描述符,它在後續對此檔案的所有操作中標識這個檔案。核心記錄這個開啟檔案的所有資訊,而應用程式只需記住這個描述符。Unix建立的每個進程開始都有三個開啟的檔案:標

*13、深入理解電腦系統筆記:程式連結(2)

1、可執行目標檔案註:ELF(Executable and Linkable Format)從中可以看出,程式碼片段的地址總是比資料區段的地址小。2、載入可執行目標檔案任何Unix程式都可以通過調用execve函數來調用載入器。載入器將可執行目標檔案中的代碼和資料從磁碟拷貝到儲存空間中,然後通過跳轉到程式的第1條指令,即進入點(Entry

3、深入理解電腦系統筆記:程式的機器級表示

1、Intel現在稱其指令集為IA32,即Intel 32位體繫結構(Intel Architecture 32-bit),這個處理器也俗稱為“x86”。2、Linux使用了平面定址方式(flat

24、深入理解電腦系統筆記,虛擬儲存空間,動態儲存裝置器分配

1、需要額外的虛擬儲存空間時,使用一種動態儲存裝置器分配器(dynamic memory allocator)。一個動態儲存裝置器分配器維護著一個進程的虛擬儲存空間地區,稱為堆(heap)。在大多數的unix系統中,堆是一個請求二進位0的地區;對於每個進程,核心維護著一個變數brk,它指向堆的頂部。2、分配器將堆視為一組不同大小的塊(block)的集合來維護。每個塊就是一個連續的虛擬儲存空間組塊(chunk),要麼是已指派的,要麼是未分配的。1)顯式分配器(explicit allocator)

25、深入理解電腦系統筆記,虛擬儲存空間,記憶體回收

1、垃圾收集器將儲存空間視為一張有向可達圖(reachability graph)。2、Mark%Sweep垃圾收集器由標記(mark)階段和清除(sweep)階段組成。標記階區段標記出根節點的所有可達的和已指派的後繼,而後面的清除階段釋放每個被標記的已指派塊。典型地,塊頭部中閒置低位中的一位來表示這個塊是否被標記了。    Note that the arrows in this example denote memory references, and not free list

總頁數: 432 1 .... 79 80 81 82 83 .... 432 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.