⑴ 電腦怎麼分盤
電腦分盤具體步驟:
1、打開電腦,然後右鍵單擊桌面的計算機,在彈出的對話框選擇管理。
(1)文件是如何被分塊存儲在磁碟上的擴展閱讀
硬碟分區之後,會形成3種形式的分區狀態;即主分區、擴展分區和非DOS分區。
非DOS分區
在硬碟中非DOS分區(Non-DOS Partition)是一種特殊的分區形式,它是將硬碟中的一塊區域單獨劃分出來供另一個操作系統使用,對主分區的操作系統來講,是一塊被劃分出去的存儲空間。只有非DOS分區的操作系統才能管理和使用這塊存儲區域。
主分區
主分區則是一個比較單純的分區,通常位於硬碟的最前面一塊區域中,構成邏輯C磁碟。其中的主引導程序是它的一部分,此段程序主要用於檢測硬碟分區的正確性,並確定活動分區,負責把引導權移交給活動分區的DOS或其他操作系統。此段程序損壞將無法從硬碟引導,但從軟碟機或光碟機引導之後可對硬碟進行讀寫。
擴展分區
而擴展分區的概念是比較復雜的,極容易造成硬碟分區與邏輯磁碟混淆;分區表的第四個位元組為分區類型值,正常的可引導的大於32mb的基本DOS分區值為06,擴展的DOS分區值是05。如果把基本DOS分區類型改為05則無法啟動系統 ,並且不能讀寫其中的數據。
⑵ 扇區、磁碟塊、頁。磁碟是如何存儲數據的:磁碟的物理結構
扇區,sector
硬碟的讀寫以扇區為基本單位。磁碟上的每個磁軌被等分為若干個弧段,這些弧段稱之為扇區。硬碟的物理讀寫以扇區為基本單位。通常情況下每個扇區的大小是 512 位元組。linux 下可以使用 fdisk -l 了解扇區大小:
$ sudo /sbin/fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7d9f5643
其中 Sector size,就是扇區大小,本例中為 512 bytes。
注意,扇區是磁碟物理層面的概念,操作系統是不直接與扇區交互的,而是與多個連續扇區組成的磁碟塊交互。由於扇區是物理層面的概念,所以無法在系統中進行大小的更改。
磁碟塊,IO Block
文件系統讀寫數據的最小單位,也叫磁碟簇。扇區是磁碟最小的物理存儲單元,操作系統將相鄰的扇區組合在一起,形成一個塊,對塊進行管理。每個磁碟塊可以包括 2、4、8、16、32 或 64 個扇區。磁碟塊是操作系統所使用的邏輯概念,而非磁碟的物理概念。磁碟塊的大小可以通過命令 stat /boot 來查看:
$ sudo stat /boot
File: /boot
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 655361 Links: 3
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-06 20:19:45.487160301 +0800
Modify: 2019-07-06 20:19:44.835160301 +0800
Change: 2019-07-06 20:19:44.835160301 +0800
Birth: -
其中 IO Block 就是磁碟塊大小,本例中是 4096 Bytes,一般也是 4K。
為了更好地管理磁碟空間和更高效地從硬碟讀取數據,操作系統規定一個磁碟塊中只能放置一個文件,因此文件所佔用的空間,只能是磁碟塊的整數倍,那就意味著會出現文件的實際大小,會小於其所佔用的磁碟空間的情況。
test2.txt是一個只包含一個字母的文本文檔。它的理論大小是一個位元組,但是由於系統的磁碟塊大小是4KB(文件的最小存儲大小單位),所以test2.txt占據的磁碟實際空間是4KB
操作系統不能對磁碟扇區直接定址操寫,主要原因是扇區數量龐大,因此才將多個連續扇區組合一起操作。磁碟塊的大小是可以通過blockdev命令更改的。
頁,page
內存的最小存儲單位。頁的大小通常為磁碟塊大小的 2^n 倍,可以通過命令 getconf PAGE_SIZE 來獲取頁的大小:
$sudo getconf PAGE_SIZE
4096
本例中為 4096 Bytes,與磁碟塊大小一致。
總結兩個邏輯單位:
頁,內存操作的基本單位
磁碟塊,磁碟操作的基本單位
命令索引
扇區大小,fdisk -l
磁碟塊大小,stat /boot
內存頁大小,getconf PAGE_SIZE
硬碟是如何存儲數據的:硬碟的物理結構
提示:硬碟分為機械硬碟和固態硬碟這2種。這里只講解機械硬碟,固態硬碟的存儲另當別論。
要想知道硬碟是如何存儲數據的,就先明白硬碟的物理結構。
1、名稱機械硬碟,由於信息載體為磁性物質,故又稱磁碟。 2、硬碟主要結構在硬碟盒裡面其實是由許許多多的圓形碟片、機械手臂、磁頭與主軸馬達所組成的。 3、工作情形實際的數據都是寫在具有磁性物質的碟片上,而讀寫主要是通過在機械手臂上的磁頭(head)來達成。實際運行時, 主軸馬達讓碟片轉動,然後機械手臂可伸展讓磁頭在碟片上頭進行讀寫的動作。
4、各主要部件說明(1)碟片和主馬達主馬達就是一個小電機,作用是讓碟片轉動起來。通常數據寫入當然就是以圓圈轉圈的方式讀寫啰!
對於機械硬碟,最重要的結構是這些兩面塗有磁性材料的碟片,在工作時會以每分鍾7200轉的速度旋轉。碟片的作用是記錄數據,在碟片上有序的排列了很多的小顆粒材料,它們都是磁性物質,可以被永久磁化和改變磁極,這兩個磁極就分別表示了計算機二進制中的0和1。由於碟片是轉動後讀寫數據的,所以,當初設計就是在類似碟片同心圓上面切出一個一個的小區塊,這些小區塊整合成一個圓形,讓機器手臂上的磁頭去存取。這個小區塊就是磁碟的最小物理儲存單位,稱之為扇區 (sector),那同一個同心圓的扇區組合成的圓就是所謂的磁軌(track)。 扇區容量:原本硬碟的扇區都是設計成 512Byte(即0.5KB) 的容量,但因為近期以來硬碟的容量越來越大,為了減少數據量的拆解,所以新的大容量硬碟已經有 4KByte(即4KB)的扇區設計! 由於單一碟片的容量有限,因此有的硬碟內部會有兩個以上的碟片喔!由於磁碟裡面可能會有多個碟片,因此在所有碟片上面的同一個磁軌可以組合成所謂的柱面 (cylinder)。 數據存儲在碟片上的一個個扇區中。
1)1個扇區(磁軌)可存儲512Bytes的數據量;
2)一個平面中同一半徑下的多個扇區共同組成了1個磁軌;
3)一個碟片有2個盤面,每個盤面都對應一個磁頭,負責讀寫數據;
4)一個硬碟可以有多個碟片;
5)同一半徑下的多個磁軌共同組成了1個柱面。
(2)磁頭和機械手臂機械手臂的作用是控制來回磁頭移動。磁頭的作用是在碟片上讀寫數據。磁頭通過改變碟片上小顆粒磁性物質的磁極方向來完成寫入數據的功能,通過感知碟片上磁性物質的磁極方向來完成讀取數據的功能。
5、扇區中是如何表示01數據的?
硬碟是在硬質碟片(一般是鋁合金,以前 IBM 也嘗試過使用玻璃)上塗敷薄薄的一層鐵磁性材料。這些磁粉被劃分成稱為磁軌的若干個同心圓,在每個同心圓的磁軌上就好像有無數的任 意排列的小磁鐵,它們分別代表著0和1的狀態。當這些小磁鐵受到來自磁頭的磁力影響時,其排列的方向會隨之改變。利用磁頭的磁力控制指定的一些小磁鐵方 向,使每個小磁鐵都可以用來儲存信息。寫入時,磁頭線圈上加電,在周圍產生磁場,磁化其下的磁性材料;電流的方向不同,所以磁場的方向也不同,可以表示 0 和 1 的區別。讀取時,磁頭線圈切割磁場線產生感應電流,磁性材料的磁場方向不同,所以產生的感應電流方向也不同。
================================優美的分割線===================================
延伸:固態硬碟的存儲原理(微觀)
接下來來講固態硬碟,相比較於機械硬碟裡面的各種機械結構,固態硬碟就沒有太多的機械機構;它主要是靠FLASH晶元來作為儲存數據的介質;由主控晶元來承擔數據的中轉,還有調配數據儲存在快閃記憶體晶元上面
FLASH晶元儲存數據的方式也不是太難理解,就是FLASH晶元裡面分出了很多儲存單元,這些儲存單元裡面有電子的位置;當一顆電子的位置裡面沒有存放電子,它就是0;如果存放了電子,它就是1 參考:
https://zhuanlan.hu.com/p/117375905 https://www.cnblogs.com/andy9468/p/11091115.html
⑶ 數據存儲在磁碟上,其原理是什麼
文件在磁碟上的存儲就像是一個鏈表,表頭是文件的起始地址,整個文件並不一定是連續的,而是一個節點一個節點的連接起來的。要訪問某個文件時,只要找到表頭就行了。刪除文件時,其實只是把表頭刪除了,後面的數據並沒有刪除,直到下一次進行寫磁碟操作需要佔用節點所在位置時,才會把相應的數據覆蓋掉。數據恢復軟體正是利用了這一點。所以,就算你誤刪了文件之後又進行了其他寫磁碟操作,只要沒有覆蓋掉那些數據,都是可以恢復的。
文件之所以能被恢復,須從文件在硬碟上的數據結構和文件的儲存原理談起。新買回的硬碟需分區、格式化後才能安裝系統使用。一般要將硬碟分成主引導扇區、操作系統引導扇區、文件分配表(FAT)、目錄區(DIR)和數據區(Data)五部分。
在文件刪除與恢復中,起重要作用的是「文件分配表」的「目錄區」,為安全起見,系統通常會存放兩份相同的FAT;而目錄區中的信息則定位了文件數據在磁碟中的具體保存位置——它記錄了文件的起始單元(這是最重要的)、文件屬性、文件大小等。
在定位文件時,操作系統會根據目錄區中記錄的起始單元,並結合文件分配表區知曉文件在磁碟中的具體位置和大小。
實際上,硬碟文件的數據區盡管佔了絕大部分空間,但如果沒有前面各部分,它實際上沒有任何意義。
人們平常所做的刪除,只是讓系統修改了文件分配表中的前兩個代碼(相當於作了「已刪除」標記),同時將文件所佔簇號在文件分配表中的記錄清零,以釋放該文件所佔空間。因此,文件被刪除後硬碟剩餘空間就增加了;而文件的真實內容仍保存在數據區,它須等寫入新數據時才被新內容覆蓋,在覆蓋之前原數據是不會消失的。恢復工具(如FinalData等)就是利用這個特性來實現對已刪除文件的恢復。
對硬碟分區和格式化,其原理和文件刪除是類似的,前者只改變了分區表信息,後者只修改了文件分配表,都沒有將數據從數據區真正刪除,所以才會有形形色色的硬碟數據恢復工具。
那麼,如何讓被刪除的文件無法恢復呢?很多朋友說,將文件刪除後重新寫入新數據,反復多次後原始文件就可能找不回啦。但操作起來比較麻煩,而且不夠保險。
因此,最好能藉助一些專業的刪除工具來處理,可以自動重寫數據N次,讓原始數據面貌全非 .
⑷ 簡述磁碟文件目錄的結構和種類
文件目錄結構包含:文件名、文件內部標識、文件的類型、文件存儲地址、文件的長度、訪問許可權、建立時間和訪問時間等內容。
文件目錄分為一級目錄、二級目錄和多級目錄。多級目錄結構也稱為樹形結構,在多級目錄結構中,每一個磁碟有一個根目錄,在根目錄中可以包含若乾子目錄和文件,在子目錄中不但可以包含文件,而且還可以包含下一級子目錄,這樣類推下去就構成了多級目錄結構。
(4)文件是如何被分塊存儲在磁碟上的擴展閱讀
文件目錄是為實現「按名存取」,必須建立文件名與輔存空間中物理地址的對應關系,體現這種對應關系的數據結構稱為文件目錄。每一個文件在文件目錄中登記一項,作為文件系統建立和維護文件的清單。
一個計算機系統中有成千上萬個文件,為了便於對文件進行存取和管理,計算機系統建立文件的索引,即文件名和文件物理位置之間的映射關系,這種文件的索引稱為文件目錄。
採用多級目錄結構的優點是用戶可以將不同類型和不同功能的文件分類儲存,既方便文件管理和查找,還允許不同文件目錄中的文件具有相同的文件名,解決了一級目錄結構中的重名問題。Windows、UNIX、Linux和DOS等操作系統採用的是多級目錄結構。
⑸ 文件存儲空間管理
上篇文章介紹了文件的物理結構並介紹了文件分配的三種方式——連續分配、鏈接分配和索引分配。
本文介紹操作系統對文件存儲空間的管理。
本文內容
存儲空間的劃分: 將物理磁碟劃分為一個個文件卷(邏輯卷、邏輯盤) 。
在存儲空間初始化時,需要將各個文件卷劃分為目錄區、文件區。
有些系統支持超大型文件,可支持由多個物理磁碟組成一個文件卷。
空閑表法:即用一張表記錄磁碟中空閑的盤塊。空閑表的表項由 空閑盤的起始塊號 和 空閑盤塊數 組成。如下圖所示
如何分配磁碟塊:與內存管理中的動態分區分配類似,為一個文件分配連續的存儲空間。同樣可以採用 首次適應演算法、最佳適應演算法、最壞適應演算法,臨近適應演算法 來決定要為文件分配哪些區間。
空閑表法適用於連續分配方式。
例如,如果新創建的文件請求3個塊,按照首次適用演算法,從10號塊開始有5個連續的塊可以滿足需求,所以把10、11、12三個塊分配給文件,分配後的空閑盤塊表如下
這里以回收區前後都是空閑區為例,磁碟是第一幅圖的狀態,如果回收21、22號磁碟塊,那麼回收後的空閑盤塊表如下圖所示。
空閑鏈表法分為兩種: 空閑盤塊鏈和空閑盤區鏈
下圖分別表示空閑盤塊鏈和空閑盤區鏈。
操作系統保存著 鏈頭、鏈尾指針。
如何分配:如過某文件申請K個盤塊,則從鏈頭開始依次摘下K個盤塊分配,並修改空閑鏈的鏈頭指針。
如何回收:回收的盤塊依次掛到鏈尾,並修改空閑鏈的鏈尾指針。
下圖表示分配了3個盤塊
從上面可以看出,空閑盤塊法適用於 離散分配 的物理結構。為文件分配多個盤塊時可能要重復多次操作。
操作系統保存著 鏈頭、鏈尾指針 。
如何分配:若某文件申請K個盤塊,由於空閑盤區鏈將連續的盤塊組成一個盤區,所以若某個盤區大小滿足可以實現一次分配,同樣可以採用首次適用、最佳適用等演算法,從鏈頭開始檢索,按照一定的規則找到一個大小符合要求的空閑盤區分配給文件。若沒有合適的連續空閑塊,也可以將不同的盤區的盤同時分配給一個文件,同樣分配後也需要修改相應的指針鏈和盤區大小等數據。
如何回收:若回收區和某個空閑盤區相鄰,則需要將回收區合並到空閑盤區中。若回收區沒有和任何空閑區相鄰,將回收區作為一個單獨的一個空閑盤區掛到鏈尾。同樣也需要修改鏈表指針和盤區大小等信息。
下圖表示按照首次適用演算法分配3個盤區
從上面可以看出,空閑盤區鏈對 離散分配、連續分配 都適用。為一個文件分配多個盤塊時 效率更高 。
位示圖:磁碟內存被劃分為一個個磁碟塊,可以用二進制位對應一個盤塊。「0」代表盤塊空閑,「1」代表盤塊已分配。位示圖一般用連續的「字」來表示,下圖中一個字的字長是16位,字中的每一位對應一個盤塊。因此可以用(字型大小,位號)對應一個盤塊號。
如何分配:若文件需要K個塊,①順序掃描位示圖,找到K個相鄰或不相鄰的「0」;②根據字型大小、位號算出對應的盤塊號,將相應的盤塊分配給文件;③將相應的位設置為「1」。
如何回收:①根據回收的盤塊號計算出對應的字型大小、位號;②將相應的二進制位設置為「0」。
從上面可以看出:位示圖法對 連續分配和離散分配 都適用。
空閑表法、空閑鏈表法不適用大型文件系統,因為空閑表或空閑聯保可能過大。UNIX系統中採用了 成組鏈接法 對磁碟空閑塊進行管理。這是將上述兩種方法相結合的而形成的一種空閑管理方法。
文件卷的目錄區中專門用一個磁碟塊作為 超級塊 ,當系統啟動時需要將 超級塊讀入內存 。並且要保證與外存中的「超過塊」的數據一致。
內存的分配過程:分配過程是從棧頂取出一空閑盤塊號,將與之對應的盤塊分配給用戶,然後將棧頂指針下移一格,若該盤塊號已是棧底(即第一個盤塊),這是當前棧中最後一個可分配的盤塊號。由於在該盤塊號所對應的盤塊中記有下一組可用的盤塊號,因此,不能直接將它分配掉,需要將它記錄的下一組信息保存下來,所以比須調用磁碟讀過程,將棧底盤塊號所對應盤塊的內容讀入棧中,作為新的盤塊號棧的內容,並把原棧底對應的盤塊分配出去(其中的有用數據已讀入棧中)。然後,再分配一相應的緩沖區(作為該盤塊的緩沖區)。最後,把棧中的空閑盤塊數減1 並返回。
下面舉例說明
如果此時新建一個文件需要一個磁碟塊,那麼此時第一組有100個空閑塊,所以是足夠分配的,將棧頂的盤塊號即201號盤塊對應的盤塊分配出去,如下圖
如果此時又創建一個新的文件,需要99個磁碟塊,就需要將剩下的99個盤塊全部分配出去,但是此時300號盤塊記錄了下一組信息,如果分配出去,信息就是丟失,所以需要將300號盤塊從外存(磁碟)讀入內存,將300號盤塊記錄的信息,寫入空閑盤塊號棧,然後才能將這99塊空閑塊分配出去。具體過程如下圖所示
內存的回收過程:在系統回收空閑盤塊時,須調用盤塊回收過程進行回收。它是將回收盤塊的盤塊號記入空閑盤塊號棧的頂部,並執行空閑盤塊數加 1 操作。當棧中空閑盤塊號數目已達 100 時,表示棧已滿,便將現有棧中的100 個盤塊號記入新回收的盤塊中,再將其盤塊號作為新棧底。
以分配的第一個圖為例,201盤塊被分配出去了,如果此刻有個文件被刪除了,其佔用的盤塊是199號,系統需要回收這個盤塊,發現此時空閑盤塊號棧中記錄空閑塊數為99,直接將盤塊號記錄棧頂,將空閑盤塊數加1即可。
如果此時又有一個文件被刪除了,其佔用的盤塊是190,此時空閑盤塊號數已經達到100了,就需要將現在空閑盤塊棧中信息記入新回收的塊中。