1. 文件順序存取與隨機存取的主要區別是什麼它們對有結
文件的存取方法分為順序存取和直接存取。一般來說,對順序存取的文件,文件系統可把它組織成順序文件和鏈接文件;對於隨機存取的文件,文件系統可把它組織成索引文件。但索引文件也可以進行順序存取。
1、隨機存取(有時亦稱直接訪問)代表同一時間訪問一組序列中的一個隨意組件。反之則稱循序訪問,即是需要更多時間去訪問一個遠程組件。隨機存取存儲器的基本結構可分為三個部分:存儲矩陣,地址解碼器,讀寫電路。
2、直接存取,訪問時讀寫不見先直接指向一個小區域,再在該區域內
順序查找,訪問時間與數據位置有關(
磁碟)
2. 順序存儲結構的特點是什麼
(1)利用數據元素的存儲位置表示線性表中相鄰數據元素之間的前後關系,即線性表的邏輯結構與存儲結構(物理結構)一致,邏輯位置相鄰,存儲位置也相鄰。
(2)在訪問順序存儲的線性表時,可以利用公式(2-2),快速地計算出任何一個數據元素的存儲地址。因此,可以粗略地認為,訪問每個數據元素所花費的時間相等。這種存取元素的方法稱為隨機存取法,使用這種存取方法的存儲結構稱為隨機存儲結構。
3. 順序存儲方式能用於存儲什麼結構的數據
不是
順序存儲方式不僅能用於存儲線性結構,還可以用來存放非線性結構,例如完全二叉樹是屬於非線性結構,但其最佳存儲方式是順序存儲方式
4. 順序文件採用順序結構實現文件的存儲
C,順序文件不適合用於一些需要經常修改的文件,順序文件最好要求讀寫順序與輸入順序相同,即先進先出,後進後出。
5. 數據結構中的「順序存儲結構」為什麼會有碎片產生碎片是如何產生的為什麼鏈式存儲結構沒有碎片
順序存儲如「數組」、「文件」等,一旦你要刪除元素,就會產生碎片,
產生的原因,是刪除留下空洞,要往前搬家才能消除碎片,而元素移動
會消耗時間。
鏈式存儲是指針相聯,刪除元素只要改變指針指向,不會留下碎片。
6. 簡述計算機存儲系統的三級存儲體系概念
計算機存儲器包括主存(main memory),輔存(mass storage)和寄存器(register)。主存就是平時所說的內存,計算機運行時操作系統和其它進程的代碼存儲在其中。輔存主要指硬碟,也包括其它輔助存儲設備,如軟盤,U盤,光碟等,可以存放大量數據。寄存器位於CPU內,在指令執行時起臨時存放作用。
寄存器和主存、主存和輔存之間存在不停的數據傳輸和交流,其速度和容量就影響了計算機的性能。如果寄存器和主存之間每條指令和每個數據都進行一次傳輸,那麼計算機的運行速度就受到限制。因此出現了高速緩沖存儲器(cache memory),用於成批處理寄存器內的數據,以同主存進行交流。而且頻繁使用的數據,CPU可以直接從高速緩存中讀取,減少CPU的等待時間,提高系統效率。內存的容量有限,有時不能一次載入硬碟中所需的數據,這里會出現虛擬存儲(virtual memory)的概念。虛擬存儲是指當要接收的數據超過內存容量時,系統會在硬碟內分配足夠的空間存儲這些數據,再把這些數據分成很多頁(page),再根據需要實時地把一定的頁載入內存,這樣用戶感覺內存的容量就比真實的容量偏大。
另外,緩沖區(buffer)是用於存儲速度不同步的設備或優先順序不同的設備之間傳輸數據的區域,使進程之間的相互等待變少,從而使從速度慢的設備讀入數據時,速度快的設備的操作進程不發生間斷。
這里再順便說下離線(spooling)的概念。離線是指當多個進程要求同時使用非共享資源如列印機時,系統會根據需求把所有的數據同時讀取到硬碟,再在列印機上逐個列印,這樣給用戶的感覺就是一台列印機同時列印多個進程包含的文件。
以下引用主要區別高速緩存(cache)和緩沖區(buffer):
Cache:高速緩存,是位於CPU與主內存間的一種容量較小但速度很高的存儲器。由於CPU的速度遠高於主內存,CPU直接從內存中存取數據要等待一定時間周期, Cache中保存著CPU剛用過或循環使用的一部分數據,當CPU再次使用該部分數據時可從Cache中直接調用,這樣就減少了CPU的等待時間,提高了系統的效率。Cache又分為一級Cache(L1 Cache)和二級Cache(L2 Cache),L1 Cache集成在CPU內部,L2 Cache早期一般是焊在主板上,現在也都集成在CPU內部,常見的容量有256KB或512KB L2 Cache。
Buffer:緩沖區,一個用於存儲速度不同步的設備或優先順序不同的設備之間傳輸數據的區域。通過緩沖區,可以使進程之間的相互等待變少,從而使從速度慢的設備讀入數據時,速度快的設備的操作進程不發生間斷。
Buffer和cache都是佔用內存:
Buffer: 作為buffer cache的內存,是塊設備的讀寫緩沖區
Cache: 作為page cache的內存, 文件系統的cache
如果cache的值很大,說明cache住的文件數很多。如果頻繁訪問到的文件都能被cache住,那麼磁碟的讀IO bi會非常小。
7. linux的ext2文件系統是按什麼方式存儲數據的順序、鏈表、隨機急、、、、謝謝!!!
Linux ext2/ext3文件系統使用索引節點來記錄文件信息,作用像windows的文件分配表。索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、許可權、所屬關系、磁碟中的位置等信息。一個文件系統維護了一個索引節點的數組,每個文件或目錄都與索引節點數組中的唯一一個元素對應。系統給每個索引節點分配了一個號碼,也就是該節點在數組中的索引號,稱為索引節點號。 linux文件系統將文件索引節點號和文件名同時保存在目錄中。所以,目錄只是將文件的名稱和它的索引節點號結合在一起的一張表,目錄中每一對文件名稱和索引節點號稱為一個連接。對於一個文件來說有唯一的索引節點號與之對應,對於一個索引節點號,卻可以有多個文件名與之對應。因此,在磁碟上的同一個文件可以通過不同的路徑去訪問它。
8. 順序存儲結構針對什麼結構順序存儲結構能存什麼順序存儲結構的特徵是什麼
順序存儲一般使用數組實現。存的當然是節點,節點是你自己定義的數據類型,特徵:隨機存取,佔用連續的存儲空間,靜態分配,存儲密度等於1等等。
9. 什麼是順序存儲器
按存儲方式分
隨機存儲器:任何存儲單元的內容都能被隨機存取,且存取時間和存儲單元的物理位置無關。
順序存儲器:只能按某種順序來存取,存取時間和存儲單元的物理位置有關。
10. 常用的文件系統類型有哪些
常見的文件系統有FAT、NTFS、ExtFAT、ext2、ext3、reiserFS、VFAT、APFS。
1、FAT文件系統。
FAT文件系統誕生於1977年,它最初是為軟盤設計的文件系統,但是後來隨著微軟推出dos和win 9x系統,FAT文件系統經過適配被逐漸用到了硬碟上,並且在那時的20年中,一直是主流的文件系統。
2、NTFS文件系統。
它是一種比FAT32功能更加強大的文件系統,從windows 2000之後的windows系統的默認文件系統都是NTFS,而且這些windows系統只能夠安裝在NTFS格式的磁碟上。NTFS系統是一個日誌性的文件系統,系統中對文件的操作都可以被記錄下來,當系統崩潰之後,利用日誌功能可以修復數據。
3、ExtFAT文件系統。
ExFAT也是微軟開發的文件系統,它是專門為快閃記憶體檔設計的文件系統,單個文件突破了4G的限制,而且分區的最大容量可達64ZB,建議512TB。 ExFAT在windows,Linux以及Mac系統上,都可以讀寫,作為U盤或者是移動硬碟的格式還是比較合適的。
4、ext2文件系統。
ext2是為解決ext文件系統的缺陷而設計的可擴展的、高性能的文件系統,又被稱為二級擴展文件系統。它是Linux文件系統中使用最多的類型,並且在速度和CPU利用率上較為突出。ext2存取文件的性能極好,並可以支持256位元組的長文件名,是GNU/Linux系統中標準的文件系統。
5、ext3文件系統。
ext3是ext2文件系統的日誌版本,它在ext2文件系統中增加了日誌的功能。ext3提供了3種日誌模式:日誌(journal)、順序(ordered)和回寫(writeback)。與ext2相比,ext3提供了更好的安全性以及向上向下的兼容性能。
6、reiserFS文件系統。
reiserFS是Linux環境下最穩定的日誌文件系統之一,使用快速的平衡二叉樹(binary tree)演算法來查找磁碟上的自由空間和已有的文件,其搜索速度高於ext2,reiserFS能夠像其他大多數文件系統一樣,可動態的分配索引節,而無須在文件系統中創建固定的索引節。
7、VFAT文件系統。
VFAT主要用於處理長文件的一種文件名系統,它運行在保護模式下並使用VCACHE進行緩存,並具有和Windows系列文件系統和Linux文件系統兼容的特性。因此VFAT可以作為Windows和Linux交換文件的分區。
8、APFS文件系統。
APFS是蘋果公司發布的新的文件格式,替代目前所使用的HFS+格式。這一全新文件系統專門針對快閃記憶體/SSD進行優化,提供了更強大的加密、寫入時復制元數據、空間分享、文件和目錄克隆、快照、目錄大小快速調整、原子級安全存儲基元,以及改進的文件系統底層技術。