Bài tập lớn nghiên cứu về cấu trúc NTFS

33 3K 16
Bài tập lớn nghiên cứu về cấu trúc NTFS

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC HÙNG VƯƠNG KHOA TOÁN-CÔNG NGHỆ BÀI TẬP LỚN Môn : Hệ Điều Hành ĐỀ TÀI: Nghiên cứu về kiến trúc NTFS Giảng viên : Sinh viên thực hiện : Đỗ Việt Anh Ph Th, 2013 MỤC LỤC 1 Nhóm 8 Nghiên cứu về kiến trúc NTFS MỤC LỤC PHẦN 1 : LỜI NÓI ĐẦU 2 PHẦN 2 : NỘI DUNG 3 I. Sơ lược về NTFS 3 1. Tổ chức phân vùng trên đĩa cứng: 3 2. NTFS là gì? 3 a. .Khả năng cứu dữ liệu: 4 b. Bảo mật: 4 c. Một số tính năng khác: 5 3. Lịch sử phát triển NTFS 6 II. Hệ thống file NTFS 6 1. NTFS File System Driver (Bộ phận điều khiển hệ thống file NTFS) 8 2. Cấu trc đĩa NTFS 11 a. Partition Boot Sector 11 b. Cluster 14 c. Master File Table – MFT 16 d. File và thuộc tính của file 20 e. Cấu trc thư mục trong NTFS 25 PHẦN 1 : LỜI NÓI ĐẦU PHẦN 1 : LỜI NÓI ĐẦU Cùng với sự phát triển mạnh mẽ của nền kinh tế, một trong những lĩnh vực đang phát triển nhanh nhất hiện nay là Công nghệ thông tin. Hầu như trong bất kì lĩnh vực nào, ngành nghề nào cũng có mặt của những thiết bị điện tử, những chiếc máy vi tính, và vai trò của nó là không thể thiếu. Để đáp ứng những yêu cầu làm việc, máy tính càng ngày phải càng mạnh hơn, nhanh hơn, an toàn hơn, lưu trữ được nhiều thông tin hơn. Do đó cần phải có cách tổ chức quản lý dữ liệu cải tiến,tối ưu hơn. Hệ thống file NTFS ra đời có những ưu điển vượt trội so với các hệ thống file trước đó các nhà phát triển hệ điều hành đưa ra như FAT12, FAT16, FAT32, EXT,…. NTFS thay thế hệ thống tập tin FAT vốn là hệ thống tập tin ưa thích cho các hệ điều hành Windows của Microsoft. NTFS có nhiều cải tiến hơn FAT và HPFS (High Performance File System - Hệ thống tập tin hiệu năng cao) như hỗ trợ cải tiến cho các siêu dữ liệu và sử dụng các cấu trúc dữ liệu tiên tiến để cải thiện hiệu suất, độ tin cậy, và sử dụng không gian ổ đĩa, cộng thêm phần mở rộng như các danh sách kiểm soát truy cập bảo mật (access control list-ACL) và bản ghi hệ thống tập tin. NTFS là viết tắt của “New Technology File System” (Hệ thống tập tin công nghệ mới) là hệ thống tập tin tiêu chuẩn của Windows NT, bao gồm cả các phiên bản sau này của Windows như Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, và Windows 7. Vì thời gian tìm hiểu không nhiều và khả năng chuyên môn có hạn nên chưa thể nghiên cứu thật sâu, kĩ càng về đề tài này. Rất mong được thầy giáo và bạn bè góp ý để sản phẩm được hoàn thiện hơn. PHẦN 2 : NỘI DUNG Sơ lược về NTFS 3 Nhóm 8 Nghiên cứu về kiến trúc NTFS PHẦN 2 : NỘI DUNG I. Sơ lược về NTFS 1. Tổ chức phân vùng trên đĩa cứng: Mỗi ổ đĩa cứng có thể được chia thành nhiều vùng riêng biệt được gọi là các phân vùng (partition), ví dụ: HDD Partition 1 Partition 2 Partition 3 Partition 4 Thông tin về việc chia phân vùng được ghi trong sector đầu tiên của đĩa cứng (Master Boot Record) và được gọi là Partition Table. Mỗi phân vùng có thể được định dạng theo một dạng thức xác định để tổ chức lưu trữ dữ liệu gọi là hệ thống file (File System). Có khá nhiều loại file sys- tem tương ứng với hệ điều hành được sử dụng. Một số hệ điều hành có thể 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 và hệ thống file hỗ trợ 2. NTFS là gì? 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, PHẦN 2 : NỘI DUNG Sơ lược về NTFS 4 Nhóm 8 Nghiên cứu về kiến trúc NTFS 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. Ngoài ra, NTFS còn có rất nhiều tiện ích chuyên sâu khác cho giới người dùng cao cấp khác như “mount partition”, tạo “hard link” tới một file, hỗ trợ dùng RAID NTFS được thiết kế để phù hợp với một số mục đích đặc biệt : a. .Khả năng cứu dữ liệu: NTFS sử dụng khái niệm “Thực hiện mức nguyên tử” (“Atomic transaction”) để thực hiện tính tăng khôi phục dữ liệu hệ thống. Nếu một chương trình đưa ra các yêu cầu làm thay đổi cấu trúc của hệ thống file NTFS như: thay đổi cấu trúc thư mục, kéo dài file, tạo file mới , NTFS sẽ thực hiện yêu cầu này, có 2 khả năng xảy ra:  Thành công tốt đẹp  Quay lui lại trạng thái tốt trước đó nếu bị lỗi. b. Bảo mật: Hệ bảo mật trong NTFS được thừa kế trực tiếp từ mô hình hướng đối tượng trong Kernel của Windows. Các đối tượng chính của kernel bao gồm: - Files PHẦN 2 : NỘI DUNG Sơ lược về NTFS 5 Nhóm 8 Nghiên cứu về kiến trúc NTFS - 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 trong registry (registry keys) - Máy in (printers) …. Mỗi đối tượng trong kernel đều có một bảng mô tả bảo mật (security descriptor) riêng. Mỗi khi một tiến trình yêu cầu mở file (hay mở bất kỳ đối tượng nào khác), hệ thống bảo mật đọc và kiểm tra bảng mô tả bảo mật của đối tượng có phù hợp với user name và password của người đang đăng nhập không, nếu phù hợp mới cho phép mở đối tượng đó. Do vậy không một tiến trình nào có thể mở file mà không được sự cấp phép của administrator hay của người tạo file. Hệ thống này hoạt động tương đối hiệu quả với file vì đối với file, bảng mô tả bảo mật này được ghi trực tiếp lên đĩa như một phần của file. c. Một số tính năng 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 của FAT. - Lưu trữ hiệu quả - một lần nữa, tại thời điểm NTFS được phát triển, hầu hết máy tính cá nhân sử dụng FAT16, kết quả là đĩa làm việc chậm chạp, kém năng suất. NTFS ngăn ngừa vấn đề này bằng cách sử dụng một 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 như FAT, một phân vùng cực đại lớn nhất chỉ là 4GB, NTFS cho phép phân vùng lớn hơn vào khoảng 16 exa- byte PHẦN 2 : NỘI DUNG Sơ lược về NTFS 6 Nhóm 8 Nghiên cứu về kiến trúc NTFS - Cơ chế đánh thứ tự (indexing) - Đánh dấu bad sectors động - Nén file (compression) - Lưu lại các thay đổi - Mã hóa (encryption) - Chống phân mảnh (defragmentation) - Hỗ trợ chỉ đọc (read-only) 3. 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 của OS/2 có một số tính năng mới quan trọng. Khi Microsoft tạo ra hệ điều hành mới, họ đã vay mượn nhiều khái niệm cho NTFS. Có lẽ do có chung nhiều khái niệm nên HPFS và NTFS có cùng mã phân loại nhận dạng phân vùng ổ đĩa (07). Có cùng một số nhận dạng là không bình thường khi có tới hàng chục mã có sẵn, và các hệ thống tập tin ổ đĩa lớn khác có mã của riêng chúng. FAT có hơn 9 mã (mỗi mã cho FAT12, FAT16, FAT32, vân vân). Các thuật toán trong đó xác định hệ thống tập tin trong một kiểu phân vùng 07 phải thực hiện kiểm tra bổ sung. Đây cũng rõ ràng rằng NTFS cũng dùng chung thiết kế kiến trúc cho Files-11 được sử dụng bởi VMS. Điều này hầu như không đáng ngạc nhiên khi Dave Cutler là người đứng đầu của cả VMS và Windows NT. NTFS có 5 phiên bản được phát hành:  Phiên bản 1.0 (v1.0) với NT 3.1, phát hành giữa năm 1993  Phiên bản 1.1 (v1.1) với NT 3.5, phát hành cuối năm 1994  Phiên bản 1.2 (v1.2) với NT 3.51 (giữa năm 1995) và NT 4 (giữa năm 1996) (đôi khi còn gọi là "NTFS 4.0", vì phiên bản OS là 4.0)  Phiên bản 3.0 (v3.0) của Windows 2000 ("NTFS V5.0")  Phiên bản 3.1 (v3.1) của Windows XP (mùa thu 2001; "NTFS V5.1"), Windows Server 2003 (mùa xuân 2003; đôi khi còn gọi là "NTFS V5.2"), PHẦN 2 : NỘI DUNG Sơ lược về NTFS 7 Nhóm 8 Nghiên cứu về kiến trúc NTFS Windows Vista (giữa năm 2005) (đôi khi còn gọi là "NTFS V6.0") và Windows Server 2008 PHẦN 2 : NỘI DUNG Hệ thống file NTFS 8 Nhóm 8 Nghiên cứu về kiến trúc NTFS II. Hệ thống file NTFS 1. NTFS File System Driver (Bộ phận điều khiển hệ thống file NTFS) NTFS và các hệ thống file khác là những trình điều khiển thiết bị có khả năng tải được chạy trong “kernel-mode” chúng được viện đẫn một cách gián tiếp bởi các ứng dụng chạy trong Win32 hoặc những I/O API khác ( như là POSIX). Trong hình dưới ,môi trường hệ thống phụ Windows 2000 gọi hệ thống dịch vụ Win- dows 2000 mà lần lượt định vị các bộ phận điều khiển chịu tải thích hợp và gọi chúng Hnh 1 Các thành phần của hệ thống vào ra trong Windows 2000 Các tầng bộ phận điều khiển thiết bị đi qua I/O yêu cầu đến một bộ phận điều khiển khác bằng cách gọi trình quản lý thực thi vào-ra (I/O) trong Windows 2000. Dựa vào trình quản lý vào-ra như đóng vai trò trung gian cho phép mỗi bộ phận điều khiển để duy trì sự độc lập vì vậy nó có thể tải vào hoặc chuyển đi mà không bị ảnh hưởng bởi các bộ phận điều khiển khác.Thêm vào đó, bộ phận điều khiển NTFS tương tác với ba thành phần thực thi khác trong Windows 2000. Dịch vụ file bản ghi (log file service LFS) là một phần của NTFS mà cung cấp các dịch vụ để duy trì một bản ghi các đĩa ghi. Việc ghi các file bản ghi LFS được sử dụng để khôi phục lại đĩa đã dịnh dạng NTFS trong trường hợp hệ thống bị lỗi. Log File Service Log file service (LFS) là một sêri các thường trình “kernel-mode” bên trong bộ phận điều khiển NTFS được NTFS sử dụng để truy nhập log file. Mặc dù ban PHẦN 2 : NỘI DUNG Hệ thống file NTFS 9 Nhóm 8 Nghiên cứu về kiến trúc NTFS đầu được thiết kế để logging và dịch vụ khôi phục cho hơn một máy khách, LFS chỉ được sử dụng bởi NTFS. Trình gọi – trong trường hợp này là NTFS- đi qua LFS một con trỏ tới một đối tương file mở mà định rõ một log file để truy nhập. LFS hoặc là khởi chạy một log file mới hoặc là gọi bộ phận quản lý cache trong Windows 2000 để truy nhập log file hiện tại xuyên qua cache, trong hình dưới đây. Hnh 2: Log file service(LFS) Bộ phận quản lý cache là một thành phần của Windows 2000 executive mà cung cấp systemwide trữ các dịch vụ cho NTFS và các bộ phận quản lý hệ thống file khác, bao gồm cả bộ phận quản lý hệ thống file mạng(servers và redirectors). Tất cả các hệ thống file cung cấp cho Windows 2000 truy cập cached file bằng cách ánh xạ chúng vào trong hệ thống không gian địa chỉ sau đó truy cập vào bộ nhớ ảo. Bộ phận quản lý cache cung cấp giao diện hệ thống file chuyên dụng đến bộ phận quản lý bộ nhớ trong Windows2000 cho mục đích này. Khi một chương trình cố gắng truy cập vào một phần của file mà không được load vào cache(cache miss) thì trình quản lý bộ nhớ gọi NTFS để truy cập vào bộ phận quản lý đĩa và đạt được nội dung file từ đĩa. Trình quản lý cache tối ưu đĩa bằng cách sử dụng “its lazy writer threads” để gọi trình quản lý bộ nhớ làm sạch nội dung cache đến đĩa như là hoạt động nền (ghi đĩa không đồng bộ). [...]... thư mục con không thường trú) trong NTFS như sau: Hình 5: Mô hình cấu trúc thư mục lớn 30 Nhóm 8 Nghiên cứu về kiến trúc NTFS PHẦN 2 : NỘI DUNG TỔNG KẾT III TỔNG KẾT 1 Tài liệu tham khảo  http://vi.wikipedia.org/wiki /NTFS  http:/ /ntfs. com/  Chú Thích Bảng 1 : Cấu trúc Boot Sector của phân vùng NTFS 12 Bảng 2 : Cấu trúc bảng BPB và BPB mở rộng 13 Bảng 3 : Cấu trúc MFT entry cho một file hay thư... thành phần của hệ thống vào ra trong Windows 2000 8 Hình 2: Log file service(LFS) 9 Hình 3: NTFS và các thành phần quan hệ 10 Hình 4: Cấu trúc dữ liệu NTFS 11 Hình 5: Mô hình cấu trúc thư mục lớn 30 31 Nhóm 8 Nghiên cứu về kiến trúc NTFS PHẦN 2 : NỘI DUNG Hệ thống file NTFS 32 Nhóm 8 Nghiên cứu về kiến trúc NTFS ... file NTFS Hình 3 Hình 3: NTFS và các thành phần quan hệ NTFS tham gia vào trong mô hình đối tượng Windows 2000 bằng cách thi hành file như là đối tượng Sự thi hành này cho phép được chia sẻ và bảo vệ bởi trình quản lý đối tượng,một thành phần của Windows 2000 quản lý mọi mức thực thi đối tượng 10 Nhóm 8 Nghiên cứu về kiến trúc NTFS PHẦN 2 : NỘI DUNG Hệ thống file NTFS Hình 4: Cấu trúc dữ liệu NTFS NTFS... tin về các mạch dữ liệu này được ghi trong thuộc tính $INDEX_ALLOCATION, thường được bố trí ngay sau $INDEX_ROOT 27 Nhóm 8 Nghiên cứu về kiến trúc NTFS PHẦN 2 : NỘI DUNG Hệ thống file NTFS Hình 3: danh sách file của thư mục lớn Nguồn : Windows Internals [3]  Thuộc tính $INDEX_ALLOCATION Thuộc tính này có cấu trúc rất đơn giản, giống như thuộc tính $DATA nhưng mỗi mạch dữ liệu mà nó trỏ đến có cấu trúc. .. trong thư mục Cấu trúc giá trị của thuộc tính $INDEX_ALLOCATION như sau: Offset (hex) ~ 00 Độ dài (dec) ~ … Mô tả Header thuộc tính Các mạch dữ liệu Mỗi cluster trong mạch dữ liệu có cấu trúc như sau: Standard Index Header Allocated Index Entry 1 Allocated Index Entry 2 Standard Index Header có cấu trúc như sau: 28 Nhóm 8 Nghiên cứu về kiến trúc NTFS PHẦN 2 : NỘI DUNG Hệ thống file NTFS Offset (hex)... Kích thước đã cấp phát cho tất cả các Index Entry 26 Mô tả Nhóm 8 Nghiên cứu về kiến trúc NTFS PHẦN 2 : NỘI DUNG Hệ thống file NTFS 0C 1 Vị trí chứa các Index Entry 0D 3 Để dành Vị trí chứa các Index Entry: 0 Các Index nhỏ, có thể chứa vừa trong Index Root 1 Các Index lớn, cần thêm Index Allocation - Index Entry: Là cấu trúc chứa thông tin về các file có trong thư mục đang xét Offset Độ dài (hex) (dec)... thống NTFS dành sector cuối cùng của phân vùng để chứa bản sao của Boot Sector Trong trường hợp Boot Sector bị hỏng, hệ thống sẽ dùng bản sao này để thay thế Khi bạn format một phân vùng theo định dạng NTFS, trình format sẽ phân bố 16 sector đầu tiên của phân vùng đó cho bootsector và một số thông tin khác Boot sector của một phân vùng NTFS có cấu trúc như sau : 11 Nhóm 8 Nghiên cứu về kiến trúc NTFS. .. là file siêu 16 Nhóm 8 Nghiên cứu về kiến trúc NTFS PHẦN 2 : NỘI DUNG Hệ thống file NTFS dữ liệu (metadata file) File siêu dữ liệu chứa thông tin bên trong về dữ liệu trong đĩa NTFS Các file siêu dữ liệu này được tự động tạo thành khi phân vùng NTFS được đinh dạng và được dặt ở đỉnh của phân vùng Thực chất MFT là một trong số các file siêu dữ liệu này ,nhưng nó cũng chứa mô tả về các file siêu dữ liệu... entry của MFT : Bảng 3 : Cấu trúc MFT entry cho một file hay thư mục nhỏ Đối với các file hoặc thư mục có kích thước lớn hơn, không thể được lưu trữ toàn bộ trong một entry của MFT, NTFS sẽ cấp phát thêm các dãy cluster liên tiếp trên phân vùng (còn gọi là các data runs) để lưu trữ chúng Trong trường hợp 19 Nhóm 8 Nghiên cứu về kiến trúc NTFS PHẦN 2 : NỘI DUNG Hệ thống file NTFS đặc biệt, khi file hoặc... 2: danh sách file trong $INDEX_ROOT Nguồn : Windows Internals [3] 25 Nhóm 8 Nghiên cứu về kiến trúc NTFS PHẦN 2 : NỘI DUNG Hệ thống file NTFS  Thuộc tính $INDEX_ROOT Cấu trúc của giá trị thuộc tính $INDEX_ROOT như sau: Header thuộc tính Chỉ mục gốc (Index Root) Header chỉ mục (Index Header) Index Entry 1 Index Entry 2 Các cấu trúc con của $INDEX_ROOT như sau: - Index Root: Offset Độ dài (hex) (dec) . BÀI TẬP LỚN Môn : Hệ Điều Hành ĐỀ TÀI: Nghiên cứu về kiến trúc NTFS Giảng viên : Sinh viên thực hiện : Đỗ Việt Anh Ph Th, 2013 MỤC LỤC 1 Nhóm 8 Nghiên cứu về kiến trúc. DUNG Sơ lược về NTFS 4 Nhóm 8 Nghiên cứu về kiến trúc NTFS 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. một phân vùng cực đại lớn nhất chỉ là 4GB, NTFS cho phép phân vùng lớn hơn vào khoảng 16 exa- byte PHẦN 2 : NỘI DUNG Sơ lược về NTFS 6 Nhóm 8 Nghiên cứu về kiến trúc NTFS - Cơ chế đánh

Ngày đăng: 26/11/2014, 08:10

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan