[原始碼和文件分享]NTFS檔案系統介紹及檔案定位
背景
在日常生活中,我們開啟我們的電腦操作各種檔案。我們都知道,檔案資料都儲存在硬碟上,但是,硬碟中儲存的資料都是0、1的二進位制資料,我們的電腦怎麼從這一大堆0、1資料中知道哪個是哪個檔案呢?
這就是檔案系統在起作用,它對硬碟的資料設定格式規則,儲存資料的時候,就按這個儲存規則進行儲存,那麼,在讀取資料檔案的時候,再按照相應規則讀取還原資料,就形成了我們看到的檔案了。
現在,本文就介紹目前比較流行的 NTFS 檔案系統及其格式定義,並給出一個使用 NTFS 檔案系統進行檔案定位的例子,模擬 NTFS 定位檔案的過程原理。我把分析過程整理成文件,分享給大家。
參考文件和完整的文件和原始碼下載地址:
https://www.write-bug.com/article/1889.html
相關推薦
[原始碼和文件分享]NTFS檔案系統介紹及檔案定位
背景 在日常生活中,我們開啟我們的電腦操作各種檔案。我們都知道,檔案資料都儲存在硬碟上,但是,硬碟中儲存的資料都是0、1的二進位制資料,我們的電腦怎麼從這一大堆0、1資料中知道哪個是哪個檔案呢? 這就是檔案系統在起作用,它對硬碟的資料設定格式規則,儲存資料的時候,就按這個儲存規則進行儲存,那
[原始碼和文件分享]基於C語言的簡單檔案系統的實現
1 題目介紹 通過具體的檔案儲存空間的管理、檔案物理結構、目錄結構和檔案操作的實現,加深對檔案系統內部的資料結構、功能以及實現過程的理解。 1.1 要求 在記憶體中開闢一個虛擬磁碟空間作為檔案儲存分割槽,在其上實現一個簡單的基於多級目錄的單使用者單任務系統中的檔案系統。在推出該檔
[原始碼和文件分享]基於WinInet實現的HTTP檔案下載
背景 之前寫過的網路資料傳輸的小程式都是基於Socket去寫的,所以,如果要用Socket傳輸資料到網站,還需要根據域名獲取伺服器的IP地址,然後再建立連線,傳輸資料。雖然,Socket也可以實現網路傳輸,但是,總感覺不是很方便。所以,後來隨著知識面的拓展,瞭解到Windows還專門提供了Win
[原始碼和文件分享]程式設計實現根據NTFS檔案系統定位檔案在磁碟上的偏移地址
背景 之前在上一篇博文中 “NTFS檔案系統介紹及檔案定位” 介紹過 NTFS 的基礎概念和常用格式介紹,同時還詳細給出了使用 NTFS 定位磁碟檔案的例子。現在,這篇文章講解的就是,程式設計實現 NTFS 檔案定位。也就是把之前手動定位全部改成程式設計實現,輸入一個檔案路徑,就可以得到檔案的大
[原始碼和文件分享]基於UNIX V6++設計的二級檔案系統
一、課程設計基礎任務描述 為 LINUX 設計一個簡單的二級檔案系統。本實驗用某個大檔案,如 c:\myDisk.img , 儲存整個檔案卷中的所有資訊。一個檔案卷實際上就是一張邏輯磁塊盤,磁碟中儲存的資訊以塊為單位。每塊 512 位元組。 複習並深入領會 UNIX V6 檔案管理系統的核心設計
[原始碼和文件分享]基於C++實現的構建二級檔案模擬系統
1 需求分析 題目:構建二級檔案模擬系統 題目說明:使用一個普通的大檔案(如 c:\myDisk.img ,稱之為一級檔案)來模擬 UNIX V6++的一個檔案卷 一個檔案卷實際上就是一張邏輯磁碟,磁碟中儲存的資訊以塊為單位。每塊 512 位元組。
[原始碼和文件分享]基於C++的圖書管理系統
一、需求分析 圖書管理系統功能如下: 新增書籍 刪除書籍:當系統中存在此書時,刪除該書籍,否則提示使用者刪除失敗 借閱書籍:當系統中存在此書且未被借閱時,將書的狀態設定為“借出”,否則提示使用者借閱失敗 歸還書籍:當系統中存在未歸換的該書時,將書的狀態設
[原始碼和文件分享]基於C++的學生選課管理系統的設計與實現
一 需求分析 系統新增課程:將一門課程加入到系統資料中。課程提交重複時給出提示資訊 系統刪除課程:以課程編號為索引刪除課程。系統無此課程時給出提示 課程新增學生:把學生的姓名、學號等資訊加入到課程中。學號重複時給出提示資訊 課程刪除學生:以學號為索引從課程中
[原始碼和文件分享]基於C++的物資管理系統的設計與實現
一 需求分析 程式需實現以下功能: 新物資資訊錄入(編號、名稱、庫存) 查詢已錄入的所有物資資訊(編號或名稱為索引) 新增物資資訊(編號或名稱為索引) 領物資並生成領料單(編號或名稱為索引) 瀏覽領料單或物資庫存清單 物資資訊儲存,建
[原始碼和文件分享]基於C++的庫存管理系統設計與實現
一 需求分析 1.1 總體要求 運用面向物件程式設計知識,利用C++語言設計和實現一個“庫存管理系統設計”,主要完成對商品的銷售、統計和簡單管理。在實現過程中,需利用面向物件程式設計理論的基礎知識,充分體現出C++語言關於類、繼承和封裝等核心概念,每一個類應包含資料成員和成員函式。 1.
[原始碼和文件分享]基於C++的民航訂票系統的設計與實現
一、需求分析 設計一個民航管理系統,使更廣大的使用者群體可以藉助這個平臺訂飛機票。 C++作為一個面向物件的語言,利用多型性和封裝性可以更好地表達出這些功能,相比 JAVA 等語言,C++具STL,可以表達更強的封裝性。 二、程式的主要功能 登入和註冊使用者,管理員的登入
[原始碼和文件分享]基於C++的公司人員管理系統
一 系統介紹 系統架構如下圖所示,主要包括對公司人員資訊的查詢、修改及儲存管理功能。 二 系統設計 建立了兩個類來實現程式要求,1為People類,定義了一個人員的各種資訊,2為Main類,定義了各種操作函式,main函式裡用switch來選擇操作函式。 實現了以下功能:
[原始碼和文件分享]基於C++的通訊錄系統的設計與實現
一 需求分析 通訊錄系統可幫助使用者管理歸納通訊錄名單,達到新增,刪除,修改,儲存等需求。 二 系統設計 2.1 功能模組設計 通訊錄主要功能為:新增通訊錄成員,修改成員,刪除成員,按需求搜尋檢視成員,儲存為文件。 如下圖所示: 系統各模組的功能具體描述為:
[原始碼和文件分享]基於C++的學生生活系統設計與實現
一 需求分析 需要設計並實現如下場景:在那山的那邊,湖的那邊,有一所學校,學校裡有一幢宿舍樓,宿舍樓有若干層,每一層有若干房間 ,一群學生快樂地生活在這裡。他們每天可做的事情有: 換宿舍,從一個房間搬到另一個房間 退學,亦即搬出宿舍樓 入學,亦即搬入宿舍樓
[原始碼和文件分享]基於C++的學校人事管理系統
某高校,主要人員有:在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時工。現在,需要儲存這些人員的人事檔案資訊:編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、任職時間、來院時間。 程式的基本功能如下所示: 新增刪除功能:能根據學院人事的變動情況,新增刪除記錄
[原始碼和文件分享]C++實現的基於連結串列的通訊錄管理系統
摘 要 隨著計算機應用技術的快速發展和日益普及,網路也遍及到我們生活的每個角落,為我們的學習和工作帶來極大的方便。很多人都使用過傳統的紙質通訊錄,與之不同的另外一種管理方式——程式通訊錄管理。程式通訊錄管理系統面向全部使用者,它是一種先進、方便、快捷、簡易的方式,能快速地新增、刪除、查詢通訊錄中
[原始碼和文件分享]Linux核心編譯及新增系統呼叫
1 總體設計思路 系統呼叫的本質是呼叫核心函式,以核心態執行程式。為了在核心態下執行,本實驗針對Linux的核心進行修改,增加自定義系統呼叫函式實現使用者態程式對任意程序的nice值進行修改或者讀取來進行測試。 2 主要函式的介面設計 核心態程式 SYSCALL_DEFINE3
[原始碼和文件分享]基於組合語言的學生成績管理系統
一 需求分析 用匯編語言編寫一個學生成績管理系統,實現基本的學生成績管理,功能包括成績的錄入,總分和平均分的計算,資料存檔,從檔案中讀入資料等。要求程式介面友好,有輸入界輸出提示,有選單等。 二 程式設計 2.1 程式總流程設計 2.2 新增記錄流程設計 參考文件和完
[原始碼和文件分享]基於C++的電網建設造價模擬系統
一、使用說明 1.1 專案簡介 假設一個城市有n個小區,要實現n個小區之間的電網都能夠相互接通,構造這個城市n個小區之間的電網,使總工程造價最低。請設計一個能夠滿足要求的造價方案。 1.2 專案功能要求 在每個小區之間都可以設定一條電網線路,都要付出相應的經濟代價。n個小區之間最多可
[原始碼和文件分享]基於C++實現的家譜管理系統
一、使用說明 1.1 專案簡介 家譜是一種以表譜形式,記載一個以血緣關係為主體的家族世襲繁衍和重要任務事蹟的特殊圖書體裁。家譜是中國特有的文化遺產,是中華民族的三大文獻(國史,地誌,族譜)之一,屬於珍貴的人文資料,對於歷史學,民俗學,人口學,社會學和經濟學的深入研究,均有其不可替代的獨特功能