當前位置:首頁 » 文件管理 » 文件放在磁碟上的物理位置可以嗎

文件放在磁碟上的物理位置可以嗎

發布時間: 2022-12-16 19:35:46

⑴ 對於一個完整的文件而言,其存放在磁碟上的物理位置是否連續

這里以FAT文件系統為例

文件配置表(英文:File Allocation Table,首字母縮略字:FAT)是一種由微軟發明的並帶有部分專利[1]的文件系統,供MS-DOS使用,也是非NT內核的微軟窗口使用的文件系統。
FAT文件系統考慮當時計算機效能有限,所以未被復雜化,因而被幾乎所有個人計算機的操作系統支持。這特性使它成為理想的軟盤和記憶卡文件系統,也適合用作不同操作系統中的數據交流。
但FAT有一個嚴重的缺點:當文件被刪除並且在同一位置被寫入新數據,他們的片段通常是分散的,減慢了讀寫速度。磁碟碎片重整是一種解決方法,但必須經常重組來保持FAT文件系統的效率。

主磁碟結構
一個FAT文件系統包括四個不同的部分。
保留扇區,位於最開始的位置。第一個保留扇區是引導區(分區啟動記錄)。它包括一個稱為基本輸入輸出參數塊的區域(包括一些基本的文件系統信息尤其是它的類型和其它指向其它扇區的指針),通常包括操作系統的啟動調用代碼。保留扇區的總數記錄在引導扇區中的一個參數中。引導扇區中的重要信息可以被DOS和OS/2中稱為驅動器參數塊的操作系統結構訪問。
FAT區域。它包含有兩份文件分配表,這是出於系統冗餘考慮,盡管它很少使用,即使是磁碟修復工具也很少使用它。它是分區信息的映射表,指示簇是如何存儲的。
根目錄區域。它是在根目錄中存儲文件和目錄信息的目錄表。在FAT32下它可以存在分區中的任何位置,但是在早期的版本中它永遠緊隨FAT區域之後。
數據區域。這是實際的文件和目錄數據存儲的區域,它占據了分區的絕大部分。通過簡單地在FAT中添加文件鏈接的個數可以任意增加文件大小和子目錄個數(只要有空簇存在)。然而需要注意的是每個簇只能被一個文件佔有,這樣的話如果在32KB大小的簇中有一個1KB大小的文件,那麼31KB的空間就浪費掉了。 例外情況
Apricot PC的MS-DOS所用FAT的實現有一個不同的啟動扇區組織以使用計算機與IBM不兼容的基本輸入輸出系統。跳轉指令和OEM名被省略並且MS-DOS文件系統參數位於0x50(在標准扇區中偏移為0x0B - 0x17)。後來的Apricot MS-DOS版本除了Apricot特有的引導區之外也具有了讀寫標准啟動分區的能力。
BBC Master 512 上的DOS Plus根本就不使用傳統的引導區。數據磁碟省略了引導區並且以一個單份的FAT開始(FAT的第一個位元組用來確定磁碟容量),啟動磁碟使用一個包含啟動調用程序的小型ADFS文件系統,後面跟隨一個單份的FAT。
文件分配表
一個分區分成同等大小的簇,也就是連續空間的小塊。簇的大小隨著FAT文件系統的類型以及分區大小而不同,典型的簇大小介於2KB到32KB之間。每個文件根據它的大小可能佔有一個或者多個簇;這樣,一個文件就由這些這些(稱為單鏈表)簇鏈所表示。然而,這些鏈並不一定一個接著一個在磁碟上存儲,它們經常是在整個數據區域零散的儲存。
文件分配表(FAT)是映射到分區每個簇的條目列表。每個條目記錄下面五種信息中的一種。
鏈中下一個簇的地址
一個特殊的文件結束符(EOF)符號指示鏈的結束
一個特殊的符號標示壞簇
一個特殊的符號標示保留簇
0來表示空閑簇
每個版本的FAT文件系統使用不同大小的FAT條目。這個大小已經由名字表示出來,例如FAT16文件系統的每個條目使用16位表示,32位文件系統使用32位表示。這個不同意味著FAT32系統的文件分配表能比FAT16映射更多的簇,它也允許FAT32有更大的分區大小。這也使得FAT32比FAT16更能有效地利用磁碟空間,因為每個驅動器能夠定址更小的簇,這也就意味著更少的空間浪費。
目錄表
目錄表是一個表示目錄的特殊類型文件(現今通常稱為文件夾)。它裡面保存的每個文件或目錄使用表中的32位條目表示。每個條目記錄名字、擴展名、屬性(檔案、目錄、隱藏、只讀、系統和卷)、創建的日期和時間、文件/目錄數據第一個簇的地址,最後是文件/目錄的大小。
除了FAT12和FAT16文件系統中的根目錄表占據特殊的根目錄區域位置之外,所有其它的目錄表都存在數據區域。
合法的DOS文件名包括下面一些字元:
大寫字母A-Z
數字0-9
空格(盡管結尾的空格被作為填充而不是文件名的一部分)
! # $ % & ( ) - @ ^ _ ` { } ~ '
數值 128-255
DOS文件名位於OEM字元集。
長文件名(LFN)使用一個技巧存儲在FAT文件系統上——在目錄表中添加假的條目。這些條目使用一個普通文件無法使用的卷標屬性標識,普通文件無法使用是由於它們被大多數舊的MS-DOS程序忽略。很顯然,一個只包含卷標的目錄被當作空卷,這樣就允許刪除;使用長文件名創建的文件在從普通的DOS刪除就會發生這樣的情形。
校驗和也允許檢驗長文件名是否與8.3文件名匹配;當一個文件刪除之後使用DOS在同一個目錄位置重新創建之後就會出現不匹配現象。校驗和使用下面的演算法計算。(注意pFcbName是指向如正常目錄條目中所顯示的文件名的指針,例如前八個字元是文件名,最後三個是擴展名。點是隱含的。文件名中沒有使用的空間將使用空格(ASCII 0x20)補齊。例如,「Readme.txt」將記錄為"README TXT"。

⑵ 某盤中某路徑下的同一個文件夾,存放文件是否總對應硬碟中某區域,而不會放到其他位置

當然不會。重新放入的內容,只能確定是在D盤的空間范圍內,但是具體地址,完全是由操作系統決定的,其存放位置完全是動態分配的。
實際上,如果你在硬碟上不停的復制,刪除,在復制,再刪除同樣的一個文件,這個文件放置的位置也是動態變化的。

⑶ 電腦上的文件是否應該分散的放入各個磁碟 電腦高手幫忙啊

分散保存到整個磁碟的不同地方,而不是連續地保存在磁碟連續的簇中形成的。 當應用程序所需的物理內存不足時,一般操作系統會在硬碟中產生臨時交換文件,用該文件所佔用的硬碟空間虛擬成內存。虛擬內存管理程序會對硬碟頻繁讀寫,產生大量的碎片,這是產生硬碟碎片的主要原因。 其他如IE瀏覽器瀏覽信息時生成的臨時文件或臨時文件目錄的設置也會造成系統中形成大量的碎片。
磁碟碎片是怎麼產生的?
又因為在文件操作過程中,Windows系統可能會調用虛擬內存來同步管理程序,這樣就會導致各個程序對硬碟頻繁讀寫,從而產生磁碟碎片。
還有一種情況就是當中間的一個扇區內容被刪除後,新寫入一個較小的文件,這樣在這個文件兩邊就會出現一些空間,這時候再寫入一個文件,兩段空間的任意一部分都不能容納該文件,這時候就需要將文件分割成兩個部分,碎片再次產生了。
最常見的就是下載電影之類的大文件,這期間大家一半都會處理一下其它事情,而下載下來的電影文件被迫分割成若干個碎片存儲於硬碟中。因此下載是產生碎片的一個重要源頭。還有就是經常刪除、添加文件,這時候如果文件空間不夠大,就會產生大量的磁碟碎片,隨著文件的刪改頻繁,這種情況會日益嚴重。
雖然說磁碟碎片對於正常工作影響並不大,但是會顯著降低硬碟的運行速度,這主要是硬碟讀取文件需要在多個碎片之間跳轉,增加了等待碟片旋轉到指定扇區的潛伏期和磁頭切換磁軌所需的尋道時間。
電腦使用久了,磁碟上保存了大量的文件,這些文件並非保存在一個連續的磁碟空間上,而是把一個文件分散的放在許多地方,這些零散的文件被稱作「磁碟碎片」,這些碎片會降低整個windows的性能,每次讀寫文件磁碟觸頭都要來回移動,浪費了時間。於是windows中都提供一個整理磁碟碎片的程序。
知道了磁碟碎片的產生原因之後,我們還有必要了解一下程序運行時磁碟的讀寫動作。一般運行一個程序時,磁碟驅動器的磁頭所做的工作是先搜索該程序運行必需的文件,然後讀取數據,最後做讀後處理——將數據傳送至磁碟高速緩存(Cache)和內存中。搜索時間在硬碟性能指標中被稱為平均尋道時間(Average seek time),單位為毫秒(ms),目前主流硬碟的平均尋道時間小於9.5ms。如果能將應用程序的相關文件放在磁碟的連續空間內,磁頭搜索的時間將會減少很多。讀取時也是如此,磁碟讀取位於磁頭下方扇區的數據所需時間僅為將磁頭移到另一地點再讀取相同數據所需時間的五分之一。讀盤時,系統先檢查數據是否在高速緩存中,如果有則直接讀取;如果沒有則訪問磁碟,也就是讀盤。當需要多次讀取同一份數據時,Cache的作用很大,但對於第一次讀取某個文件,Cache就無能為力了。於是搜索時間和讀取時間在很大程度上影響著程序執行的效率。
Windows系統並不能自動將每個文件按照最大程度減少磁頭搜索時間的原則放到磁碟上最合適的位置。於是Microsoft在Windows中加入了「Disk Defragment」(磁碟碎片整理程序),並提供了「TaskMonitor」(任務監視器)來跟蹤程序啟動過程中的磁碟活動,以利於「Disk Defragment」能夠更有效地工作。「TaskMonitor」是隨Windows啟動而自動運行的(當然要在「啟動」中選中「TaskMonitor」)。當載入某個應用程序時,它通過監視磁碟的訪問動作來了解該程序啟動時搜索和調用的文件,對所需文件進行定位,並將監視結果儲存在「C:\Windows\Applog」隱藏目錄中。這個目錄中的大多數文件以「.lgx」為擴展名,其中「lg」代表記錄文件(Log File),「x」表示盤符,如D盤程序就以「.lgd」為擴展名;記錄文件的文件名為TaskMonitor所監視的應用程序的文件名,如E盤上的WinZip程序記為「Winzip32.lge」。用戶進行磁碟碎片整理時,該程序會根據Applog目錄中的信息把應用程序的相關文件移動到磁碟上的連續空間內。
TaskMonitor僅在程序載入過程中對文件信息進行搜索,並且根據程序的載入頻率調整優化的順序,也就是說使用次數最多的軟體可獲得最多的關照。Applog目錄中的APPLOG.ind文件就記錄了應用程序運行的次數。用戶需要將常用軟體多次啟動,接受TaskMonitor的監視和記錄,再使用Disk Defragment進行整理,才能真正實現程序啟動速度的提高。但如果用戶中途改變了常用軟體,比如以前常用WinZip,現在改用ZipMagic,那麼在相當長的時間內Disk Defragment還是先把與WinZip相關的文件移到連續的空間內,而不是ZipMagic,除非ZipMagic的載入次數超過WinZip。要解決這個問題,用戶可將「Winzip32.lgx」文件刪除,記錄文件不存在了,Disk Defragment也就不會去優化它了。
實際上,定期整理硬碟應該是毫無疑問的。如果說硬碟碎片整理真的會損害硬碟的話,那也將是在對硬碟進行近乎天文數字般次數的整理之後。
硬碟使用的時間長了,文件的存放位置就會變得支離破碎——文件內容將會散布在硬碟的不同位置上。這些「碎片文件」的存在會降低硬碟的工作效率,還會增加數據丟失和數據損壞的可能性。碎片整理程序把這些碎片收集在一起,並把它們作為一個連續的整體存放在硬碟上。Windows自帶有這樣的程序:磁碟碎片整理程序(DiskDefragmenter),但在工具軟體NortonUtilities和Nuts&Bolts中有更好的此類程序。
然而,碎片整理對硬碟里的運轉部件來說的確是一項不小的工作。如果硬碟已經到了它生命的最後階段,碎片整理的確有可能是一種自殺行為。但在這種情況下,即使您不進行碎片整理,硬碟也會很快崩潰的。
實際上在大多數情況下,定期的硬碟碎片整理減少了硬碟的磨損。 至於多久整理一次要看你的讀寫頻繁度了 如果經常下載、刪除什麼的
建議1-2個月一次 磁碟碎片整理時,請關閉屏幕保護程序,並且不要在電腦上干其他的事情,如聽音樂,玩游戲等.讓電腦只運行磁碟碎片整理程序,這樣會快些
同時建議不要很頻繁的整理硬碟,因為那樣的話硬碟不停的進行讀寫,這樣可是影響硬碟的使用壽命的,推薦三四個月整理一次.
我們在整理硬碟前一般都要對它清理垃圾信息,檢查有無錯誤,最後才能談到碎片的整理和優化。因此,我們在整理硬碟前,應該首先做好這些工作:1、應該把硬碟中的垃圾文件和垃圾信息清理干凈。系統工作一段時間後,垃圾文件就會非常之多,有程序安裝時產生的臨時文件、上網時留下的緩沖文件、刪除軟體時剩下的DLL文件或強行關機時產生的錯誤文件等,建議「菜鳥」朋友還是使用微軟的「磁碟清理程序」代勞,「老鳥」當然可以使用一些功能更強的軟體或手工清理。2、檢查並修復硬碟中的錯誤。首選的仍然是微軟的「磁碟掃描程序」,雖然它的速度實在不怎麼樣,但只要你有足夠的耐心,經過這個程序對磁碟完整而詳細的掃描後,相信系統中的絕大多數錯誤已經被修復了。當然你也可以嘗試一下其他工具,如扁鵲神醫「Norton WinDoctor」,它的速度可比Windows中的「磁碟掃描工具」快多了。
在Windows里,用戶可以從「開始」菜單中選擇「程序/附件/系統工具/磁碟碎片整理程序」,彈出選擇驅動器窗口,選擇要整理的分區,然後點擊[確定]即可開始整理,但此方法碎片整理過程非常耗時,一般2GB左右的分區需要1個小時以上,所以建議讀者:1、整理磁碟碎片的時候,要關閉其他所有的應用程序,包括屏幕保護程序,最好將虛擬內存的大小設置為固定值。不要對磁碟進行讀寫操作,一旦Disk Defragment發現磁碟的文件有改變,它將重新開始整理。 2、整理磁碟碎片的頻率要控制合適,過於頻繁的整理也會縮短磁碟的壽命。一般經常讀寫的磁碟分區一周整理一次。
命令參數在 DOS時代可以說是一項基本的技能,很多程序都要靠命令參數來啟動,而到了圖形化界面時代,已很難再見到其蹤跡,但它卻實實在在地存在著,而且發揮著不小的作用。如很多 Windows游戲的設置程序就是用 /Setup 參數來實現的。通常我們不會太留意某些程序的命令參數,但他們往往包含著某些隱秘的功能,如果運用適當對你很有幫助。 Windows 中的磁碟掃描程序就包含著許多命令參數,你可以在MS_DOS方式下或在「運行」對話框中實現,如果需要經常用命令參數,還可以建立一個快捷方式。 /SILENT 啟動磁碟掃描程序不允許作任何選項設置和高級設置。 /A 檢查所有的本地硬碟 /N 自動啟動和退出磁碟掃描程序 /P 防止磁碟掃描程序修復所發現的錯誤 X: X 表示指定要檢查的驅動器號(不需要 / 的命令參數) 舉例: 1)檢查驅動器 E 並自動啟動和退出磁碟掃描程序 SCANDSKW E: /N 2)檢查所有的硬碟並防止磁碟掃描程序修復發現的任何錯誤 SCANDSKW /A /P
當運行了其他磁碟文件整理程序(如WinAlign)後,它可能擾亂了TaskMon記錄的數據,若此時直接進行碎片整理,可能會得不償失,達不到優化性能的目的。解決的辦法是在進行碎片整理之前,多次運行Windows和自己最常用的程序,這樣可以讓TaskMon重新收集到正確的統計數據,指導進行磁碟優化。
最後,當啟動Windows98的磁碟碎片整理程序時,可能會詫異界面中的Intel標志。為什麼處理器的生產廠商會參與編寫這個優化磁碟的軟體呢?這是因為硬碟尋道時間的緩慢會導致系統整體性能的下降,這樣會有損CPU超級計算能力的形象,讓人誤以為是CPU性能的低下。Microsoft的一個測試表明,在奔騰233的機器上啟動Windows僅僅比奔騰150快3%,也就是說,快速的CPU並不能克服磁碟延遲的缺點。於是,在共同利益的驅動下,Intel和Microsoft聯合開發了Windows98的磁碟碎片整理程序,用來消除硬碟尋道緩慢的瓶頸。
每次需要整理磁碟碎片時都需要選擇「開始」*「程序」*「附件」*「系統工具」*「磁碟碎片整理程序」,然後再指定驅動器,很麻煩。能否有簡單的方法完成這一系列操作?
方法一:
在Windows資源管理器中,選擇「查看」*「文件夾選項」(或「查看」*「選項」),選擇「文件類型」選項卡,並在「已注冊的文件類型」列表中選擇「驅動器」。單擊「編輯」按鈕,打開「編輯文件類型」對話框,選擇「新建」,在「操作」欄中,鍵入「快速整理磁碟碎片」。在「用於執行操作的應用程序」欄中鍵入「C:\Windows\defrag.exe "%1" \noprompt」。 單擊「確定」,然後「關閉」,回到「文件類型」選項卡,然後單擊「關閉」。現在,打開「我的電腦」,右鍵單擊想要整理磁碟碎片的驅動器,在彈出的快捷菜單中選擇「快速整理磁碟碎片」即可。
方法二:
使用第三方軟體進行碎片整理 例如Windows優化大師或者O&O Defrag,個人推薦使用O&O Defrag.原因是在整理碎片的過程中筆者遇到過無法將碎片整理的情況,也只能將磁碟進行格式化. 為避免出現類似情況,最好的辦法就是使用O&O Defrag,對目標盤選擇"整理/合並未使用空間"這項就可以對你無法用方法一清理的碎片進行很好的清理. 使用Windows優化大師的好處在於你可以對磁碟的錯誤進行恢復,不過缺點也是有時無法將很難清理的碎片進行處理.
編輯本段用Ghost來為硬碟進行磁碟碎片整理
原理
此方法的原理是:使用備份再還原,實現數據塊恢復到初始時的連續狀態,就好比桌面打亂的版,我們直接劃拉到一起重新洗牌,而不是一張一張地撿起。
一、 使用ghost進行系統備份
首先運行ghost軟體,選擇要進行磁碟整理的分區,選擇卷標windows XP的分區,然後點擊OK,選擇備份文件的存放路徑,在filename欄中輸入備份的文件名,然後點擊save保存。彈出選擇壓縮比的對話框,選擇fast,開始備份系統。
二、 使用ghost系統還原系統
備份完系統後,再依次選擇Local/partition/From image。選擇剛才備份的back.gho文件,然後彈出select source partitiong from image file,點擊LK,選擇要還原的分區,也就是剛才卷標為xp的分區,確認,執行還原任務。 還原完後重啟計算機,打開「磁碟磁片整理程序」選擇剛才還原的分區,單擊分析按鈕,看看是不是數據塊全是連續的了?這個速度比傳統的要快上千倍吧。

