主存和內存的區別


拋出問題

  • 內存和主存的區別

  • 什么是磁盤IO

胡說八道

question 1

內存包括主存(內存條,基於DRAM)與高速緩存(Cache,基於SRAM)兩部分。

一、定義上的區別:

  1. 主存儲器(Main memory),簡稱主存。是計算機硬件的一個重要部件,其作用是存放指令和數據,並能由中央處理器(CPU)直接隨機存取。現代計算機是為了提高性能,又能兼顧合理的造價,往往采用多級存儲體系。

  2. 內存是計算機中重要的部件之一,它是與CPU進行溝通的橋梁計算機中所有程序的運行都是在內存中進行的,因此內存的性能對計算機的影響非常大。內存(Memory)也被稱為內存儲器,其作用是用於暫時存放CPU中的運算數據,以及與硬盤等外部存儲器交換的數據。

二、功能上的區別:

  1. 主存即由存儲容量小,存取速度高的高速緩沖存儲器,存儲容量和存取速度適中的主存儲器是必不可少的。主存儲器是按地址存放信息的,存取速度一般與地址無關。

  2. 只要計算機在運行中,CPU就會把需要運算的數據調到內存中進行運算,當運算完成后CPU再將結果傳送出來,內存的運行也決定了計算機的穩定運行內存是由內存芯片、電路板、金手指等部分組成的。

question 2

轉自:磁盤I/O那些事 - 美團技術團隊 (meituan.com)

背景

計算機硬件性能在過去十年間的發展普遍遵循摩爾定律,通用計算機的CPU主頻早已超過3GHz,內存也進入了普及DDR4的時代。然而傳統硬盤雖然在存儲容量上增長迅速,但是在讀寫性能上並無明顯提升,同時SSD硬盤價格高昂,不能在短時間內完全替代傳統硬盤。傳統磁盤的I/O讀寫速度成為了計算機系統性能提高的瓶頸,制約了計算機整體性能的發展。

硬盤性能的制約因素是什么?如何根據磁盤I/O特性來進行系統設計?針對這些問題,本文將介紹硬盤的物理結構和性能指標,以及操作系統針對磁盤性能所做的優化,最后討論下基於磁盤I/O特性設計的技巧。

硬盤的物理結構

硬盤內部主要部件為磁盤盤片、傳動手臂、讀寫磁頭和主軸馬達實際數據都是寫在盤片上,讀寫主要是通過傳動手臂上的讀寫磁頭來完成。實際運行時,主軸讓磁盤盤片轉動,然后傳動手臂可伸展讓讀取頭在盤片上進行讀寫操作。磁盤物理結構如下圖所示:

img

由於單一盤片容量有限,一般硬盤都有兩張以上的盤片,每個盤片有兩面,都可記錄信息,所以一張盤片對應着兩個磁頭。盤片被分為許多扇形的區域,每個區域叫一個扇區,硬盤中每個扇區的大小固定為512字節盤片表面上以盤片中心為圓心,不同半徑的同心圓稱為磁道,不同盤片相同半徑的磁道所組成的圓柱稱為柱面。磁道與柱面都是表示不同半徑的圓,在許多場合,磁道和柱面可以互換使用。磁盤盤片垂直視角如下圖所示:

img

image-20220225160115578

磁盤用磁頭來讀寫存儲在盤片表面的位,而磁頭連接到一個移動臂上,移動臂沿着盤片半徑前后移動,可以將磁頭定位到任何磁道上,這稱之為尋道操作。一旦定位到磁道后,盤片轉動,磁道上的每個位經過磁頭時,讀寫磁頭就可以感知到該位的值,也可以修改值。對磁盤的訪問時間分為 尋道時間旋轉時間,以及傳送時間

由於存儲介質的特性,磁盤本身存取就比主存慢很多,再加上機械運動耗費,因此為了提高效率,要盡量減少磁盤I/O,減少讀寫操作。 為了達到這個目的,磁盤往往不是嚴格按需讀取,而是每次都會預讀,即使只需要一個字節,磁盤也會從這個位置開始,順序向后讀取一定長度的數據放入內存。這樣做的理論依據是計算機科學中著名的局部性原理:當一個數據被用到時,其附近的數據也通常會馬上被使用。由於磁盤順序讀取的效率很高(不需要尋道時間,只需很少的旋轉時間),因此預讀可以提高I/O效率。

頁是計算機管理存儲器的邏輯塊,硬件及操作系統往往將主存和磁盤存儲區分割為連續的大小相等的塊,每個存儲塊稱為一頁(1024個字節或其整數倍),預讀的長度一般為頁的整倍數。主存和磁盤以頁為單位交換數據。當程序要讀取的數據不在主存中時,會觸發一個缺頁異常,此時系統會向磁盤發出讀盤信號,磁盤會找到數據的起始位置並向后連續讀取一頁或幾頁載入內存中,然后異常返回,程序繼續運行。

文件系統的設計者利用了磁盤預讀原理,將一個結點的大小設為等於一個頁(1024個字節或其整數倍),這樣每個結點只需要一次I/O就可以完全載入。那么3層的B樹可以容納102410241024差不多10億個數據,如果換成二叉查找樹,則需要30層!假定操作系統一次讀取一個節點,並且根節點保留在內存中,那么B樹在10億個數據中查找目標值,只需要小於3次硬盤讀取就可以找到目標值,但紅黑樹需要小於30次,因此B樹大大提高了IO的操作效率。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM