1. Trang chủ
  2. » Tất cả

Nghiên cứu tìm hiểu về hệ thống tệp tin trong HĐH Linux

29 10 0

Đ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 CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN o0o BÀI TẬP LỚN MÔN: NGUYÊN LÝ HỆ ĐIỀU HÀNH Đề tài: Nghiên cứu tìm hiểu hệ thống tệp tin HĐH Linux Giảng viên: Nguyễn Bá Nghiễn Nhóm sinh viên thực hiện: Nhóm 15 Nguyễn Hồng Dương Nguyễn Văn Quyền Nguyễn Quốc Cường Hoàng Văn Nam Giang Sơn Lâm Vũ Hoàng Minh Hà Nội, 2022 PHIẾU HỌC TẬP CÁ NHÂN/NHĨM I Thơng tin chung Tên lớp: KTMT1 Khóa 13 Tên nhóm: 15 Họ tên thành viên nhóm: Nguyễn Quốc Cường, Nguyễn Hoàng Dương, Giang Sơn Lâm, Vũ Hoàng Minh, Hoàng Văn Nam, Nguyễn Văn Quyền II Nội dung học tập Tên chủ đề: Nghiên cứu tìm hiểu Hệ thống tệp tin HĐH Linux Hoạt động sinh viên - Hoạt động/Nội dung 1: Trình bày, minh họa phương thức quản lý hệ thống tệp tin Ext3 HĐH Linux - Hoạt động/Nội dung 2: Liên hệ so sánh với nguyên lý quản lý hệ tệp học III Nhiệm vụ học tập Hoàn thành báo cáo tập lớn theo thời gian quy định (từ ngày 02 tháng 11 năm 2020 đến 05 tháng 12 năm 2020) Báo cáo sản phầm nghiên cứu giao trước giảng viên sinh viên khác IV Học liệu sử dụng cho tập lớn Tài liệu học tập: - Nguyễn Thanh Hải, Giáo trình Nguyên lý hệ điều hành, 2016 - Abraham Silberschatz, Galvin, Gagne, Operating System Concepts 8th edition - Tài liệu điện tử internet Mục Lục LỜI MỞ ĐẦU Hệ điều hành chương trình quản lý phần cứu máy tính Nó cung cấp tảng cho chương trình ứng dụng đóng vai trị trung gian giao tiếp người dùng máy tính phần cứng máy tính Nó giúp máy tính dễ sử dụng hơn, thuận lợi hiệu Tài nguyên máy tính mà điển hình hệ sở liệu (Database System) có ảnh hưởng nhiều tới tính hiệu việc sử dụng máy tính Mà hệ thống file hệ thống chủ yếu Bởi quản lí hệ thống file có ảnh hưởng lớn trực tiếp tới hiệu sử dụng máy tính Việc quản lí hệ thống file xây dựng tổ chức tùy thuộc vào hệ điều hành Sau nhóm chúng em xin trình bày vấn đề:” Quản lý hệ thống file hệ điều hành Linux” - Các tài liệu tham khảo: • Running Linux nhà xuất O’REILLY • Giáo trình nguyên lý hệ điều hành nhà xuất Hà Nội • The Linux Device File – System tác giả Rechard Gooch • Giáo trình ngun lý hệ điều hành – Trường Đại học Công Nghiệp Hà Nội, Khoa Cơng Nghệ Thơng Tin • Và số trang web trực tiếp khác Mặc dù cố gắng hạn chế thời gian, trình độ, nguồn số liệu nên chắn viết không tránh khỏi sai sót khách quan Chúng em mong thầy bạn tận tình bảo để chúng em rút kinh nghiệm Chúng em xin chân thành cám ơn ! CHƯƠNG 1: TỔNG QUAN VỀ LINUX 1.1 Giới thiệu Linux 1.1.1 Khái niệm a) UNIX gì? UNIX hệ điều hành coi hệ điều hành hồn chỉnh thứ đến từ nguồn nhà cung cấp b) Linux gì? Linux UNIX viết Linus Torvalds vào năm 1991 Ơng viết lại tồn code dựa ý tưởng UNIX Một cách xác, “Linux” nhân hệ điều hành, tên sử dụng rộng rãi để miêu tả tổng thể hệ điều hành tên GNU/Linux Hệ điều hành tạo việc đóng gói nhân Linux với thư viện cơng cụ GNU Linux có nhiều phân phối, phân phối với GUI (Graphical User Interface) 1.1.2 Các phân phối Linux Hiện Linux có nhiều phân phối khác nhau, phần tính chất “mã nguồn mở” Linux Tên phân phối Ubuntu Fedora Manjaro Linux Elementary Knoppix Debian GNU/Linux Mint Phiên 18.04 LTS 27 17.1.8 0.4.1 7.0.2 9.0 18.3 Trang web https://ubuntu.com https://getfedora.org https://manjaro.org/ https://elementary.io https://knoppix.com https://debian.org https://linuxmint.com Bảng1.1: Một số Linux phổ biến (Cập nhật tháng 4/2018 https://distrowatch.com) CHƯƠNG QUẢN LÍ HỆ THỐNG FILE TRÊN LINUX 2.1 Cơ file thư mục 2.1.1 Khái niệm Hệ thống file sở liệu file thư mục, đính kèm vào thư mục gốc thư mục hệ thống file khác đính kèm trước Việc đính kèm hệ thống file gọi mount Mỗi phân vùng hệ thống file Đĩa CD hay USB hệ thống file Linux quản lý tất phân vùng hệ thống file khác dạng thư mục, có gốc thư mục / Một hệ thống file mà chưa mount khơng thể truy cập file thư mục Khơng giống Windows, Linux khơng có khái niệm ổ đĩa logic C hay D Tất điều "treo" lên (đặt sau thư mục gốc), gọi "cây thư mục" Mọi thư mục khác điều con, cháu gốc (/) Hình 2.1: Mơ hình hệ thống tập tin Linux Một số thư mục tiêu biểu như: - /: Thư mục root, lưu ý phân biệt với thư mục home user root (/root)! - /bin, /sbin: Chứa lệnh hệ thống - /boot: Chứa kernel files hổ trợ cho kernel (System.map, initrd, ) - /dev: Chứa device files - /etc: Chức file thơng tin, cấu hình hệ thống - /home: Thư mục nhà mặc định cho users - /mnt /media: Chứa mount-point cho thiết bị removeable - /lib: Chứa thư viện - /usr: Tương tự thư mục Program Files Windows - /proc: Thư mục ảo, chứa thông tin sử dụng Kernel - /var: Chứa log files spool files 2.2 Các phương pháp làm việc với file , thư mục Trong hệ điều hành Linux, tập tin mà người sử dụng nhìn thấy theo cấu trúc thư mục với root nằm Từ điểm thư mục tập tin mọc nhánh lan dần xuống phía Thư mục cao nhất, ký hiệu vạch /, gọi root directory (thư mục gốc) Hình 2.2: Sơ đồ mơ tả thư mục Với người sử dụng thư mục dải tập tin thư mục nối liền Trên thực tế, nhiều thư mục thư mục nằm nhiều vị trí vật lý khác nhau, partition khác nhau, chí ổ đĩa khác Khi partition kết nối với cấu trúc thư mục gọi mount point (điểm kết nối, điểm lắp ráp) mount point tất thư mục cấp gọi file system Hệ điều hành Linux hình thành từ nhiều thư mục tập tin khác Các thư mục lập thành nhiều file system khác nhau, tùy vào cách cài đặt bạn chọn Nhìn chung, đa phần hệ điều hành nằm hai file system: root file system (file system gốc) ký hiệu / file system khác kết nối theo /usr (đọc user) - Khi dùng lệnh cd / để chuyển thư mục gốc gọi hiển thị danh sách thư mục, bạn thấy nhiều thư muc Những thư mục tạo thành nội dung root file system, đồng thời cung cấp mount point cho file system khác - Thư mục /bin chứa chương trình thi hành được, cịn gọi binaries (nhị phân) Chúng chương trình hệ thống chủ yếu Nhiều lệnh Linux, chẳng hạn ls chương trình nằm thư mục - Thư mục /sbin chứa file nhị phân hệ thống Hầu hết tập tin dùng để quản trị hệ thống (superuser-bin) - Thư mục /etc quan trọng chứa nhiều file cấu hình Linux Chúng giúp cho hệ thống máy bạn có “cá tính” File mật passwd nằm thư mục này, fstab , danh sách file system cần nạp vào khởi động máy Ngồi thư mục cịn chứa script khởi động cho Linux, danh sách host kèm địa IP, với nhiều thơng tin cấu hình khác - Các thư viện dùng chung chứa thư mục /lib Khi dùng chung thư viện, nhiều chương trình sử dụng lại loại mã, chứa chỗ, thư viện giúp giảm thiểu kích cỡ chương trình khía cạnh thời gian chạy - Thư mục /dev chứa file đặc biệt gọi device files (file thiết bị, hệ thống sử dụng để chạy phần cứng Ví dụ file /dev/mouse đọc thông tin từ chuột Khi tổ chức sử dụng phần cứng theo cách này, Linux làm cho việc tương tác với phần cứng trông giống phần mềm Điều có nghĩa nhiều trường hợp, bạn dùng cú pháp dùng với directory đĩa mềm, ta dùng lệnh: tar -cdf /dev/fd0 tackett - /dev/fd0 cho lệnh tar biết phải dùng đĩa mềm Nhiều thiết bị thư mục /dev tập hợp thành nhóm logical - Thư mục /proc file system ảo, dùng để đọc thông tin từ nhớ - Thư mục /tmp chứa file tạm mà chương trình tạo chạy Nếu bạn biết hệ thống máy có chương trình tạo nhiều file tạm với kích cỡ lớn, bạn nên tạo thư mục /tmp thành file system riêng thay đặt vào file system gốc thư mục bình thường Bởi với đà chất chứa file tạm ngày nhiều, file system gốc nhanh chóng bị đầy - Thư mục /home thư mục sở home directory cho user Quản trị viên thường đặt /home thành file system riêng rẽ nhằm tạo nhiều khoảng trống cho user sử dụng Ngoài hệ thống máy bạn có nhiều user, bạn nên chia thư mục /home thành nhiều file system khác Ví dụ bạn tạo /home/vnexperts cho thành viên nhóm điều hành cơng ty /home/admin cho quản trị viên Mỗi thư mục file system riêng, bên có home directory riêng cho user tương ứng - Thư mục /var lưu file thay đổi kích thước theo thời gian Nhiều file đăng nhập hệ thống (system log file) thường nằm thư mục Thư mục /var/spool với thư mục dùng để chứa liệu tin tức thư tín nhận giả chờ gửi nơi khác - Thư mục /usr thư mục quan trọng cho hệ thống Linux, chứa đựng nhiều thư mục có chương trình cần thiết cho hệ thống Những thư mục cấp /usr chứa gói phần mềm lớn mà bạn cài đặt Bảng 1.2 giới thiệu số thư mục cấp /usr Ở hầu hết trường hợp thư mục /usr thiết lập file system riêng rẽ Thư mục thứ cấp /usr/bin /usr/etc /usr/include /usr/g++-include /usr/lib /usr/share/man /dev/pty* Description Lưu nhiều file thi hành hệ thống Lưu nhiều file cấu hình hệ thống Tại nhiều thư mục cấp /usr/include nơi lưu tất file kem theo biên dịch C Những file header định nghĩa hàm dùng lập trình C Lưu file kèm theo biên dịch C Chứa thư viện để chương trình sử dụng kêt nối Chứa trang thủ cơng cho chương trình Bên /usr/share/man nhiều thư mục tương ứng với đoạn trang man Driver hỗ trợ terminal giả, dùng cho việc đăng nhập từ xa, chẳng hạn phiên đăng nhập từ Telnet /usr/src /usr/local Chứa thư mục mã nguồn nhiều chương trình hệ thống Nếu nhận gói phần mềm chờ cài đặt, bạn nên lưu vào usr/src/tên-gói trước cài đặt Dành riêng cho việc thiết kế tùy chỉnh ứng dụng cho phù hợp với hệ thống máy bạn Nhìn chung, hầu hết phần mềm dùng chỗ lưu thư mục cấp thư mục Bảng 1.2 Các thư mục thứ cấp quan trọng file system /usr File hệ thống coi lớp bên hệ điều hành mà nhiều lúc người sử dụng không nghĩ tới, trừ trường hợp phải đối mặt với nhiều tùy chọn file system Linux Khả hỗ trợ file hệ thống Linux hoàn toàn khác biệt so với Windows Mac OS X Cụ thể, trongWindows Mac OS X, dễ dàng tìm ứng dụng hỗ trợ file hệ thống non standard, hệ điều hành lại cài đặt dựa file system nguyên gốc Nếu nói theo cách khác, Linux có khả hỗ trợ nhiều loại file hệ thống với công nghệ tích hợp vào bên kernel 2.3 Journaling gì? Điểm trước tiên cần tìm hiểu journaling trước nghiên cứu kỹ file system HĐH Linux Điều cần nhớ journaling tất loại file hệ thống ngày phải sử dụngjournaling theo nhiều dạng khác tảng laptop desktop với Linux Journaling sử dụng ghi liệu lên ổ cứng đóng vai trị đục lỗ để ghi thông tin vào phân vùng Đồng thời, khắc phục vấn đề xảy ổ cứng gặp lỗi q trình này, khơng có journal hệ điều hành khơng thể biết file liệu có ghi đầy đủ tới ổ cứng hay chưa 10 • Hệ thống tệp tin ext2 cho phép truy xuất đến hệ thống khác như: FAT FAT32, MSDOC Windows 9.x DOC dễ dàng Ngược lại, từ hệ thống truy xuất đến ext2 thông qua tiện ích LTOOLS Tổ chức đĩa Tất kích thước cấu trúc liệu dựa kích cỡ block kích thước sector, Kích cỡ block thay đổi phụ thuộc vào hệ thống tệp tin Ví dụ đĩa mềm, 1KB(2 sector), phân vùng 10GB, kích cỡ block thường 4KB hay 8KB Mỗi block lại chia nhỏ thành fragment, chưa thấy hệ thống tệp tin có kích thước fragment khơng khớp với block Ngoại trừ superblock, tất cấu trúc liệu thay đổi lại kích thước cho khớp với block Ví dụ, Inode Table Block chứa entry block 4KB nhiều block 1KB, nên người ta phải đưa vào tính tốn nên truy xuất cấu trúc đặc biệt Block partition Ext2 không quản lý hệ thống tệp tin ext2, dùng cho partition boot sector Phần cịn lại partition Ext2 chia thành block group, biểu diễn hình sau: Hình 3.1 Sự bố trí phân vùng Ext2 block group Tất block group có kích thước lưu trữ nhau, nhân tìm thấy vị trí block đĩa từ số mục kiểu nguyên Trong đĩa mềm chứa group điều khiển tất block hệ thống tệp tin, đĩa cứng 10GB dễ dàng chia thành 30 block group vậy, block group điều kiển số lượng block cụ thể Vị trí đầu block group cấu trúc liệu khác liệt kê đường dẫn phần lại, cung cấp thông tin nhiều hơn, cấu trúc liệu xác định trạng thái hệ thống tệp tin hành 3.1.2 Cấu trúc liệu ext2 Không gian ext2 chia thành khối Các khối nhóm thành nhóm khối, tương tự nhóm hình trụ Hệ thống tệp Unix Thơng thường có hàng ngàn khối hệ thống tệp lớn Dữ liệu cho tệp cho thường chứa nhóm khối Điều thực để giảm thiểu số lượng tìm kiếm đĩa đọc số lượng lớn liệu liền kề Mỗi nhóm khối chứa bảng mơ tả siêu khối nhóm khối tất nhóm khối chứa bitmap khối, bitmap inode, bảng inode cuối khối liệu thực tế Superblock chứa thông tin quan trọng quan trọng việc khởi động hệ điều hành Do đó, lưu thực nhiều nhóm khối hệ thống tệp Tuy nhiên, thơng thường có nó, tìm thấy khối hệ thống tệp, sử dụng q trình khởi động Bộ mơ tả nhóm lưu trữ vị trí bitmap khối, bitmap inode bắt đầu bảng inode cho nhóm khối Chúng lưu trữ bảng mô tả nhóm Nút Mỗi tập tin thư mục đại diện nút Thuật ngữ “inode” xuất phát từ “nút mục” (theo thời gian, trở thành nút i sau inode) Inode bao gồm liệu kích thước, quyền, quyền sở hữu vị trí đĩa tệp thư mục Hình 3.2: Ví dụ cấu trúc inode ext2 Trích dẫn từ tài liệu nhân Linux cho ext2: 16 “Có trỏ tới 12 khối chứa liệu tệp nút Có trỏ tới khối gián tiếp (chứa trỏ tới nhóm khối tiếp theo), trỏ tới khối gián tiếp gấp đôi trỏ tới khối khối gián tiếp trebly.” Do đó, có cấu trúc ext2 có 15 trỏ Con trỏ đến 12 điểm vào khối trực tiếp, trỏ 13 điểm đến khối gián tiếp, trỏ 14 điểm đến khối gián tiếp gấp đôi trỏ 15 điểm đến khối gián tiếp ba lần Thư mục Mỗi thư mục danh sách mục thư mục Mỗi mục nhập thư mục liên kết tên tệp với số inode bao gồm số inode, độ dài tên tệp văn thực tế tên tệp Để tìm tập tin, thư mục tìm kiếm từ trước đến sau cho tên tệp liên kết Đối với kích thước thư mục hợp lý, điều tốt Nhưng thư mục lớn điều khơng hiệu ext3 cung cấp cách lưu trữ thư mục thứ hai ( HTree ) hiệu so với danh sách tên tệp Thư mục gốc lưu trữ inode số hai, để mã hệ thống tệp tìm thấy thời điểm gắn kết Các thư mục thực cách lưu trữ tên thư mục trường tên số inode thư mục trường inode Liên kết cứng thực cách lưu trữ số inode với nhiều tên tệp Truy cập tệp hai tên dẫn đến số inode liệu Các thư mục đặc biệt “.” (thư mục tại) “ ” (thư mục mẹ) triển khai cách lưu trữ tên “.” “ ” thư mục số inode thư mục thư mục mẹ trường inode Điều trị đặc biệt mà hai mục nhận chúng tạo tự động có thư mục thực chúng khơng thể bị xóa Phân bổ liệu Khi tệp thư mục tạo, ext2 phải định nơi lưu trữ liệu Nếu đĩa hầu hết trống, liệu lưu trữ hầu hết nơi Tuy nhiên, phân cụm liệu với liệu liên quan giảm thiểu thời gian tìm kiếm tối đa hóa hiệu suất Ext2 cố gắng phân bổ thư mục nhóm chứa thư mục mẹ nó, lý thuyết truy cập vào thư mục cha có khả liên quan chặt chẽ với Ext2 cố gắng đặt tệp nhóm với mục nhập thư mục chúng, truy cập thư mục thường dẫn đến truy cập tệp Tuy nhiên, nhóm đầy, tệp thư mục đặt số nhóm không đầy đủ khác Các khối liệu cần thiết để lưu trữ thư mục tệp tìm thấy cách tìm bitmap phân bổ liệu Bất kỳ không gian cần thiết bảng inode tìm thấy cách tìm bitmap phân bổ inode Giới hạn lý thuyết ext2 Linux Kích thước khối: KiB KiB KiB KiB Tối đa Kích thước tập tin: 16 GiB 256 GiB TiB TiB Tối đa kích thước hệ thống tập tin: TiB TiB 32 TiB 16 TiB Bảng 3.2: Giới hạn hệ thống tệp Ext2 Lý cho số giới hạn ext2 định dạng tệp liệu nhân hệ điều hành Hầu hết yếu tố xác định lần hệ thống tệp xây dựng Chúng phụ thuộc vào kích thước khối tỷ lệ số khối nút Trong Linux, kích thước khối bị giới hạn kích thước trang kiến trúc Ngồi cịn có số chương trình khơng gian người dùng khơng thể xử lý tệp lớn GiB Nếu b kích thước khối, kích thước tệp tối đa giới hạn mức tối thiểu ((( b / 4) + ( b / 4) + b / + 12) * b , (2 32 -1) * 512) đến cấu trúc i_block (một mảng gồm EXT2_N_BLOCKS trực tiếp / gián tiếp) i_blocks (giá trị số nguyên 32 bit) đại diện cho số lượng “khối” 512 byte tệp Số lượng thư mục tối đa 31998, giới hạn số lượng liên kết Lập mục thư mục khơng có sẵn ext2, đó, có vấn đề hiệu cho thư mục có số lượng tệp lớn (10.000+) Giới hạn lý thuyết số lượng tệp thư mục 1,3 × 10 20 , điều không phù hợp với tình thực tế Lưu ý: Trong Linux 2.4 trở trước, thiết bị khối giới hạn TiB, giới hạn kích thước tối đa phân vùng, kích thước khối Mở rộng nén: E2compr sửa đổi cho trình điều khiển ext2 nhân Linux để hỗ trợ nén giải nén tệp hệ thống tệp, mà khơng có hỗ trợ ứng dụng người dùng e2compr vá nhỏ chống lại ext2 E2compr nén tệp thông thường; liệu quản trị (siêu khối, inodes, tệp thư mục , v.v.) khơng nén (chủ yếu lý an tồn) Truy cập vào khối nén cung cấp cho hoạt động đọc ghi Các thuật toán nén cụm kích thước xác định sở cho tập tin Các thư mục đánh 18 dấu để nén, trường hợp đó, tệp tạo thư mục tự động nén với kích thước cụm thuật toán định cho thư mục E2compr khơng phải hệ thống tập tin Nó vá cho ext2 thực để hỗ trợ cờ EXT2_COMPR_FL Nó khơng u cầu người dùng tạo phân vùng tiếp tục đọc ghi hệ thống tệp ext2 có Người ta coi đơn giản cách để thói quen đọc ghi truy cập tệp tạo tiện ích đơn giản tương tự gzip nén Các tệp nén không nén tồn độc đáo phân vùng ext2 Nhánh e2compr có sẵn cho phát hành Linux 2.4, 2.6 3.0 Bản vá cho Linux 3.0 phát hành vào tháng năm 2011 cung cấp hỗ trợ nhớ cao đa lõi Ngồi cịn có nhánh cho Linux 2.0 2.2 Theo hệ điều hành khác: Có thể truy cập vào phân vùng ext2 Microsoft Windows thông qua Hệ thống tệp cài đặt , chẳng hạn ext2ifs ext2Fsd Hệ thống tập tin Khơng gian người dùng sử dụng macOS 3.2 EXT3 Ext3 - hệ thống tệp mở rộng thứ ba: hệ thống tệp ghi nhật ký thường sử dụng nhân Linux Nó hệ thống tệp mặc định cho nhiều phân phối Linux phổ biến Stephen Tweedie lần tiết lộ ông nghiên cứu mở rộng ext2 Nhật ký hệ thống tập tin ext2fs Linux báo năm 1998, sau đăng danh sách gửi thư hạt nhân tháng năm 1999 Hệ thống tập tin hợp với nhân Linux vào tháng 11 năm 2001 từ 2.4.15 trở Ưu điểm so với ext2 ghi nhật ký, giúp cải thiện độ tin cậy loại bỏ cần thiết phải kiểm tra hệ thống tập tin sau tắt máy uế Người kế vị ext4 3.2.1 Cách tiếp cận ext3: Ext3 thực ghi nhật ký Trong ext3, mã nhật ký sử dụng API đặc biệt gọi lớp Nhật ký khối thiết bị, JBD JBD thiết kế cho mục đích rõ ràng thực tạp chí loại thiết bị khối Ext3 thực ghi nhật ký cách “kết nối” với API JBD Ví dụ, mã hệ thống tập tin ext3 thông báo cho JBD sửa đổi mà thực yêu cầu cho phép từ JBD trước sửa đổi số liệu định đĩa Bằng cách đó, JBD cung cấp hội thích hợp để quản lý tạp chí thay mặt cho trình điều khiển hệ thống tập tin ext3 Đây xếp hay JBD phát triển thực thể chung, riêng biệt, Dưới vài điều thú vị tạp chí ext3 JBD quản lý Đối với một, tạp chí ext3 lưu trữ inode - tệp Tùy thuộc vào cách bạn “ext3-enable” hệ thống tệp bạn, bạn khơng thể xem tệp này, nằm /.journal Tất nhiên, cách lưu trữ nhật ký nút, ext3 thêm nhật ký cần thiết vào hệ thống tệp mà khơng u cầu phần mở rộng khơng tương thích với siêu liệu ext2 Đây cách quan trọng mà hệ thống tệp ext3 trì khả tương thích ngược với siêu liệu ext2 đến lượt nó, trình điều khiển hệ thống tệp ext2 Ưu điểm : Hiệu (tốc độ) ext3 hấp dẫn hệ thống tệp Linux cạnh tranh, ext4, JFS , ReiserFS XFS , ext3 có lợi đáng kể chỗ cho phép nâng cấp chỗ từ ext2 mà lưu khôi phục liệu Điểm chuẩn cho thấy ext3 sử dụng lượng CPU ReiserFS XFS Nó coi an tồn hệ thống tệp Linux khác, tính đơn giản tương đối sở thử nghiệm rộng Ext3 thêm tính sau vào ext2: • Một tạp chí • Tăng trưởng hệ thống tập tin trực tuyến • Lập mục HTree cho thư mục lớn Khơng có tính này, hệ thống tệp ext3 hệ thống tệp ext2 hợp lệ Tình cho phép tiện ích bảo trì hệ thống tệp kiểm tra tốt trưởng thành để trì sửa chữa hệ thống tệp ext2 sử dụng với ext3 mà khơng có thay đổi lớn Các hệ thống tệp ext2 ext3 chia sẻ tiện ích tiêu chuẩn, e2fspross , bao gồm công cụ fsck Mối quan hệ chặt chẽ làm cho việc chuyển đổi hai hệ thống tệp (cả chuyển tiếp sang ext3 lùi ext2) trở nên đơn giản Giới hạn kích thước Số khối tối đa cho ext3 32 Kích thước khối khác nhau, ảnh hưởng đến số lượng tệp tối đa kích thước tối đa hệ thống tệp: [12] Kích thước khối Kích thước tệp tối đaKích thước hệ thống tệp tối đa 20 KiB 16 GiB TiB KiB 256 GiB TiB KiB TiB 16 TiB KiB [*] TiB 32 TiB Bảng 3.3: Giới hạn hệ thống tệp Ext3 [*]: Trong Linux, kích thước khối KiB khả dụng kiến trúc cho phép 8  trang KiB, chẳng hạn như Alpha Cấp độ ghi nhật ký Có ba cấp độ ghi nhật ký có sẵn triển khai Linux ext3: Tạp chí (rủi ro thấp nhất) Cả siêu liệu nội dung tệp ghi vào tạp chí trước cam kết với hệ thống tệp Bởi tạp chí tương đối liên tục đĩa, điều cải thiện hiệu suất, tạp chí có đủ dung lượng Trong trường hợp khác, hiệu trở nên tồi tệ hơn, liệu phải ghi hai lần lần vào nhật ký lần vào phần hệ thống tập tin Đặt hàng (rủi ro trung bình) Chỉ siêu liệu ghi nhật ký, nội dung tệp khơng, đảm bảo nội dung tệp ghi vào đĩa trước siêu liệu liên quan đánh dấu cam kết tạp chí Đây mặc định nhiều phân phối Linux Nếu bị điện hoảng loạn hạt nhân tệp ghi gắn vào, tạp chí tệp liệu nối thêm chưa “cam kết”, đó, bị xóa trình dọn dẹp Tuy nhiên, tệp bị ghi đè bị hỏng phiên gốc tệp khơng lưu trữ Do đó, kết thúc với tệp trạng thái trung gian cũ, khơng có đủ thơng tin để khơi phục (dữ liệu không đưa vào đĩa hoàn toàn liệu cũ không lưu trữ đâu) Thậm chí tệ hơn, trạng thái trung gian xen kẽ liệu cũ mới, thứ tự ghi để lại cho phần cứng đĩa WritBack (rủi ro cao nhất) Chỉ siêu liệu ghi nhật ký, nội dung tập tin khơng Các nội dung viết trước sau tạp chí cập nhật Do đó, tệp sửa đổi trước cố bị hỏng Ví dụ: tệp thêm vào đánh dấu tạp chí lớn thực tế, gây rác cuối Các phiên cũ tệp xuất bất ngờ sau khơi phục tạp chí Việc thiếu đồng liệu tạp chí nhanh nhiều trường hợp JFS sử dụng mức ghi nhật ký này, đảm bảo “rác” liệu không ghi lại bị loại bỏ khởi động lại XFS sử dụng hình thức ghi nhật ký Chức Vì ext3 có mục đích tương thích ngược với ext2 trước đó, nhiều cấu trúc đĩa tương tự cấu trúc ext2 Do đó, ext3 thiếu tính mới, chẳng hạn mức độ, phân bổ động inode , khối tiểu phân bổ Một thư mục có tối đa 31998 thư mục , nút có tối đa 32.000 liên kết (mỗi thư mục trực tiếp làm tăng đếm liên kết inode thư mục mẹ chúng tham chiếu “ ”) Ext3, giống hầu hết hệ thống tệp Linux tại, không nên fsck -ed hệ thống tệp gắn để ghi Cố gắng kiểm tra hệ thống tệp gắn chế độ đọc / ghi (rất có thể) phát khơng quán siêu liệu hệ thống tệp Khi siêu liệu hệ thống tập tin thay đổi fsck áp dụng thay đổi nỗ lực đưa siêu liệu “không quán” trạng thái “nhất quán”, nỗ lực “sửa” không quán làm hỏng hệ thống tệp Chống phân mảnh Không có cơng cụ chống phân mảnh ext3 trực tuyến hoạt động cấp độ hệ thống tập tin Có trình chống phân mảnh ext2 ngoại tuyến e2defrag, yêu cầu hệ thống tập tin ext3 phải chuyển đổi trở lại thành ext2 trước Tuy nhiên, e2defrag hủy liệu, tùy thuộc vào bit tính bật hệ thống tệp; khơng biết cách xử lý nhiều tính ext3 Có cơng cụ chống phân mảnh khơng gian người dùng, Shake chống phân mảnh Nếu có tệp sử dụng lúc, Shake cố gắng viết chúng cạnh Chống phân mảnh hoạt động cách chép tệp Tuy nhiên, chiến lược hoạt động hệ thống tệp có đủ khơng gian trống Một cơng cụ chống phân mảnh thực không tồn cho ext3 Phục hồi Ext3 không hỗ trợ phục hồi tập tin bị xóa Trình điều khiển ext3 chủ động xóa tệp cách xóa tệp in lý an toàn cố Nén E3compr vá khơng thức cho ext3 thực nén suốt Nó cổng trực tiếp e2compr cần phát triển Nó biên dịch khởi động tốt với hạt nhân ngược dòng , việc ghi nhật ký chưa thực 22 Thiếu snapshot hỗ trợ Không giống số hệ thống tệp đại, ext3 khơng có hỗ trợ gốc cho ảnh chụp nhanh, khả nhanh chóng nắm bắt trạng thái hệ thống tệp thời điểm tùy ý Thay vào đó, dựa vào ảnh chụp nhanh mức âm lượng, hiệu LVM Linux cung cấp Các Next3 hệ thống tập tin phiên sửa đổi ext3 cung cấp hỗ trợ ảnh chụp nhanh, nhiên giữ khả tương thích với định dạng ext3 đĩa Không kiểm tra tạp chí Ext3 khơng kiểm tra viết vào tạp chí Trên thiết bị lưu trữ có thêm đệm, rào cản = không bật dạng tùy chọn gắn kết (trong / etc / fstab ) phần cứng thực ghi đệm khơng theo thứ tự, người ta có nguy bị hỏng hệ thống tệp nghiêm trọng vụ tai nạn Điều thiết bị lưu trữ có đệm ghi báo cáo với hệ thống liệu ghi hoàn toàn, ghi vào đệm (dễ bay hơi) Sự tuyệt chủng gần thời gian giới hạn tem ngày Ext3 lưu trữ ngày theo thời gian Unix bốn byte tiêu đề tệp 32 bit không cung cấp đủ phạm vi để tiếp tục xử lý tệp ngày 18 tháng năm 2038 - vấn đề Năm 2038 “Thiên niên kỷ Geek” dự kiến gây gián đoạn diện rộng không xử lý kịp thời 3.3 Ext4 3.3.1 Lịch sử Ext4 sinh loạt phần mở rộng tương thích ngược(Khả tương thích ngược thuộc tính hệ thống, sản phẩm công nghệ cho phép khả tương tác với hệ thống cũ với đầu vào thiết kế cho hệ thống đó, đặc biệt viễn thơng điện tốn Khả tương thích ngược đơi gọi tương thích hướng xuống) với ext3, nhiều phần mở rộng ban đầu phát triển Cluster File Systems cho hệ thống tệp Luster từ năm 2003 đến 2006, nhằm mở rộng giới hạn lưu trữ thêm cải tiến hiệu suất khác.Tuy nhiên, khác kernel Linux phát triển không chấp nhận mở rộng để ext3 lý ổn định, đề nghị ngã ba mã nguồn ext3, đổi tên ext4, thực tất phát triển đó, mà khơng ảnh hưởng đến người dùng ext3 Đề xuất chấp nhận vào ngày 28 tháng năm 2006, Theodore Ts'o , người trì ext3, cơng bố kế hoạch phát triển cho ext4 Phiên phát triển sơ ext4 đưa vào phiên 2.6.19 nhân Linux Vào ngày 11 tháng 10 năm 2008, vá đánh dấu ext4 mã ổn định hợp kho lưu trữ mã nguồn Linux 2.6.28, biểu thị kết thúc giai đoạn phát triển khuyến nghị áp dụng ext4 Kernel 2.6.28, chứa hệ thống tập tin ext4, cuối phát hành vào ngày 25 tháng 12 năm 2008 Vào ngày 15 tháng năm 2010, Google tuyên bố nâng cấp sở hạ tầng lưu trữ từ ext2 lên ext4 Vào ngày 14 tháng 12 năm 2010, Google tuyên bố sử dụng ext4, thay YAFFS , Android 2.3 Giới Thiệu Ext4 phát triển hệ thống tập tin Linux sử dụng nhiều nhất, Ext3 Theo nhiều cách, Ext4 cải tiến sâu sắc Ext3 so với Ext3 so với Ext2 Ext3 chủ yếu việc thêm nhật ký vào Ext2, Ext4 sửa đổi cấu trúc liệu quan trọng hệ thống tệp, chẳng hạn định mệnh lưu trữ liệu tệp Kết hệ thống tập tin với thiết kế cải tiến, hiệu suất, độ tin cậy tính tốt 3.3.2 Tính Hệ thống tập tin lớn: Hệ thống tệp ext4 hỗ trợ khối lượng với kích thước lên tới exbibyte (EiB) tệp đơn lẻ có kích thước lên tới 16 tebibytes (TiB) với kích thước khối KiB tiêu chuẩn Giới hạn kích thước tệp, thư mục kích thước hệ thống tệp tối đa tăng tỷ lệ thuận với kích thước khối hệ thống tệp lên đến kích thước khối 64 KiB tối đa có sẵn CPU ARM PowerPC / Power ISA Mức độ: Các phạm vi thay sơ đồ ánh xạ khối truyền thống sử dụng ext2 ext3 Một phạm vi loạt khối vật lý liền kề, cải thiện hiệu suất tệp lớn giảm phân mảnh Một phạm vi ext4 ánh xạ tới 128 MiB khơng gian tiếp giáp với kích thước khối KiB [4] Có thể có bốn mức độ lưu trực tiếp inode Khi có nhiều bốn phạm vi cho tệp, phần lại phạm vi lập mục Khả tương thích ngược: Ext4 tương thích ngược với ext3 ext2 , cho phép gắn ext3 ext2 thành ext4 Điều cải thiện hiệu suất chút, số tính việc triển khai ext4 sử dụng với ext3 ext2, chẳng hạn thuật toán phân bổ khối mới, mà không ảnh hưởng đến định dạng đĩa 24 Ext3 tương thích phần với ext4 Thực tế, ext4 không gắn kết hệ thống tập tin ext3 khỏi hộp, trừ số tính bị vơ hiệu hóa tạo nó, chẳng hạn ^extent, ^flex_bg, ^huge_file, ^uninit_bg, ^dir_nlink, ^extra_isize [14] Phân bổ trước liên tục: Ext4 phân bổ trước dung lượng đĩa cho tệp Để làm điều hầu hết hệ thống tệp, số ghi vào tệp tạo Trong ext4 (và số hệ thống tệp khác XFS ) fallocate(), sử dụng lệnh gọi hệ thống nhân Linux Không gian phân bổ đảm bảo có khả tiếp giáp Tình có ứng dụng cho truyền phát phương tiện sở liệu Phân bổ chậm trễ: Ext4 sử dụng kỹ thuật hiệu suất gọi allocate-on-flush , gọi phân bổ trễ Đó là, ext4 trì hỗn phân bổ khối liệu xóa vào đĩa (Ngược lại, số hệ thống tệp phân bổ khối lập tức, liệu vào đệm ghi.) Phân bổ trễ cải thiện hiệu suất giảm phân mảnh cách phân bổ hiệu lượng liệu lớn thời điểm Không giới hạn số lượng thư mục con: Ext4 không giới hạn số lượng thư mục thư mục, ngoại trừ giới hạn kích thước vốn có thư mục (Trong ext3, thư mục có tối đa 32.000 thư mục con.) Để cho phép thư mục lớn tiếp tục thực hiện, ext4 Linux 2.6.23 sau bật mục HTree (phiên chuyên biệt B ) theo mặc định, cho phép thư mục lưu trữ lên tới khoảng 10-12 triệu mục mục HTree cấp giới hạn kích thước thư mục 2GB cho kích thước khối KiB, tùy thuộc vào độ dài tên tệp Trong Linux 4.12 trở lên, tính kích hoạt HTree cấp độ thư mục cấp 2GB, cho phép khoảng tỷ mục thư mục largedir Nhật ký kiểm tra Ext4 sử dụng tổng kiểm tra tạp chí để cải thiện độ tin cậy, tạp chí tệp sử dụng nhiều đĩa Tính có lợi ích phụ: tránh chờ đợi I / O đĩa trình ghi nhật ký, cải thiện hiệu suất chút Nhật ký kiểm tra lấy cảm hứng từ nghiên cứu từ Đại học Wisconsin , có tên IRON File Systems (cụ thể, phần 6, gọi “tổng kiểm tra giao dịch”), với sửa đổi việc thực giao dịch hỗn hợp thực hệ thống tệp IRON (ban đầu đề xuất Sam Naghlighth hội nghị thượng đỉnh RedHat) Kiểm tra siêu liệu ... thước hệ thống tệp tin • Hệ thống tệp tin ext2 hỗ trợ kiểu tập tin Unix chuẩn: tệp tin thông thường, tệp tin thiết bị đặc biệt, tệp tin liên kết • Hệ thống tệp tin ext2 có khả lý hệ thống tệp tin. .. tệp 14 ký tự Do hạn chế này, công việc bắt đầu hệ thống tệp gốc thay cho Linux Để dễ dàng bổ sung hệ thống tệp cung cấp API tệp chung, VFS, lớp hệ thống tệp ảo, thêm vào nhân Linux Hệ thống tệp. .. học tập Tên chủ đề: Nghiên cứu tìm hiểu Hệ thống tệp tin HĐH Linux Hoạt động sinh viên - Hoạt động/Nội dung 1: Trình bày, minh họa phương thức quản lý hệ thống tệp tin Ext3 HĐH Linux - Hoạt động/Nội

Ngày đăng: 18/12/2020, 22:42

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    CHƯƠNG 1: TỔNG QUAN VỀ LINUX

    1.1 Giới thiệu về Linux

    1.1.2 Các bản phân phối của Linux

    CHƯƠNG 2. QUẢN LÍ HỆ THỐNG FILE TRÊN LINUX

    2.1 Cơ bản về file và thư mục

    2.4 Các loại file system

    CHƯƠNG 3: CÁC HỆ THỐNG FILE SỬ DỤNG TRONG LINUX

    3.1.2 Cấu trúc dữ liệu ext2

    3.2.1 Cách tiếp cận ext3:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w