⑷ 文件作修改是不是在磁碟上的原位置

在保存前可能會放到其它緩存區域;
保存時內容覆蓋到當前區域;

⑸ 同一個硬碟不同分區之間移動文件,文件的物理位置改變嗎

這里我先解釋一下文件的移動有幾種。
1、同一分區內文件夾間的拖動:文件的物理位置不變,只是把分區表中文件的位置指向改變了,所以我們看到即使是幾十G的文件也可以瞬間挪到另一個文件夾內。
2、不同分區文件夾間的拖動:文件的原物理位置不變,在新的分區內重新劃分一塊兒新地方儲存文件,也就是說一共在同一個硬碟中出現兩個同樣的文件,只不過不在同一分區。

所以明白了這些,我們就可以有一些比較簡潔的方法,比如:一般WinRAR的臨時解壓縮文件夾在C盤,如果解壓縮一些數百兆得文件放在D盤或其他分區時就會發現解壓完畢以後會彈出文件復制對話框,原因就是文件被解壓到了C盤,然後再復制到目標盤。所以我一般這樣處理:把WinRAR的臨時解壓縮文件夾放在目標文件夾所在的硬碟分區中,這樣解壓完以後直接移動到目標文件夾。
當然如果1-2MB時這么做的好處不顯,但是如果800MB呢?2G呢?這能減少5到20分鍾的時間,而且關鍵是可以減少很大一部分不必要的硬碟磨損,愛護我們的盤盤:)

