cache是內存還是外存 cache與內存的區(qū)別?
cache與內存的區(qū)別?內存,內存,用于輔助CPU輸入和輸出數(shù)據(jù)操作。緩存是一種特殊的存儲器。因為主存儲器不夠快,所以使用少量非??斓浅0嘿F的存儲器來加速緩存。這是緩存。兩者都是RAM中的數(shù)據(jù)。簡而
cache與內存的區(qū)別?
內存,內存,用于輔助CPU輸入和輸出數(shù)據(jù)操作。緩存是一種特殊的存儲器。因為主存儲器不夠快,所以使用少量非常快但非常昂貴的存儲器來加速緩存。這是緩存。兩者都是RAM中的數(shù)據(jù)。簡而言之,緩沖區(qū)即將寫入磁盤,而高速緩存則從磁盤讀取。Cached用于保存讀取的數(shù)據(jù)。重新讀取時,如果命中(找到所需數(shù)據(jù)),請不要讀取硬盤。如果沒有命中,請讀取硬盤。數(shù)據(jù)將根據(jù)閱讀頻率進行組織,最常閱讀的內容將放在最容易找到的位置,不再閱讀的內容將保留在后排,直到刪除為止。實際上,cache不是文件緩沖區(qū),而是塊緩沖區(qū),它是磁盤I/O操作的最小單位(在Linux中,通常是1KB)。這樣可以緩沖目錄、超級塊、其他文件系統(tǒng)的記錄數(shù)據(jù)和非文件系統(tǒng)的磁盤數(shù)據(jù)。如果緩存的大小是固定的,那么如果緩存太大就不好了,因為它會使可用內存太小,并導致交換操作(這也很慢)。為了最有效地使用真實內存,Linux自動使用所有空閑內存作為緩存。當程序需要更多內存時,它也會自動減小緩沖區(qū)的大小。根據(jù)磁盤的讀寫情況設計緩沖區(qū),集中了分散的寫操作,減少了磁盤碎片和硬盤的重復尋道,提高了系統(tǒng)性能。Linux有一個守護進程來定期清除緩沖區(qū)內容(即寫入磁盤),也可以通過sync命令手動清除緩沖區(qū)。舉個例子:我有一個ext2u盤。我在里面放了一個3M的MP3,但是U盤上的燈不亮。過了一段時間(或手動輸入同步),U盤上的指示燈開始閃爍。卸載設備時,緩沖區(qū)會被清除,因此有時卸載設備需要幾秒鐘。緩沖區(qū)由各個進程分配,并由進程和系統(tǒng)管理。它用于輸入隊列等方面。一個簡單的例子是,一個進程需要讀入多個字段。在完全讀入所有字段之前,進程將先前讀入的字段保存在緩沖區(qū)中。緩存通常用于磁盤I/O請求。如果多個進程要訪問一個文件,則會將該文件放入緩存中,以便于下次訪問,從而提供系統(tǒng)性能。綜上所述,可以理解為緩存系統(tǒng)的管理,而緩存是由進程和系統(tǒng)共同管理的。