主機上靜態存儲器和隨機存儲存儲器

今天學習了一些電腦關於存儲的知識:ROM和RAM。有了一定的瞭解,就寫出來一下。因爲在nginx和varnish上也有用到這兩個知識,一個是根據內存,一個是根據硬盤對數據進行緩存。
ROM(只讀存儲器)在斷電之後數據也不會消失,一般用來存儲系統文件,和軟件數據。
RAM(隨機存儲存儲器)斷電之後數據會消失,內存,cache,buffer,都是這類的存儲。
RAM又有sram,dram,靜態ram一般指的是cache,動態ram一般指的就是內存,buffer之類數據。
由於cpu的工作頻率和cpu的工作頻率不同,在內存中讀取數據,會比較慢,內存跟不上cpu的步驟,所以在cpu和內存之間有cache可以提高cpu讀取的效率,但造價高,體積大。而且在cache中讀取數據還會有命中的概率問題,有的請求在cache中找不到,一般的命中率在80左右,所以又會有一級和二級緩存的區別,在一級緩存中找不到的請求可以在二級緩存中尋找。如果都找不着就需要在內存中去尋找了,而內存是cpu尋找的數據的存放場所,所以內存是不可缺少的。而且內存的容量是cache無法比擬的。
buffer(緩衝)是爲了提高內存和硬盤(或其他I/O設備)之間的數據交換的速度而設計的,避免了程序在盡心讀寫的時候的很多分散的操作都要去進行。將操作集中進行,減少磁盤碎片和硬盤的反覆尋道,從而提高系統性能。
簡單來說,buffer是即將要被寫入磁盤的,而cache是被從磁盤中讀出來的。 buffer是由各種進程分配的,被用在如輸入隊列等方面。一個簡單的例子如某個進程要求有多個字段讀入,在所有字段被讀入完整之前,進程把先前讀入的字段放在buffer中保存。

cache經常被用在磁盤的I/O請求上,如果有多個進程都要訪問某個文件,於是該文件便被做成cache以方便下次被訪問,這樣可提高系統性能

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章