⑹ 文件在磁碟上的存放空間可以以什麼為存放單位

硬碟存儲原理類似光碟,硬碟最小的記錄單位是 比特 bytes 。
二進制數0101就是4比特。而一個位元組需要用8個bytes來記錄。
1T=1024G,1G=1024M,1M=1024K,1K=1024B,一位元組是1B。
注意區別大B和小b。
如圖所示 因為磁碟是每分鍾7200轉(3.5寸,常規盤)
假如我們需要寫入 A B C D 4個字母於硬碟 磁頭需要響應時間
所以如果在 1區最外圈磁軌寫A 1區的左側最外圈磁軌繼續B 則磁碟需要旋轉一周之後寫入 如果隔開2個扇形區域 在第三個扇形區域里寫B的話 磁碟旋轉一周即可寫入A B C 3個字母
按你說的需要轉3圈~ 你覺得怎麼寫快呢~~~?

!~~~~無分題我答這么認真你不給我追加點都對不起我~~~!
有空去書店找本磁碟原理多看看。。。。

扇區是磁碟最小的物理存儲單元,但由於操作系統無法對數目眾多的扇區進行定址,所以操作系統就將相鄰的扇區組合在一起,形成一個簇,然後再對簇進行管理。每個簇可以包括2、4、8、16、32或64個扇區。顯然,簇是操作系統所使用的邏輯概念,而非磁碟的物理特性。

