NTFS (New Technology File System): Được giới thiệu cùng với phiên bản Windows NT đầu tiên (phiên bản này cũng hỗ trợ FAT32). Với không gian địa chỉ 64 bit, khả năng thay đổi kích thước của cluster độc lập với dung lượng đĩa cứng, NTFS hầu như đã loại trừ được những hạn chế về số cluster, kích thước tối đa của tập tin trên một phân vùng đĩa cứng. NTFS sử dụng bảng quản lý tập tin MFT (Master File Table) thay cho bảng FAT quen thuộc nhằm tăng cường khả năng lưu trữ, tính bảo mật cho tập tin và thư mục, khả năng mã hóa dữ liệu đến từng tập tin. Ngoài ra, NTFS có khả năng chịu lỗi cao, cho phép người dùng đóng một ứng dụng “chết” (not responding) mà không làm ảnh hưởng đến những ứng dụng khác. Tuy nhiên, NTFS lại không thích hợp với những ổ đĩa có dung lượng thấp (dưới 400 MB) và không sử dụng được trên đĩa mềm. NTFS là hệ thống file có khả năng ghi lại được các hoạt động mà hệ điều hành đã và đang thao tác trên dữ liệu. Nó có khả năng xác định được ngay những file bị sự cố mà không cần phải quét lại toàn bộ hệ thống file, giúp quá trình phục hồi dữ liệu trở nên tin cậy và nhanh chóng hơn.
MỤC LỤC PHẦN : NỘI DUNG I Sơ lược NTFS Tổ chức phân vùng đĩa cứng: NTFS gì? a .Khả cứu liệu: b Bảo mật: .5 c Một số tính khác: Lịch sử phát triển NTFS II Hệ thống file NTFS .8 NTFS File System Driver (Bộ phận điều khiển hệ thống file NTFS) .8 Cấu trúc đĩa NTFS 11 a Partition Boot Sector 11 b Cluster 13 c Master File Table – MFT 15 d File thuộc tính file 20 e Cấu trúc thư mục NTFS 25 PHẦN : LỜI NÓI ĐẦU PHẦN : LỜI NÓI ĐẦU Cùng với phát triển mạnh mẽ kinh tế, lĩnh vực phát triển nhanh Công nghệ thông tin Hầu lĩnh vực nào, ngành nghề có mặt thiết bị điện tử, máy vi tính, vai trò thiếu Để đáp ứng yêu cầu làm việc, máy tính ngày phải mạnh hơn, nhanh hơn, an toàn hơn, lưu trữ nhiều thông tin Do cần phải có cách tổ chức quản lý liệu cải tiến,tối ưu Hệ thống file NTFS đời có ưu điển vượt trội so với hệ thống file trước nhà phát triển hệ điều hành đưa FAT12, FAT16, FAT32, EXT,… NTFS thay hệ thống tập tin FAT vốn hệ thống tập tin ưa thích cho hệ điều hành Windows Microsoft NTFS có nhiều cải tiến FAT HPFS (High Performance File System - Hệ thống tập tin hiệu cao) hỗ trợ cải tiến cho siêu liệu sử dụng cấu trúc liệu tiên tiến để cải thiện hiệu suất, độ tin cậy, sử dụng không gian ổ đĩa, cộng thêm phần mở rộng danh sách kiểm soát truy cập bảo mật (access control list-ACL) ghi hệ thống tập tin NTFS viết tắt “New Technology File System” (Hệ thống tập tin công nghệ mới) hệ thống tập tin tiêu chuẩn Windows NT, bao gồm phiên sau Windows Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, Windows Vì thời gian tìm hiểu không nhiều khả chuyên môn có hạn nên chưa thể nghiên cứu thật sâu, kĩ đề tài Rất mong thầy giáo bạn bè góp ý để sản phẩm hoàn thiện PHẦN : NỘI DUNG Sơ lược NTFS PHẦN : NỘI DUNG I Sơ lược NTFS Tổ chức phân vùng đĩa cứng: Mỗi ổ đĩa cứng chia thành nhiều vùng riêng biệt gọi phân vùng (partition), ví dụ: Partition HDD Partition Partition Partition Thông tin việc chia phân vùng ghi sector đĩa cứng (Master Boot Record) gọi Partition Table Mỗi phân vùng định dạng theo dạng thức xác định để tổ chức lưu trữ liệu gọi hệ thống file (File System) Có nhiều loại file system tương ứng với hệ điều hành sử dụng Một số hệ điều hành hỗ trợ đọc/ghi nhiều loại file system khác nhau: Hệ điều hành File system hỗ trợ DOS, Windows 95 FAT12/FAT16 Windows 98 FAT12/FAT16/FAT32 Windows NT FAT12/FAT16/NTFS 1.2 Windows 2000 FAT12/FAT16/FAT32/NTFS 3.0 Windows XP/Windows Server 2003 FAT12/FAT16/FAT32/NTFS 3.0/NTFS 3.1 UNIX/Linux (tùy nhân) FAT12/FAT16/FAT32/ext/ext2/ext3 Hệ điều hành hệ thống file hỗ trợ NTFS gì? NTFS (New Technology File System): Được giới thiệu với phiên Windows NT (phiên hỗ trợ FAT32) Với không gian địa PHẦN : NỘI DUNG Sơ lược NTFS 64 bit, khả thay đổi kích thước cluster độc lập với dung lượng đĩa cứng, NTFS loại trừ hạn chế số cluster, kích thước tối đa tập tin phân vùng đĩa cứng NTFS sử dụng bảng quản lý tập tin MFT (Master File Table) thay cho bảng FAT quen thuộc nhằm tăng cường khả lưu trữ, tính bảo mật cho tập tin thư mục, khả mã hóa liệu đến tập tin Ngoài ra, NTFS có khả chịu lỗi cao, cho phép người dùng đóng ứng dụng “chết” (not responding) mà không làm ảnh hưởng đến ứng dụng khác Tuy nhiên, NTFS lại không thích hợp với ổ đĩa có dung lượng thấp (dưới 400 MB) không sử dụng đĩa mềm NTFS hệ thống file có khả ghi lại hoạt động mà hệ điều hành thao tác liệu Nó có khả xác định file bị cố mà không cần phải quét lại toàn hệ thống file, giúp trình phục hồi liệu trở nên tin cậy nhanh chóng Ngoài ra, NTFS có nhiều tiện ích chuyên sâu khác cho giới người dùng cao cấp khác “mount partition”, tạo “hard link” tới file, hỗ trợ dùng RAID NTFS thiết kế để phù hợp với số mục đích đặc biệt : a .Khả cứu liệu: NTFS sử dụng khái niệm “Thực mức nguyên tử” (“Atomic transaction”) để thực tính tăng khôi phục liệu hệ thống Nếu chương trình đưa yêu cầu làm thay đổi cấu trúc hệ thống file NTFS như: thay đổi cấu trúc thư mục, kéo dài file, tạo file , NTFS thực yêu cầu này, có khả xảy ra: • Thành công tốt đẹp • Quay lui lại trạng thái tốt trước bị lỗi Nhóm Nghiên cứu kiến trúc NTFS PHẦN : NỘI DUNG Sơ lược NTFS b Bảo mật: Hệ bảo mật NTFS thừa kế trực tiếp từ mô hình hướng đối tượng Kernel Windows Các đối tượng kernel bao gồm: - Files - Thiết bị (devices) - Đường ống (pipes) - Công việc (jobs) - Tiến trình (processes) - Tiểu trình (threads) - Sự kiện (events) - Thư mục chia sẻ mạng (network shares) - Dịch vụ (services) - Khóa registry (registry keys) - Máy in (printers) … Mỗi đối tượng kernel có bảng mô tả bảo mật (security descriptor) riêng Mỗi tiến trình yêu cầu mở file (hay mở đối tượng khác), hệ thống bảo mật đọc kiểm tra bảng mô tả bảo mật đối tượng có phù hợp với user name password người đăng nhập không, phù hợp cho phép mở đối tượng Do không tiến trình mở file mà không cấp phép administrator hay người tạo file Hệ thống hoạt động tương đối hiệu với file file, bảng mô tả bảo mật ghi trực tiếp lên đĩa phần file c Một số tính khác: - Hỗ trợ tên file Unicode NTFS cho phép tên file lên tới 255 ký tự so với 8.3 ký tự giới hạn qui ước FAT - Lưu trữ hiệu - lần nữa, thời điểm NTFS phát triển, hầu hết máy tính cá nhân sử dụng FAT16, kết đĩa làm việc chậm chạp, suất NTFS ngăn ngừa vấn đề cách PHẦN : NỘI DUNG Sơ lược NTFS sử dụng phương thức khác để phân phối không gian cho file so với cách FAT làm - Phá bỏ rào cản kích thước – không FAT, phân vùng cực đại lớn 4GB, NTFS cho phép phân vùng lớn vào khoảng 16 exabyte - Cơ chế đánh thứ tự (indexing) - Đánh dấu bad sectors động - Nén file (compression) - Lưu lại thay đổi - Mã hóa (encryption) - Chống phân mảnh (defragmentation) - Hỗ trợ đọc (read-only) Lịch sử phát triển NTFS Microsoft bắt đầu phát triển hệ điều hành Windows NT Hệ thống tập tin HPFS OS/2 có số tính quan trọng Khi Microsoft tạo hệ điều hành mới, họ vay mượn nhiều khái niệm cho NTFS Có lẽ có chung nhiều khái niệm nên HPFS NTFS có mã phân loại nhận dạng phân vùng ổ đĩa (07) Có số nhận dạng không bình thường có tới hàng chục mã có sẵn, hệ thống tập tin ổ đĩa lớn khác có mã riêng chúng FAT có mã (mỗi mã cho FAT12, FAT16, FAT32, vân vân) Các thuật toán xác định hệ thống tập tin kiểu phân vùng 07 phải thực kiểm tra bổ sung Đây rõ ràng NTFS dùng chung thiết kế kiến trúc cho Files-11 sử dụng VMS Điều không đáng ngạc nhiên Dave Cutler người đứng đầu VMS Windows NT NTFS có phiên phát hành: • Phiên 1.0 (v1.0) với NT 3.1, phát hành năm 1993 • Phiên 1.1 (v1.1) với NT 3.5, phát hành cuối năm 1994 Nhóm Nghiên cứu kiến trúc NTFS PHẦN : NỘI DUNG Sơ lược NTFS • Phiên 1.2 (v1.2) với NT 3.51 (giữa năm 1995) NT (giữa năm 1996) (đôi gọi "NTFS 4.0", phiên OS 4.0) • Phiên 3.0 (v3.0) Windows 2000 ("NTFS V5.0") • Phiên 3.1 (v3.1) Windows XP (mùa thu 2001; "NTFS V5.1"), Windows Server 2003 (mùa xuân 2003; gọi "NTFS V5.2"), Windows Vista (giữa năm 2005) (đôi gọi "NTFS V6.0") Windows Server 2008 II Hệ thống file NTFS NTFS File System Driver (Bộ phận điều khiển hệ thống file NTFS) NTFS hệ thống file khác trình điều khiển thiết bị có khả tải chạy “kernel-mode” chúng viện đẫn cách gián tiếp ứng dụng chạy Win32 I/O API khác ( POSIX) Trong hình ,môi trường hệ thống phụ Windows 2000 gọi hệ thống dịch vụ Windows 2000 mà định vị phận điều khiển chịu tải thích hợp gọi chúng Hình Các thành phần hệ thống vào Windows 2000 Các tầng phận điều khiển thiết bị qua I/O yêu cầu đến phận điều khiển khác cách gọi trình quản lý thực thi vào-ra (I/O) Windows 2000 Dựa vào trình quản lý vào-ra đóng vai trò trung gian cho phép phận điều khiển để trì độc lập tải vào chuyển mà không bị ảnh hưởng phận điều khiển khác.Thêm vào đó, phận điều khiển NTFS tương tác với ba thành phần thực thi khác Windows 2000 Dịch vụ file ghi (log file service LFS) phần NTFS mà cung cấp dịch vụ để trì ghi đĩa ghi Việc ghi file ghi LFS sử dụng để khôi phục lại đĩa dịnh dạng NTFS trường hợp hệ thống bị lỗi Log File Service Log file service (LFS) sêri thường trình “kernel-mode” bên phận điều khiển NTFS NTFS sử dụng để truy nhập log file Mặc dù ban đầu thiết kế để logging dịch vụ khôi phục cho máy khách, LFS sử dụng NTFS Trình gọi – trường hợp NTFS- qua LFS trỏ tới đối tương file mở mà định rõ log file để truy nhập LFS khởi chạy log file gọi phận quản lý cache PHẦN : NỘI DUNG Windows 2000 để truy nhập log file xuyên qua cache, hình Hình 2: Log file service(LFS) Bộ phận quản lý cache thành phần Windows 2000 executive mà cung cấp systemwide trữ dịch vụ cho NTFS phận quản lý hệ thống file khác, bao gồm phận quản lý hệ thống file mạng(servers redirectors) Tất hệ thống file cung cấp cho Windows 2000 truy cập cached file cách ánh xạ chúng vào hệ thống không gian địa sau truy cập vào nhớ ảo Bộ phận quản lý cache cung cấp giao diện hệ thống file chuyên dụng đến phận quản lý nhớ Windows2000 cho mục đích Khi chương trình cố gắng truy cập vào phần file mà không load vào cache(cache miss) trình quản lý nhớ gọi NTFS để truy cập vào phận quản lý đĩa đạt nội dung file từ đĩa Trình quản lý cache tối ưu đĩa cách sử dụng “its lazy writer threads” để gọi trình quản lý nhớ làm nội dung cache đến đĩa hoạt động (ghi đĩa không đồng bộ) Hình Hình 3: NTFS thành phần quan hệ NTFS tham gia vào mô hình đối tượng Windows 2000 cách thi hành file đối tượng Sự thi hành cho phép chia sẻ bảo vệ trình quản lý đối tượng,một thành phần Windows 2000 quản lý mức thực thi đối tượng Hình 4: Cấu trúc liệu NTFS NTFS theo vài trỏ để có từ đối tượng hồ sơ đến định vị hồ sơ đĩa Hình đối tượng hồ sơ, mà đại diện lời gọi đơn tới dịch vụ hệ thống hồ sơ mở,trỏ vào khối điều khiển dòng PHẦN : NỘI DUNG Để minh họa cách làm việc LCN, VCN mạch liệu xem xét ví dụ sau: Đối với dòng liệu “Data”, VCN đánh số liên tiếp từ ÷ Cách đánh số tự nhiên chương trình ứng dụng, file liệu coi liên tục Chương trình ứng dụng yêu cầu hệ thống “đọc cluster thứ X file” để lấy thông tin từ file không yêu cầu “đọc cluster thứ Y đĩa” : quản lý liệu file đĩa vai trò hệ điều hành Từ hình minh họa thấy rõ: • • Dòng liệu “Data” có mạch liệu khác Mạch liệu : VCN ÷ tương ứng với LCN 1355 ÷ 1358 • Mạch liệu thứ : VCN ÷ tương ứng với LCN 1588 ÷ 1591 Có thể thấy chế ánh xạ VCN – LCN gần tương tự tổ chức FAT hệ thống file FAT c Master File Table – MFT Trong NTFS tất liệu đĩa lưu dạng file Lưu trữ thứ theo file cho phép hệ thống dễ dàng định vị trì liệu ,mỗi file riêng biệt bảo vệ bảo mật (sercurity descriptor) Ngoài ra, phần đĩa bị hỏng, NTFS định vị lại file siêu liệu để bảo vệ ổ đĩa, tránh việc truy cập vào ổ đĩa Hệ thống file NTFS bao gồm file gọi master file table hay MFT MFT mảng ghi kiểu file, kích thước ghi ngầm định KB ,không phụ thuộc vào kích thước liên cung Mỗi file đĩa NTFS ,gồm file MFT có lốI vào MFT Tất thông tin file gồm :kích thước ,nhãn thời gian ,ngày tháng ,sự cho phép ,nội dung liệu , lưu trữ lối vào MFT ,hoặc vùng trống phía MFT mà lối vào MFT mô tả Khi file thêm vào đĩa NTFS lối vào thêm vào MFT kích thước MFT tăng lên Khi file bị loại bỏ khỏi đĩa NTFS ,các lối vào MFT đánh dấu trống sử dụng lại Tuy nhiên ,vùng trống mà cấp phát cho lối vào không dùng để cấp phát lại ,và kích thước MFT không giảm xuống Các thuộc tính file yêu cầu nhiều vùng trống lưu trữ MFT gọI thuộc tính thường trực Khi tất thông tin file lớn ghi MFT chứa hết vài thuộc tính không thường trực Các thuộc tính không thường trực lưu trữ hay vài liên cung (ở nơi khác ) đĩa Tức file nhỏ lưu trữ toàn MFT file lớn tham chiếu trỏ Siêu liệu (metadata) NTFS lưu trữ liệu người dùng liệu quản lí bên dạng file Trong số chúng quan rọng file hệ thống đặc biệt gọi file siêu liệu (metadata file) File siêu liệu chứa thông tin bên liệu đĩa NTFS Các file siêu liệu tự động tạo thành phân vùng NTFS đinh dạng dặt đỉnh phân vùng Thực chất MFT số file siêu liệu ,nhưng chứa mô tả file siêu liệu khác 16 ghi MFT dành cho file siêu liệu Bảng sau thông tin quan trọng file siêu liệu file hệ thống tên file ghi chức MFT PHẦN : NỘI DUNG Master Table File $Mft Master Table2 File $MftMirr danh sách nội dung đĩa NTFS mirror ba ghi MFT ,dử dụng để truy cập MFT trường hợp có sector bị hỏng Log File $LogFile danh sách bước chuyển ,dùng cho khả phục hồI NTFS Volume $Volume Tên đĩa ,version NTFS thông tin khác Attribute Definition Table Root Filename Indexs $AttrDef Bảng tên ,số thứ tự mô tả thuộc tính $ thư mục gốc Cluster Bitmap $Bitmap cluster sử dụng Partition Boot Sector boootstap đĩa,nếu đĩa boot Bad File $Boot Cluster $BadClus định liên cung hỏng đĩa Quota Table $Quota Quyền sử dụng vùng trống người sử dụng ghi lại file Upcase Table $Upcase 10 chuyển kí tự thường thành kí tự hoa phù hợp vớI mã Unicode File siêu liệu $Extend mở rộng 11 Chứa file object identifier,file quota… 12-15 dự trữ Lưu ý: Hồ sơ từ 11 đến 15 MFT (thứ 12 thông qua hồ sơ 16, kể từ hồ sơ MFT đánh số số không) dành riêng cho tập tin siêu liệu tương lai Mỗi file siêu liệu NTFS có tên bắt đầu dấu $,mặc dù dấu ẩn NTFS dành 16 entries để lưu trữ file hệ thống đăc biệt (các file có tên bắt đầu kí tự $), : - Entry dành dành cho file $Mft, lưu trữ thông tin thân MFT - Entry thứ hai dành cho file $MFTMirr, lưu trữ số trường MFT - Entry thứ ba dành cho file $Logfile, lưu trữ thay đổi làm ảnh hưởng đến cấu trúc phân vùng dùng để khôi phục phân vùng có cố - Entry thứ tư dành cho file $Volume, lưu trữ thông tên số thông tin khác phân vùng - Entry thứ năm dành cho file $AttrDef, lưu trữ định nghĩa thuộc tính file - Entry thứ sáu dành cho thư mục gốc, lưu trữ danh mục file thư mục thư mục gốc Khi NTFS nhận yêu cầu truy xuất file, bắt đầu công việc tìm kiếm từ thư mục gốc - Entry thư bẩy dành cho file $Bitmap, lưu trữ thông tin việc phân bố cluster phân vùng Mỗi cluster gán tương ứng với bit xác định xem cluster phân bố cho file chưa - Entry thư tám dành cho file $Boot, lưu trữ bootstrap code phân vùng Có thể thấy NTFS áp dụng triệt để nguyên tắc tất file cách coi bootstrap code file riêng biệt - Entry thứ chín dành cho file $BadClus, lưu trữ thông tin cho phép xác định bad clusters phân vùng - Entry thứ mười dành cho file $Secure, lưu trữ bảng miêu tả thuộc tính bảo mật Trong NTFS, file thư mục có miêu tả bảo mật riêng Tuy nhiên việc lưu trữ bảng miêu tả bảo mật chung cho phép tiết kiệm nhớ cách tham PHẦN : NỘI DUNG chiếu file thư mục có thuộc tính bảo mật đến miêu tả bảo mật - Entry thứ mười dành cho file $UpCase, lưu trữ bảng chuyển đổi kí tự thường kí tự viết hoa - Entry thứ mười hai dành cho thư mục $Extend, thư mục lưu trữ số file hệ thống khác liên quan đến tính NTFS5 $ObjId, $Quota $Reparse - Entries từ thứ 13 đến thứ 16 dự trữ cho phiên NTFS sau Các entries kể từ entry thứ 17 sử dụng để quản lý file thư mục phân vùng NTFS Mỗi entry MFT có kích thước cố định 1KB cho dù kích thước cluster xác lập Với kích thước cố định vậy, file thư mục kích thước nhỏ lưu trữ toàn entry MFT : Bảng : Cấu trúc MFT entry cho file hay thư mục nhỏ Đối với file thư mục có kích thước lớn hơn, lưu trữ toàn entry MFT, NTFS cấp phát thêm dãy cluster liên tiếp phân vùng (còn gọi data runs) để lưu trữ chúng Trong trường hợp đặc biệt, file thư mục có nhiều thuôc tính cần lưu trữ, NTFS sử dụng nhiều MFT entries để quản lý; entry xác định vị trí entries khác gọi ghi file sở (base file record) Cách thức tổ chức quản lý file MFT có nhiều ưu điểm Thứ nhất, khiến cho việc truy xuất file thông tin liên quan nhanh chóng nhiều so với cấu trúc quản lý Root Directory File Allocation Table FAT Thứ hai, cung cấp cho file chế độ bảo mật riêng Và thứ ba, cho phép vị trí lưu trữ file hệ thống thay cần thiết d File thuộc tính file Mỗi file hay thư mục chiếm hay nhiều phần tử MFT Trong trường hợp file hay thư mục chiếm nhiều phần tử thì: • Phần tử gọi “Bản ghi file sở” (Base File Record) • (Các) phần tử gọi “Bản ghi file mở rộng” (Extension File Record) NTFS tổ chức file thành đối tượng bao gồm cặp thuộc tính (attribute) giá trị (value) tương ứng Ví dụ : - Thuộc tính Tên file ($FILE_NAME) giá trị “a.txt” - Thuộc tính Dữ liệu ($DATA) giá trị “hello NTFS!” Mỗi thuộc tính file xác định ba tham số, mã thuộc tính xác định loại thuộc tính, giá trị thuôc tính tên thuôc tính Trong ba thông số đó, tên thuộc tính thông số không bắt buộc thường dùng để phân biệt thuộc tính kiểu, điều có nghĩa thuộc tính tên thực tế thuộc tính liệu không tên thuộc tính liệu mặc định file Phân loại theo tên thuộc tính chia thành loại: - Loại có tên (named): Thuộc tính đặt tên - Loại tên (unnamed): Thuộc tính không đặt tên Các thuộc tính file lưu trữ luồng riêng rẽ Nói cách khác, NTFS không đọc ghi file, đọc ghi luồng thuộc tính file Thông thường, lệnh đọc ghi thao tác với luồng liệu mặc định file, nhiên chúng ta xác định luông liệu cần thao tác cách thêm vào tham số cần thiết lời gọi hàm Sau bảng danh sách thuộc tính NTFS file: Thuộc tính Tên thuộc tính Miêu tả PHẦN : NỘI DUNG Volume information $VOLUME_INFORMATION $VOLUME_NAME Standard information $STANDARD_ INFORMATION Filename $FILE_NAME Security $SECURI- Thuộc tính lưu trữ miêu tả descriptor TY_DESCRIPTOR bảo mật file Tuy nhiên từ NTFS5 trở lên, miêu tả bảo mật file lưu trữ file hệ thống $Secure Data $DATA Các thuộc tính xuất file hệ thống $Volume Chúng lưu trữ thông tin volume versions label information Xác định thuộc tính file read-only, archive ;lưu trữ tem thời gian có thời điểm tạo thời điểm cuối bị sửa đổi file; lưu trữ số thư mục trỏ đến file (số lượng hard link file) Tên file theo kí tự UNICODE Trong NTFS, file có nhiều thuộc tính tên tồn hard link đến nó; file có tên dài tự động có thêm tên ngắn khác để truy xuất ứng dụng chạy DOS hay Windows 16-bit Dữ liệu file Trong NTFS, file có thuộc tính liệu không tên (là thuôc tính liệu mặc định), có thêm thuộc tính liệu đặt tên khác Index root, index allocation, and index bitmap $INDEX_ROOT, $INDEX_ALLOCATION, $BITMAP Attribute list $ATTRIBUTE_LIST Object ID $OBJECT_ID Reparse infor- $REPARSE_POINT mation Các thuộc tính dùng để xây dựng cấu trúc nhị phân b+ cho thư mục có có kích thước lớn Được dùng trường hợp nhiều MFT entries dùng để lưu trữ thông tin file Khi đó, thuộc tính xác định thuộc tính khác file vị trí lưu trữ thuộc tính Là định danh có kích thước 64 bytes, dùng để xác định file hay thư mục NTFS cung cấp số hàm API cho phép truy xuất file theo giá trị thay theo đường dẫn đến Thuộc tính lưu trữ dữ liệu điểm lặp (reparse point) file Extended attributes $EA, $EA_INFORMATION Các thuộc tính mở rộng dùng hỗ trợ tương thích với ứng dụng OS/2 EFS information $LOGGED_UTILITY_ST REAM Lưu trữ danh sách người sử dụng phép truy xuất file thông tin sử dụng trình mã hoá giải mã file Nếu phân loại theo vị trí lưu giá trị thuộc tính chia thành loại: • Loại có giá trị thường trú (resident): PHẦN : NỘI DUNG • Loại có giá trị không thường trú (non-resident): Cấu trúc thuộc tính file chia làm hai phần : - Phần thứ gọi phần Standard Attribute Header; phần lưu trữ số thông tin quan trọng loại (ID), kích thước, tên nơi lưu trữ thuộc tính - Phần thứ hai phần giá trị thuộc tính, có kích thước thay đổi có cấu trúc tuỳ thuộc vào thuộc tính xét Thông thường, toàn thuộc tính file nhỏ lưu trữ MFT entry tương ứng với file đó; thuộc tính file gọi thường trú (resident) Nếu kích thước thuộc tính lớn để lưu trữ MTF record, phần giá trị lưu trữ data runs gọi không thường trú (non-resident ) Khi NTFS xây dựng chế chuyển đổi VCN – LCN để xác định địa data – runs VCN (Virtual Cluster Number) việc đánh số cluster file (bắt đầu từ 0), LCN (Logical Cluster Number) việc đánh số cluster phân vùng theo khoảng cách tương cluster phân vùng MTF record file nơi ta tìm thấy thông tin cần thiết cho việc chuyển đổi VCN file LCN phân vùng Sơ đồ miêu tả (một cách tương đối) thuộc tính FileName file MYFILE.DAT Thuộc tính gồm hai phần, phần header (nền mầu xám) phần giá trị (nền mầu trắng) gọi thường trú phần giá trị lưu trữ MFT record Sơ đồ miêu tả thuộc tính data File16, thuộc tính không thường trú giá trị lưu trữ hai data runs riêng biệt Data run thứ có kích thước clusters cluster logic 1355 phân vùng; data run thứ hai có kích thước clusters cluster logic 1588 PHẦN : NỘI DUNG e Cấu trúc thư mục NTFS Thư mục NTFS lưu trữ file, nghĩa sử dụng hay nhiều phần tử MFT, cấp phát cluster để lưu liệu… Về chất, thư mục danh sách file thư mục Trong trường hợp thư mục chứa file, liệu thư mục (ở danh sách file thư mục con) thường trú Khi danh sách lưu thuộc tính $INDEX_ROOT: Hình 2: danh sách file $INDEX_ROOT Nguồn : Windows Internals [3] Thuộc tính $INDEX_ROOT Cấu trúc giá trị thuộc tính $INDEX_ROOT sau: Header thuộc tính Chỉ mục gốc (Index Root) Header mục (Index Header) Index Entry Index Entry Các cấu trúc $INDEX_ROOT sau: - Index Root: Offset Độ dài Mô tả (hex) (dec) 00 Mã thuộc tính entries (ở 0x30 entries thuộc tính $FILE_NAME) 04 Luật đối chiếu (Collation Rule) 08 Kích thước Index Allocation Entry (bytes) 0C Số cluster cho ghi mục (Index Record) 0D Để dành - Index Header: Offset Độ dài Mô tả (hex) (dec) 00 Offset tới Index Entry 04 Tổng kích thước tất Index Entry 08 Kích thước cấp phát cho tất Index Entry 0C Vị trí chứa Index Entry 0D Để dành Vị trí chứa Index Entry: Các Index nhỏ, chứa vừa Index Root Các Index lớn, cần thêm Index Allocation - Index Entry: Là cấu trúc chứa thông tin file có thư mục xét Offset Độ dài Mô tả (hex) (dec) 00 Số tham chiếu file (File Reference) 08 Kích thước Entry tại, bội số (bytes) 0A Chiều dài giá trị (bytes) 0C Ký hiệu kết thúc 0E Để dành 10 Cấu trúc chứa giá trị thuộc tính $FILE_NAME Ký hiệu kết thúc Index Entry: Entry chưa phải Entry cuối danh sách Entry Entry cuối PHẦN : NỘI DUNG Các cấu trúc Index Entry thuộc tính $INDEX_ROOT tồn Index nhỏ (trường Vị trí chứa Index Entry có giá trị 0) Trong trường hợp ngược lại, thông tin file có thư mục chứa mạch liệu phân bố cluster đĩa Thông tin mạch liệu ghi thuộc tính $INDEX_ALLOCATION, thường bố trí sau $INDEX_ROOT Hình 3: danh sách file thư mục lớn Nguồn : Windows Internals [3] Thuộc tính $INDEX_ALLOCATION Thuộc tính có cấu trúc đơn giản, giống thuộc tính $DATA mạch liệu mà trỏ đến có cấu trúc xác định để tạo thành danh sách file có thư mục Cấu trúc giá trị thuộc tính $INDEX_ALLOCATION sau: Offset (hex) ~ Độ dài (dec) Mô tả ~ Header thuộc tính 00 … Các mạch liệu Mỗi cluster mạch liệu có cấu trúc sau: Standard Index Header Allocated Index Entry Allocated Index Entry Standard Index Header có cấu trúc sau: Offset (hex) Độ dài (dec) Mô tả 00 Ký hiệu nhận dạng “INDX” 04 Offset tới thứ tự cập nhật (Update Sequence) 06 Kích thước mảng số thứ tự cập nhật (S) 08 Số thứ tự file $LogFile 10 18 VCN đệm INDX Index Allocation Offset tới Allocated Index Entry * 1C Kích thước Allocated Index Entry * 20 Kích thước cấp phát Allocated Index Entry * 24 Cờ, mang giá trị file (?) 25 Để dành 28 Thứ tự cập nhật 2A * 2S-2 Mảng thứ tự cập nhật Giá trị tương 0x18 Mỗi Allocated Index Entry có cấu trúc sau: Offset (hex) 00 Độ dài (dec) Mô tả Số tham chiếu file (File Reference) 08 Kích thước khối Allocated Index Entry 0A Offset tới trường tên file 0C Các cờ index 0E Để dành 10 Số tham chiếu file thư mục cha 18 Thời gian tạo file 20 Thời gian thay đổi file cuối 28 Thời điểm thay đổi MFT lần cuối 30 Thời điểm đọc file lần cuối 38 Kích thước file cấp phát PHẦN : NỘI DUNG 40 Kích thước thật file 48 Các cờ (tương đối giống header thuộc tính) 50 Chiều dài tên file (F) 51 Không gian tên file 52 2*F Tên file (unicode) 2*F+52 P Để dành (để vào khối bytes) P+2*F+52 VCN đệm index với nút Như vậy, dễ hiểu mô hình hóa cấu trúc thư mục lớn (danh sách file thư mục không thường trú) NTFS sau: ... chung nhiều khái niệm nên HPFS NTFS có mã phân loại nhận dạng phân vùng ổ đĩa (07) Có số nhận dạng không bình thường có tới hàng chục mã có sẵn, hệ thống tập tin ổ đĩa lớn khác có mã riêng chúng... mật (sercurity descriptor) Ngoài ra, phần đĩa bị hỏng, NTFS định vị lại file siêu liệu để bảo vệ ổ đĩa, tránh việc truy cập vào ổ đĩa Hệ thống file NTFS bao gồm file gọi master file table hay... bạn bè góp ý để sản phẩm hoàn thiện PHẦN : NỘI DUNG Sơ lược NTFS PHẦN : NỘI DUNG I Sơ lược NTFS Tổ chức phân vùng đĩa cứng: Mỗi ổ đĩa cứng chia thành nhiều vùng riêng biệt gọi phân vùng (partition),