TimothyZhang023 / note

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jason note

##1.程序局部性

一個編寫良好的計算機程序通常具有程序的局部性,它更傾向於引用最近引用過的數據項,或者這個數據周圍的數據——前者是時間局部性,後者是空間局部性。現代操作系統的設計,從硬件到操作系統再到應用程序都利用了程序的局部性原理:硬件層,通過cache來緩存剛剛使用過的指令或者數據,來提交對內存的訪問效率。在操作系統級別,操作系統利用主存來緩存剛剛訪問過的磁盤塊;在應用層,web瀏覽器將最近引用過的文檔放在磁盤上,大量的web服務器將最近訪問的文檔放在前端磁盤上,這些緩存能夠滿足很多請求而不需要服務器的幹預。本文主要將的是硬件層次的程序局部性。

##2.處理器存儲體系

計算機體系的儲存層次從內到外依次是寄存器、cache(從一級、二級到三級)、主存、磁盤、遠程文件系統;從內到外,訪問速度依次降低,存儲容量依次增大。這個層次關係,可以用下面這張圖來表示:

About


Languages

Language:C 89.9%Language:HTML 3.1%Language:Makefile 2.2%Language:Batchfile 1.8%Language:C++ 0.8%Language:Vim Script 0.4%Language:XS 0.4%Language:Shell 0.3%Language:Python 0.3%Language:Assembly 0.2%Language:Roff 0.2%Language:Perl 0.1%Language:Objective-C 0.1%Language:Nginx 0.1%Language:GDB 0.0%Language:QMake 0.0%Language:CMake 0.0%