如果一個扇區512位元組的話其實他實質上多於512個位元組
磁碟格式化時,格式化程序在每個扇區的數據之前和之後創建ID區域,磁碟控制器使用這些區域進行扇區編號,以及標識每個扇區的起始和終止。
在每個扇區里,都有一個前綴部分或頭部來標識扇區的開始並包含扇區號,有一個後綴部分或尾部包含校驗和(有助於保證數據的完整性)。
扇區的頭部和尾部與操作系統無關,也與文件系統和文件無關。除了頭部和尾部,在扇區內部、每條磁軌之間、每條磁軌上的扇區之間還有間隙。但是,這些間隙里都不含有可用的數據空間,它們是在低級格式化過程中當記錄被暫時關閉是創建的。
如此分析,則在技術上而言每個磁碟扇區的大小為512位元組是不對的!每個扇區確實允許存儲512個位元組的數據,但是,數據域只是扇區的一部分而已。
由於扇區頭部和尾部需要的實際位元組數隨驅動器的不同而不同,但通常而言,每個扇區實際上佔用571個位元組,這是個典型值。

所以你的理想狀態是不存在於硬碟這種以速度為最高目標的設備中~~~

⑺ 使用計算機過程中看到的文件是連續的,其在磁碟上實際存儲的物理位置____。 選擇一項:

先解釋下這點: Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字元編碼。Unicode 是為了解決傳統的字元編碼方案的局限而產生的,它為每種語言中的每個字元設定了統一並且唯一的二進制編碼,以滿足跨語言、跨平台進行文本轉換、處理的要求。 而Unicode是一個字元解析器的工具,算是軟體中的一個載體工具,非硬體層訪問程序。所以「漢」的解析成二進制,是通過該應用層進行編譯解析的。它只是一個中路轉換工具。具體如何定義,你可以查詢Unicode編碼表。

⑻ 下載的文件在硬碟里以什麼物理狀態存在

下載的文件在硬碟里以什麼物理狀儲存,這屬於物理知識,叫磁性正反。就是硬碟上劃分很多單元,每個單元磁性依靠磁頭讀取,或N或者S,通過電路變成10二進制,通過系統解釋為文件,寫的時候相反。