存儲磁碟上
⑴ 數據存儲在磁碟上,其原理是什麼
文件在磁碟上的存儲就像是一個鏈表,表頭是文件的起始地址,整個文件並不一定是連續的,而是一個節點一個節點的連接起來的。要訪問某個文件時,只要找到表頭就行了。刪除文件時,其實只是把表頭刪除了,後面的數據並沒有刪除,直到下一次進行寫磁碟操作需要佔用節點所在位置時,才會把相應的數據覆蓋掉。數據恢復軟體正是利用了這一點。所以,就算你誤刪了文件之後又進行了其他寫磁碟操作,只要沒有覆蓋掉那些數據,都是可以恢復的。
文件之所以能被恢復,須從文件在硬碟上的數據結構和文件的儲存原理談起。新買回的硬碟需分區、格式化後才能安裝系統使用。一般要將硬碟分成主引導扇區、操作系統引導扇區、文件分配表(FAT)、目錄區(DIR)和數據區(Data)五部分。
在文件刪除與恢復中,起重要作用的是「文件分配表」的「目錄區」,為安全起見,系統通常會存放兩份相同的FAT;而目錄區中的信息則定位了文件數據在磁碟中的具體保存位置——它記錄了文件的起始單元(這是最重要的)、文件屬性、文件大小等。
在定位文件時,操作系統會根據目錄區中記錄的起始單元,並結合文件分配表區知曉文件在磁碟中的具體位置和大小。
實際上,硬碟文件的數據區盡管佔了絕大部分空間,但如果沒有前面各部分,它實際上沒有任何意義。
人們平常所做的刪除,只是讓系統修改了文件分配表中的前兩個代碼(相當於作了「已刪除」標記),同時將文件所佔簇號在文件分配表中的記錄清零,以釋放該文件所佔空間。因此,文件被刪除後硬碟剩餘空間就增加了;而文件的真實內容仍保存在數據區,它須等寫入新數據時才被新內容覆蓋,在覆蓋之前原數據是不會消失的。恢復工具(如FinalData等)就是利用這個特性來實現對已刪除文件的恢復。
對硬碟分區和格式化,其原理和文件刪除是類似的,前者只改變了分區表信息,後者只修改了文件分配表,都沒有將數據從數據區真正刪除,所以才會有形形色色的硬碟數據恢復工具。
那麼,如何讓被刪除的文件無法恢復呢?很多朋友說,將文件刪除後重新寫入新數據,反復多次後原始文件就可能找不回啦。但操作起來比較麻煩,而且不夠保險。
因此,最好能藉助一些專業的刪除工具來處理,可以自動重寫數據N次,讓原始數據面貌全非 .
⑵ 磁碟上怎麼存儲NULL值
NULL值列表,一行數據里可能有的欄位值是NULL,比如nickname欄位,允許為NULL,存儲時,如果沒賦值,這欄位值就是NULL。
假設這個欄位的NULL值在磁碟存儲時,就是按「NULL」字元串存儲的,是不是很浪費存儲空間而且還奇怪?
不通過字元串,而是通過二進制bit位存儲,一行數據里假設有多個欄位的值都是NULL,那麼這多個欄位的NULL,就會以bit位形式存放在NULL值列表。
如下表:
有4個變長欄位,還有個定長欄位,name聲明NOT NULL,其他4個欄位都可能NULL
如下一行數據怎麼存儲在磁碟呢:
有倆欄位都是NULL
思考上面那個表裡的那行案例數據,在磁碟上如何存儲呢,因為他有多個變長欄位,還有多個欄位允許為NULL。首先我們先回顧一下,一行數據在磁碟上的存儲格式應該是下面這樣的:
4個變長欄位,逆序先放school欄位的長度,再放job、address、name幾個欄位的值長度?
但要區分一個問題,若這變長欄位值為NULL,就不用在變長欄位長度列表裡存放他的值長度,所以在上面那行數據,只有name和school兩個變長欄位有值,把他們的長度按照逆序放在變長欄位長度列表即可:
所有允許值為NULL的欄位,不是說值就得是NULL,只要是允許為NULL的欄位,每個欄位都有個二進制bit位值:
比如上面4個欄位都允許為NULL,每個人都會有一個bit位,這一行數據的值是
其中2個欄位是null,2個欄位不是null,所以4個bit位應該是:1010
但實際放在NULL值列表時,按逆序放,所以NULL值列表裡放的:0101,整體這一行數據如下:
實際NULL值列表存放時,一般起碼8個bit位的倍數,不足8個bit位就高位補0,所以實際存放如下:
磁碟數據存儲格式:
先讀:
從變長欄位長度列表中解析出不為NULL的變長欄位的值長度,然後也知道哪些欄位是NULL。根據這些信息,就能從實際的列值存儲區域里,把你每個欄位的值讀取出來了。
⑶ 存在磁碟上的信息,以什麼的形式存放
以「二進制數」的形式存儲
二進制是計算技術中廣泛採用的一種數制。二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」。
二進制數(binaries)是逢2進位的進位制,0、1是基本算符;計算機運算基礎採用二進制。電腦的基礎是二進制。在早期設計的常用的進制主要是十進制(因為我們有十個手指,所以十進制是比較合理的選擇,用手指可以表示十個數字,0的概念直到很久以後才出現,所以是1-10而不是0-9)。
電子計算機出現以後,使用電子管來表示十種狀態過於復雜,所以所有的電子計算機中只有兩種基本的狀態,開和關。
也就是說,電子管的兩種狀態決定了以電子管為基礎的電子計算機採用二進制來表示數字和數據。常用的進制還有8進制和16進制,在電腦科學中,經常會用到16進制,而十進制的使用非常少,這是因為16進制和二進制有天然的聯系:4個二進制位可以表示從0到15的數字,這剛好是1個16進制位可以表示的數據,也就是說,將二進制轉換成16進制只要每4位進行轉換就可以了。
⑷ 一個文件如何被分塊存儲在磁碟上
數據存儲在硬碟的時候都以簇位單位簇的配置Windows9x/Me系統中常用的文件簇通常為FAT16或者FAT32格式比如一個256M的硬碟空間可以有數種配置簇的方式:簇大小=4KB:256MB/4KB=655356個簇簇大小=8KB:256MB/8KB=32768個簇簇大小=16KB:256MB/16KB=16384個簇簇大小=32KB:256MB/32KB=8192個簇對於WindowsNT/2000/XP特有的NTFS文件系統來說,雖然也是採用簇方式來存儲數據,但它卻和FAT16/FAT32有著明顯的不同。當分區空間大於2GB的時候,無論硬碟有多大,簇的大小一律維持在4KB。由於簇容量小,所以無論存儲何種類型的文件都不會浪費太多的硬碟空間,這也使得整個硬碟的空間利用率得到了極大的提高。
⑸ 信息是以什麼形式存儲在磁碟上的
計算機的外部存儲器中也採用了類似磁帶的裝置,比較常用的一種叫磁碟。
將圓形的磁性碟片裝在一個方的密封盒子里,這樣做的目的是為了防止磁碟表面劃傷,導致數據丟失。
硬碟:增將圓形的磁性碟片裝在一個方的密封盒子里 有了磁碟之後,人們使用計算機就方便多了,不但可以把數據處理結果存放在磁碟中,還可以把很多輸入到計算機中的數據存儲到磁碟中,這樣這些數據可以反復使用,避免了重復勞動。
可是不久之後,人們又發現了另一個問題:人們要存儲到磁碟上的內容越來越多,眾多的信息存儲在一起,很不方便。這樣就導致了文件的產生。
只有低格才對硬碟有很大的傷害,其它的讀寫是不要緊的
磁碟設備
磁碟設備應包括磁碟驅動器、適配器及碟片,它們既可以作為輸入設備,也可作為輸出設備或稱載體。控制軟盤讀和寫,即輸入或輸出是由磁碟驅動器及其適配器來完成的,從功能上來說,一台磁碟設備與一台錄放機的作用是相同的,一盤錄音帶可反復地錄音,那麼軟碟片或硬碟片,或稱信息載體,也可以反復地被改寫。原理利用電流的磁效應
⑹ 電腦里的資料是存在主機的硬碟上還是內存卡上
電腦的內存條是隨機存儲器(件),是機器在運算時存儲臨時數據,也就是沒有保留(存)功能。一旦關機,或者機器斷電時,裡面的數據就會全部消失。
硬碟是電腦的數據文件存儲器,所有保存在硬碟中的內容,都會無條件地保存在裡面。
問題中所提到「電腦里的資料」都是存儲在硬碟中,或者其它的移動存儲器(件)中。而不是存儲在內存條中。
⑺ 數據和程序是以()形式存儲在磁碟上的
以文件形式存儲在磁碟上的。
磁碟是計算機主要的存儲介質,可以存儲大量的二進制數據,並且斷電後也能保持數據不丟失。
工作原理
利用電流的磁效應
磁碟被防寫的解決方法
1. 利用注冊表解決磁碟被保護:
進入注冊表編輯器,單擊開始菜單---選擇運行「REGEDIT
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies項,
將右側窗口中名為WriteProtect的鍵值改為0,若沒有這個選項鍵值就在同目錄下建立這一項並把鍵值改成0.
2. 更改磁碟策略
當重啟後再次出現防寫問題時請進行如下操作
1、選擇U盤符右鍵-屬性-硬體
2、選擇U盤以清華普天為例如圖示
3、選擇屬性-策略
4、將策略改為如圖所示。
問題解決。因為本人是按照如上兩個步驟進行的更改,各位網友可以不用轉化格式進行後面的更改策略的方法試一下是否可行,如可行最!除修改注冊表方法外兩種只能當次解決U盤的防寫,請謹慎選用, 最好不要進行轉化格式操作,如果進行了格式轉換,FAT32轉NTFS數據不會丟失,待U盤恢復正常後可格式化至FAT32, FAT32至NTFS轉化簡單,但反過來就麻煩了,並且轉完後數據易丟失。
磁碟檢查步驟
1、在Cortana搜索欄輸入「事件查看器」後回車,或者在開始按鈕點右鍵,選擇「事件查看器」。
2、在左邊欄展開「Windows日誌」,選擇「應用程序」,從右邊欄選擇「篩選當前日誌」。
3、在窗口正中間一行輸入事件ID「26226」,點擊「確定」。
4、在「事件查看器」主窗口中間就可以看到目前已有的日誌。單擊所需日誌,下方就會給出該日誌信息,此時點擊「詳細信息」可查看日誌內容。
⑻ 計算機中的信息有很多文字圖片類型不同但都是以什麼樣的形式,存儲在磁碟上
文字圖片都是以二進制的方式進行存放的,一般都是存儲在硬碟上
⑼ 計算機要運行存放在磁碟上的程序時,應先把程序文件調入到
計算機要運行存放磁碟程序,應先程序文件調入RAM ,也就是內存。
程序:程序是為求解某個特定問題而設計的指令序列。程序中的每條指令規定機器完成一組基本操作。如果把計算機完成一次任務的過程比作樂隊的一次演奏。
那麼控制器就好比是一位指揮,計算機的其它功能部件就好比是各種樂器與演員,而程序就好像是樂譜。計算機的工作過程就是執行程序的過程,或者說,控制器是根據程序的規定對計算機實施控制的。
指令:
程序是由指令組成的。指令是機器所能識別的一組編製成特定格式的代碼串,它要求機器在一個規定的時間段(指令周期)內,完成一組特定的操作。指令的基本格式可歸結為操作碼OP和操作數地址AD兩部分,具體內容是:
⑴ 指出計算機應完成的一組操作內容,如傳送(MOV)、加法(ADD)、減法(SUB)、輸出、停機(HLT)、條件轉移(JZ)等。這部分稱為指令的操作碼部分。
⑵ 兩個操作數的地址和存放結果的地址及定址方式。
⑶ 為保證程序執行的連續性,在執行當前指令時,還需指出下一條指令的地址。由於指令在存儲器中一般是順序存放的,所以只要設置一個指令指針(IP),每執行一條指令,IP自動加1,便自動指出下一條指令的地址,而不必在指令中專門指出下一條指令的地址 。
只有在轉移指令中才指出下一條指令的地址。此時,IP的內容將隨轉移指令所指示的內容改變。