Kiến-trúc-hệ-thống-File-EXT2-EXT3-EXT4-của-các-hệ-điều-hành-họ-LINUX
22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA QUỐC TẾ VÀ ĐÀO TẠO SAU ĐẠI HỌC ********* Bài tập tiểu luận môn Hệ Điều Hành Mạng Nâng Cao Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Nhóm thực hiện: Nguyễn Trường Giang Vũ Hoàng Anh - Nguyễn Ngọc Ân Phạm Khánh Chung - Tô Danh Dũng Nguyễn Anh Dũng - Dương Văn Dũng Đặng Xuân Điệp - Đinh Quang Định Nguyễn Thu Giang - Chu Hải Hà Giảng viên hướng dẫn: Ts Hoàng Xuân Dậu Lớp: TDL&MMT (Đợt 1) - M11CQCT01-B Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Hà Nội, tháng 12 - 2011 Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX MỤC LỤC MỤC LỤC LỜI GIỚI THIỆU .3 CÁC TỪ VIẾT TẮT Chương Tìm hiểu hệ điều hành Linux 1.1 Linux gì? 1.2 Tại Linux phát triển? 1.3 Các phát hành Linux 1.4 Lợi Linux 1.5 Ai phát triển Linux ? Chương Phân vùng đĩa cứng 10 2.1 Giới thiệu chung 10 2 Hệ thống File EXT2 10 2.1 Giới thiệu .10 2.2.2 Tổ chức đĩa 12 2.2.2.1 Superblock 14 2.2.2.2 Group Descriptor 20 2.2.2.3 Block Bitmap 21 2.2.2.4 Inode Bitmap 21 2.2.2.5 Inode Table 22 2.2.2.6 Data Blocks 28 2.2.3 Cấu trúc thư mục 28 2.2.3.1 Định dạng Directory File .28 2.2.3.2 Ví dụ Directory 29 2.2.3.4 Indexed Directory Format 31 2.2.4 Inodes, File Identifiers 35 2.2.4.1 Inode Number 35 2.4.2 Định vị cấu trúc Inode 35 2.2.4.3 Định vị Inode Table 36 2.2.5 Các Thuộc Tính Của File .36 2.2.5.1 Các thuộc tính chuẩn 36 2.2.5.2 Các thuộc tính mở rộng 37 2.2.6 Quản trị hệ thống file EXT2 38 Thích Chia sẻ Tải đầy đủ 2.3 Hệ thống File EXT3 .39 2.4 Hệ thống File EXT4 .42 https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 1/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text 2.4.1 Giới thiệu 43 2.4.2 Khả nâng cấp mở rộng .43 2.4.2.1 Hệ Thống Tệp Tin Lớn 43 Nhóm 7- Lớp TDL&MMT Đợt 1 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX 2.4.2.2 Đặc điểm 44 2.4.2.3 Lưu file theo nhóm block (Extents) .44 2.4.2.4 Chống phân mảnh trực tuyến .46 2.4.2.5 Cải tiến độ tin cậy 47 4.4.2.6 Đếm số inode (index-node) chưa dùng việc làm lệnh e2fsck nhanh .47 2.4.2.7 Kiểm tra tổng thể (checksum) .49 2.4.2.8 Các đặc điểm 50 Kết luận 56 TÀI LIỆU THAM KHẢO 57 Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX LỜI GIỚI THIỆU Trong năm gần HDH Linux ngày trở nên phổ biến trường học môi trường công nghiệp Hệ điều hành này, với chức tính ổn định cho phép tồn song song với hệ điều hành thương mại khác Hơn nữa, phổ biến mã nguồn Linux Internet đóng góp nhiều cho phổ cập Linux Một đặc điểm quan trọng Linux hỗ trợ nhiều hệ thống tập tin Điều làm cho linh động tồn với nhiều hệ điều hành khác Từ phiên đầu tiên, Linux hỗ trợ 15 loại tập tin : ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs ufs Trong Linux, Unix, hệ thống tập tin truy xuất thông qua cấu trúc thừa kế đơn thay thiết bị xác định (như tên ổ đĩa số hiệu ổ đĩa) Linux thêm hệ thống tập tin vào thiết lập (mount) Tất hệ thống tập tin thiết lập vào thư mục gọi thư mục thiết lập Khi đĩa khởi tạo, đĩa chia thành nhiều partitions Mỗi partition có hệ thống tập tin Nhóm sinh viên chúng em chọn đề tài: “Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX” Nhưng kiến thức kinh nghiệm ít, nghiên cứu đề tài nhiều thiếu sót, kính mong thầy giúp đỡ chỉnh sửa thiếu sót giúp chúng em để chúng em hồn thiện kiến thức Chúng em xin chân thành cảm ơn! Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX CÁC TỪ VIẾT TẮT Client: máy khách IP: Internet Address RPM: Redhat Package Manager FQDN: Fully Qualifield Domain Name NFS: Network File System Server: máy chủ SMB= Samba chương trình dùng chia sẻ tài nguyên Windows PC Linux PC MTA: Mail Transport Agent PC= Personal computer: máy tính cá nhân Point, mount_point: điểm truy cập, thường thư mục, nơi mount hệ thống tập tin Mount: gắn kết tập tin vào point Umount: gỡ bỏ tập tin mount vào point Username: tên tài khoản người dùng Password: mật tương ứng với username SMB: Samba SWAT: Samba Web Administration Tool … Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX bảnhiểu đầy ChươngTải Tìm vềđủ hệ điều hành Linux https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 2/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text 1.1 Linux gì? Linux xuất sản phẩm nguồn mở miễn phí đến sánh vai với hệ điều hành thương phẩm MS Windows, Sun Solaris v.v Linux đời từ dự án hồi đầu năm 1990 có mục đích tạo hệ điều hành kiểu UNIX cài đặt máy tính cá nhân chạy với vi xử lý Intel, tương hợp họ máy tính IBM-PC (còn gọi tắt PC) Từ lâu, UNIX tiếng hệ điều hành mạnh, tin cậy linh hoạt, đắt nên chủ yếu dùng cho trạm tính tốn máy chủ cao cấp Ngày Linux cài đặt nhiều họ máy tính khác nhau, không riêng cho họ PC Qua Internet, Linux hàng nghìn nhà lập trình khắp giới tham gia thiết kế, xây dựng phát triển, với mục tiêu không lệ thuộc vào thương phẩm người sử dụng thoải mái Khởi thuỷ, Linux xuất phát từ ý tưởng Linus Torvalds, chàng sinh viên Đại học Helsinki Phần Lan muốn thay Minix, hệ điều hành nhỏ kiểu UNIX Về bản, Linux bắt chước UNIX có nhiều ưu điểm UNIX Tính đa nhiệm thực Linux cho phép chạy nhiều chương trình lúc Với Linux, bạn đồng thời thực số thao tác, thí dụ chuyển tệp, in ấn, tệp, nghe nhạc, chơi game v.v Linux hệ điều hành đa người dùng, nghĩa nhiều người đăng nhập lúc sử dụng hệ thống Ưu điểm khơng phát huy máy PC nhà, song công ty trường học giúp cho việc dùng chung tài ngun, từ giảm thiểu chi phí đầu tư vào máy móc Ngay nhà, bạn đăng nhập vào Linux với nhiều account khác qua terminal ảo tổ chức dịch vụ mạng riêng cho cách sử dụng Linux với nhiều modem Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Bản thân việc độc lập với công ty lớn tiềm tàng điểm yếu Linux Khi chưa có mạng lưới riêng cung cấp dịch vụ bảo trì tất nhiên người ta ngại sử dụng Linux Tuy thế, với phát triển Internet, tổ chức hỗ trợ người dùng Linux tạo nên Website forum để tháo gỡ cho bạn nhiều vấn đề khó khăn Hơn Linux khơng chạy tốt với số phần cứng phổ biến, chí việc hỏng hóc xố liệu đơi xảy ra, Linux ln thay đổi khó thử nghiệm đầy đủ trước đưa lên Internet Linux đồ chơi sẵn có, thiết kế nhằm mang đến cho người sử dụng cảm giác tham gia vào dự án Tuy nhiên thực tế cho thấy Linux chạy tương đối ổn định cho bạn may không tốn để học sử dụng UNIX, họ hệ điều hành chuyên nghiệp nhiều người dùng máy chủ trạm tính tốn cao cấp 1.2 Tại Linux phát triển? Trước hết, Linux phát triển hệ điều hành miễn phí có khả đa nhiệm cho nhiều người sử dụng lúc máy tính tương thích với PC So với hệ điều hành thương phẩm, Linux giúp bạn phải nâng cấp lại khơng cần trả tiền, phần lớn phần mềm ứng dụng cho Hơn nữa, Linux ứng dụng cung cấp với mã nguồn miễn phí mà bạn lấy từ Internet, sau chỉnh sửa mở rộng chức chúng theo nhu cầu riêng Linux có khả thay số hệ điều hành thuộc họ UNIX đắt tiền Nếu nơi làm việc mà bạn sử dụng UNIX nhà bạn thích sử dụng hệ giống rẻ tiền Linux giúp bạn dễ dàng truy cập, lướt qua Website gửi nhận thông tin mạng Internet Nếu bạn quản trị viên UNIX nhà bạn sử dụng Linux để thực công việc quản trị hệ thống Một nguyên nhân khác làm cho Linux dễ đến với người dùng cung cấp mã nguồn mở cho người Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Chính điều khiến số tổ chức, cá nhân hay quốc gia đầu tư vào Linux nhằm mở rộng lựa chọn ngồi phần mềm đóng kín mã nguồn Họ cho rằng, có dịch vụ hậu khơng đảm bảo dùng sản phẩm đóng Tải đầy đủkín Internet, thông tin cá nhân hay quốc gia họ có bị gửi tổ chức hay quốc gia khác hay khơng Thí dụ https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 3/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text Trung Quốc phát triển hệ điều hành Hồng Kỳ từ kernel Linux để không bị lệ thuộc Microsoft Windows, họ tự nghiên cứu vi xử lý Hồng Tâm để thay cho họ chip Intel Tại Việt Nam, việc nghiên cứu xây dựng hệ điều hành từ kernel Linux thu số thành công định Chắc bạn biết đến Vietkey Linux CMC RedHat Linux (phiên tiếng Việt RedHat Linux 6.2) Gần đây, công ty tiếng IBM, Sun, Intel, Oracle bắt đầu nghiên cứu Linux xây dựng phần mềm ứng dụng cho 1.3 Các phát hành Linux Nhiều người biết đến nhà sản xuất phần mềm RedHat, ManDrake, SuSE, Corel Caldera Có thể bạn nghe đến tên phiên Linux Slackware, Debian, TurboLinux VA Linux, v.v Quả thật, Linux phát hành nhiều nhà sản xuất khác nhau, phát hành chương trình chạy nhóm tệp lõi (kernel) Linus Tordvalds Mỗi dựa kernel đó, thí dụ RedHat Linux 6.2 sử dụng phiên kernel 2.2.4 Hãng RedHat làm chương trình quản lý đóng gói RPM (RedHat Package Manager), cơng cụ miễn phí giúp cho tự đóng gói phát hành phiên Linux Thí dụ OpenLinux Caldera tạo 1.4 Lợi Linux Tại chọn Linux thay chọn hệ điều hành khác chạy PC DOS, Windows 95/98, Windows NT, Windows 2000 ? Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Linux cung cấp cho bạn mơi trường học lập trình mà chưa có hệ sánh Với Linux, bạn có đầy đủ mã nguồn, sản phẩm mang tính thương mại thường khơng tiết lộ mã nguồn Cuối cùng, Linux mang đến cho bạn hội sống lại bầu khơng khí cách mạng vi tính trước Cho đến thập niên 1970, máy tính điện tử sân chơi riêng tổ chức lớn, chẳng hạn quyền, tập đoàn doanh nghiệp trường đại học Người dân thường sử dụng thành tựu kỳ diệu công nghệ thông tin Ngày Linux làm cách mạng lĩnh vực phần mềm hệ thống Linux cờ tập hợp người không muốn bị kiểm sát hãng khổng lồ nhân danh kinh tế thị trường để làm xơ cứng óc sáng tạo cải tiến Với Linux bạn khai thác nhiều mạnh UNIX Trong số hệ điều hành thông dụng nay, Linux hệ điều hành miễn phí nhiều người sử dụng rộng rãi Bản thân Linux hỗ trợ sẵn sàng giao thức mạng TCP/IP, giúp bạn dễ dàng kết nối Internet gửi thư điện tử Linux thường kèm XFree86 giao diện đồ hoạ cho người sử dụng (GUI) phát hành miễn phí XFree86 cung cấp cho bạn chức phổ biến số thương phẩm khác, chẳng hạn Windows Linux có hàng ngàn ứng dụng, từ chương trình bảng tính điện tử, quản trị sở liệu, xử lý văn đến chương trình phát triển phần mềm cho nhiều ngôn ngữ, chưa kể nhiều phần mềm viễn thơng trọn gói Ngồi Linux có hàng loạt trò chơi giải trí ký tự đồ hoạ Phần lớn chương trình tiện ích ứng dụng có sẵn cho Linux lại không tiền mua Các bạn phải trả chi phí cho việc tải chúng từ Internet xuống trả cước phí bưu điện Đến với Linux, giới lập trình có loạt cơng cụ phát triển chương trình, bao gồm biên dịch cho nhiều ngơn ngữ lập trình hàng đầu nay, chẳng hạn C, C++ Bạn dùng ngơn ngữ Pascal thơng qua trình biên dịch FreePascal Nếu bạn khơng thích sử dụng ngơn ngữ vừa kể, Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Linux có sẵn cơng cụ Flex Bison để bạn xây dựng ngơn ngữ riêng cho Hai khái niệm đề cập nhiều hệ thống mở (open system) tính liên tác (interoperability) gắn với khả hệ điều hành liên lạc với Phần lớn hệ mở đòi hỏi phải thoả mãn tương thích tiêu chuẩn (giao diện hệ điều hành khả chuyển) Linux đáp ứng TảiIEEE bảnPOSIX đầy đủ tiêu chuẩn lưu hành với mã nguồn mở https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 4/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text 1.5 Ai phát triển Linux ? Nói chung, Linux hệ thống xây dựng hacker cho hacker Mặc dù xã hội từ hacker thường có hàm ý tiêu cực, song theo nghĩa ban đầu hacker khơng phải tội phạm Hacker tìm hiểu có bên hệ thống chi tiết có khả sửa chữa hệ thống bị hỏng hóc Đa số hacker khơng xâm nhập hệ thống tiền bạc ác ý, sau có người vượt qua giới hạn bị tập thể hacker gọi cracker (tin tặc) hay hacker mũ đen Giới hacker cảm thấy bị xúc phạm người xem họ lũ phá hoại gọi chung tin tặc Thực ra, hacker chân chính, gọi hacker mũ trắng, có cơng việc phát kẽ hở phần mềm, giúp người chủ nhân phần mềm cảnh giác trước công giới tin tặc Cũng nhờ công bảo vệ mà Linux ứng dụng Linux (nói rộng phần mềm nguồn mở) ngày an toàn Ngoài đời, phần lớn người sử dụng UNIX cấp cho số account với quyền hạn thu hẹp, người bình thường khơng thể thử nghiệm đầy đủ câu lệnh UNIX Với Linux bạn có phiên hoạt động tương tự UNIX cho phép quản trị, sử dụng, vào thoải mái không giới hạn, điều gặp sống Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Chương Phân vùng đĩa cứng 2.1 Giới thiệu chung Với hình thành phát triển hệ điều hành Linux, có nhiều cách việc chọn lựa hệ thống file (file system) cho loại ứng dụng Hệ thống tập tin Linux tổ chức theo dạng Có vị trí khởi điểm, gọi root (gốc) Bất kỳ hệ thống Unix/Linux có thư mục đặc biệt gọi thư mục gốc (root directory) ký hiệu dấy slash (“ / ”) Đây điểm bắt đầu để gắn (mount point) tất phần tử lại hệ thống disks, partitions, CD ROM … vào hệ thống Linux/Unix Tất thư mục tập tin khác, kể tập tin hệ thống thư mục hệ thống cấp root Khi hệ thống Linux/Unix khởi động, thơng qua tiến trình init – tự động moun (gắn) tập tin hệ thống thư mục hệ thống vào root (/) Trong phần muốn giới thiệu hệ thống file tiên tiến sử dụng Linux EXT2, EXT3, EXT4 có tính tin cậy cao có khả ghi nhớ trình thao tác liệu (journaling) 2 Hệ thống File EXT2 2.1 Giới thiệu Ext2 hay hệ thống tập tin mở rộng thứ hai hệ thống tập tin dành cho hệ thống nhân Linux Lúc đầu thiết kế để thay cho hệ thống tập tin mở rộng Nó đủ nhanh để dùng làm tiêu chuẩn để công loại hệ điều hành Linux Hạn chế hệ thống tập tin nhật ký Hệ thống file ext2 giới thiệu vào đầu năm 1993 thiết kế riêng cho Linux Nó có nhiều tính tăng cường để khắc phục hạn chế hệ thống file khác Tính Minix EXT EXT Nhóm 7- Lớp TDL&MMT Đợt 10 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Kích thước hệ thống file lớn 64 MB GB TB Kích thước file lớn 64 MB GB GB Chiều dài tối đa tên file 30 ký tự 255 ký tự 255 ký tự Kích thước block tuỳ biến Khơng Khơng Có Những Tải đặc trưng đầyhệđủthống tập tin Ext2 chuẩn: - Hệ thống tập tin Ext2 hỗ trợ kiểu tập tin Unix chuẩn: tập tin thông https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 5/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text 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ả quản lý hệ thống tập tin phân vùng kích cỡ lớn Trong mã nhân (kernel) gốc giới hạn kích cỡ hệ thống tập tin lớn 2GB, nghiên cứu gần lớp VFS tăng lên đến giới hạn 4TB Vì vậy, ngày sử dụng đĩa dung lượng lớn mà không cần tạo nhiều phân vùng - Hệ thống tập tin Ext2 cung cấp tên tập tin dài Đây khả Linux mà hệ thống UNIX chuẩn không cung cấp Tối đa tên tập tin 255 ký tự có khoảng trắng Nghiên cứu gần lớp VFS, giới hạn tăng lên 4TB Vì thế, sử dụng đĩa kích thước lớn mà khơng cần tạo nhiều phân vùng - Hệ thống tập tin Ext2 dự trữ vài block cho super user (root) Thông thường, 5% block dự trữ Điều cho phép người quản lý phục hồi dễ dàng từ trình người dùng làm đầy hệ thống tập tin - Hệ thống tập tin Ext2 cho phép truy xuất đến hệ thống khác FAT, FAT32, MSDOS Windows 9.x DOS cách dễ dàng Ngược lại, từ hệ thống FAT, NTFS, BeOS, OS/2, MacOS truy xuất đến Ext2 thơng qua trình tiện ích LTOOLS Và nhiều khả khác dễ dàng thêm vào khả cho Ext2 Nhóm 7- Lớp TDL&MMT Đợt 11 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX 2.2.2 Tổ chức đĩa Mục tiêu việc dùng Ext2 phải hiểu tất kích thước cấu trúc liệu dựa kích cỡ block kích 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 (tương ứng với 16 sector) Mỗi block lại chia nhỏ thành fragment, chưa thấy hệ thống tập tin mà kích thước fragment khơng khớp với kích thước block Ngồ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 Đây cần nhớ cố gắng mount hệ thống tập tin khác đĩa mềm 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 lại partition Ext2 chia thành block group, biểu diễn hình sau: Sự bố trí phân vùng Ext2 block group Tất block group có kích thước lưu trữ liên tiếp nhau, nhân tìm thấy vị trí block group đĩa từ số mục kiểu nguyên Trong đĩa mềm chứa block 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 khiển số lượng block cụ thể Nhóm 7- Lớp TDL&MMT Đợt 12 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX 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 nhiều thông tin hơn, cấu trúc liệu xác định trạng thái hệ thống tập tin hành Sau tổ chức hệ thống tập tin Ext2 đĩa mềm: Figure 1-1 Bố trí liệu đĩa mềm offset # of blocks description - boot record block group -(1024 bytes) superblock group descriptors block bitmap inode bitmap 23 inode table 28 1412 data blocks Và tổ chức hệ thống file Ext2 20MB: Figure 1-2 trí liệu phân vùng 20MB Tải Bố đầy đủ offset # of blocks description https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 6/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text - boot record block group -(1024 bytes) superblock group descriptors block bitmap inode bitmap 214 inode table 219 7974 data blocks block group -8193 superblock backup 8194 group descriptors backup 8195 block bitmap 8196 inode bitmap 8197 214 inode table 8408 7974 data blocks block group -16385 block bitmap 16386 inode bitmap 16387 214 inode table 16601 3879 data blocks Các block group làm tăng phân mảnh tập tin, bời nhân (kernel) cố gắng giữ block data phụ thuộc vào tập tin block group giống nhau, Mỗi block block group bao gồm thông tin sau: Một superblock hệ thống tập tin Một nhóm ký hiệu miêu tả block group Một block bitmap liệu Một bảng inode Một khoanh liệu thuộc tập tin, ví dụ block data Nhóm 7- Lớp TDL&MMT Đợt 13 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Nếu block không chứa thơng tin có nghĩa nào, block trống Việc bố trí đĩa đốn trước với điều kiện bạn biết vài thông tin sau: kích thước block, số block block group, số inode block group Thông tin xác định hay tính tốn từ cấu trúc superblock Nếu khơng có thơng tin superblock, đĩa vơ ích; đủ khoảng trống có sẵn tạo hay nhiều lưu superblock đĩa Block bitmap Inode bitmap dùng để xác định block entry inode trống để sử dụng Các data block nơi lưu trữ nhiều loại tập tin Lưu ý thư mục xem tập tin Exts, sau tìm hiểu chi tiết Trong tất bổ sung Ext2 cố gắng tương thích, số field cấu trúc khác tùy biến để khớp với yêu cầu hệ điều hành cụ thể 2.2.2.1 Superblock Superblock cấu trúc đĩa Ext2 chứa thông tin đặc tính hệ thống tập tin Khơng có Superblock khơng dùng đĩa Superblock chứa thơng tin như: kích thước block, tổng số block block group, tổng số inode block group… Nhờ thơng tin mà ta dự đốn, tính toán thành phần cấu trúc block group Cấu trúc chi tiết Superblock sau: Figure 1-3 Cấu trúc Superblock offset size description - - s_inodes_count 4 s_blocks_count s_r_blocks_count 12 s_free_blocks_count 16 s_free_inodes_count 20 s_first_data_block 24 s_log_block_size 28 s_log_frag_size Tải đầy đủ 32 s_blocks_per_group https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 7/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text 36 s_frags_per_group 40 s_inodes_per_group 44 s_mtime 48 s_wtime 52 s_mnt_count 54 s_max_mnt_count 56 s_magic 58 s_state 60 s_errors 62 s_minor_rev_level 64 s_lastcheck 68 s_checkinterval 72 s_creator_os 76 s_rev_level 80 s_def_resuid 82 s_def_resgid EXT2_DYNAMIC_REV Specific -Nhóm 7- Lớp TDL&MMT Đợt 14 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX 84 s_first_ino 88 s_inode_size 90 s_block_group_nr 92 s_feature_compat 96 s_feature_incompat 100 s_feature_ro_compat 104 16 s_uuid 120 16 s_volume_name 136 64 s_last_mounted 200 s_algo_bitmap Performance Hints -204 s_prealloc_blocks 205 s_prealloc_dir_blocks 206 - (alignment) Journaling Support -208 16 s_journal_uuid 224 s_journal_inum 228 s_journal_dev 232 s_last_orphan Unused -236 788 - (padding) s_inodes_count Giá trị 32 bit cho biết tổng số inode toàn partition, bao gồm inode dùng chưa dùng hệ thống tập tin s_blocks_count Giá trị 32 bit cho biết tổng số block toàn partition, bao gồm cà block dùng chưa dùng hệ thống tập tin s_r_blocks_count Giá trị 32 bit cho biết tổng số block dành riêng cho super user Điều hữu dụng số lý người dùng có cố tình làm đầy hệ thống tập tin hay khơng Super user có lượng block chưa dùng cụ thể để tạo lưu tập tin cấu hình s_free_blocks_count Giá trị 32 bit cho biết tổng số block trống, bao gồm số block dành cho super user Đây tổng số tất block trống tất block group s_free_inodes_count Giá trị 32 bit cho biết tổng số inode trống Đây tổng tất inode trống tất block group s_first_data_block Giá trị 32 bit cho biết vị trí data block đầu tiên, hay xác định số thứ tự khối chứa cấu trúc superblock Nhóm 7- Lớp TDL&MMT Đợt 15 Đề tài: Kiến trúc hệ thống Tải đầy đủFile EXT2, EXT3, EXT4 hệ điều hành họ LINUX Chú ý giá trị cho hệ thống tập tin có kích thước block lớn https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 8/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text 1KB, với hệ thống tập tin có kích thước block 1KB Superblock byte thứ 1024 đĩa, thường byte sector thứ s_log_block_size Kích thước block tính tốn sử dụng giá trị 32 bit số bit để dịch trái giá trị 1024 Giá trị phải số dương: block size = 1024 -s_log_frag_size; s_blocks_per_group Giá trị 32 bit cho biết tổng số block block group Giá trị kết hợp với s_first_data_block dùng để xác định đường biên block group s_frags_per_group Giá trị 32 bit cho biết tổng số fragment block group Nó dùng để xác định kích thước block bitmap block group s_inodes_per_group Giá trị 32 bit cho biết tổng số inode block group Nó dùng để xác định kích thước inode bitmap block group s_mtime Phiên Unix, xác định POSIX, lần gần mà hệ thống tập tin gắn vào s_wtime Phiên Unix, xác định POSIX, lần viết gần truy cập vào hệ thống tập tin Nhóm 7- Lớp TDL&MMT Đợt 16 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX s_mnt_count Giá trị 32 bit cho biết có lần hệ thống tập tin gắn vào từ lần gắn vào gần bổ sung cách đầy đủ s_max_mnt_count Giá trị 32 bit cho biết số lần tối đa hệ thống tập tin gắn vào trước hoàn thành việc kiểm tra toàn diện s_magic Giá trị 16 bit xác định hệ thống tập tin Ext2 Giá trị cố định thời 0xEF53 s_state Giá trị 16 bit cho biết trạng thái hệ thống tập tin Khi hệ thống tập tin gắn vào, trạng thái thiết lập EXT2_ERROR_FS Khi mà hệ thống tập tin chưa gắn vào, giá trị EXT2_VALID_FS EXT2_ERROR_FS trường hợp hệ thống tập tin không gắn vào cách không dễ dàng s_errors Giá trị 16 bit cho biết trình điều khiển hệ thống tập tin thực thi phát thấy lỗi Các giá trị chi tiết liệt kê bảng sau: Table 1-1 Giá trị EXT2_ERRORS EXT2_ERRORS_CONTINUE Tiếp tục khơng có xảy EXT2_ERRORS_RO remount read-only EXT2_ERRORS_PANIC Gây lỗi nhân (kernel panic) EXT2_ERRORS_DEFAULT Thay đổi Kể từ việc xét lại 0.5, giống EXT2_ERRORS_CONTINUE s_minor_rev_level Giá trị 16 bit xác định cấp xét lại thứ cấp (minor revision) phạm vi cấp độ xét lại (revision level) s_lastcheck Phiên Unix, định nghĩa POSIX, kiểm tra hệ thống tập tin gần s_checkinterval Nhóm 7- Lớp TDL&MMT Đợt 17 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX KhoảngTải thờibản gian lớn đầynhất đủ lần Unix, định nghĩa POSIX, cho phép lần kiểm tra hệ thống tập tin https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 9/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text s_creator_os Giá trị 32 bit cho biết hệ điều hành tạo hệ thống tập tin Giá trị xác định sau: Table 1-2 Giá trị EXT2_OS EXT2_OS_LINUX Linux EXT2_OS_HURD Hurd EXT2_OS_MASIX MASIX EXT2_OS_FREEBSD FreeBSD EXT2_OS_LITES4 Lites s_rev_level Giá trị 32 bit cho biết giá trị cấp duyệt Hiện thời có hai giá trị xác định sau: Table 1-3 Các giá trị duyệt EXT2 EXT2_GOOD_OLD_REV Định dạng gốc EXT2_DYNAMIC_REV Định dạng V2 với kích thước inode động s_def_resuid Giá trị 16 bit dùng số thự tự người dùng mặc định cho block dành riêng s_def_resgid Giá trị 16 bit dùng số thứ tự nhóm mặc định cho block dự trữ s_first_ino Giá trị 32 bit dùng mục đến inode sử dụng cho tập tin chuẩn Trong việc duyệt hệ thống tập tin không động, inode không dự trữ cố định 11 Với câu lệnh duyệt động hệ thống tập tin, bổ sung giá trị s_inode_size Nhóm 7- Lớp TDL&MMT Đợt 18 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Giá trị 16 bit cho biết kích thước cấu trúc inode Trong lần duyệt hệ thống tập tin không động giá trị giả lập 128 s_block_group_nr Giá trị 16 bit dùng biết số block group làm chủ cấu trúc superblock Cái dùng để tạo lại hệ thống tập tin từ lưu superblock s_feature_compat Giá trị 32 bit cho biết đặc trưng có bitmask Việc thực thi hệ thống tập tin giải phóng để hỗ trợ cho chúng không hỗ trợ mà khơng có rủi ro việc hư liệu s_feature_incompat Giá trị 32 bit cho biết đặc trưng có bitmask Việc thực thi hệ thống tập tin từ chối để gắn vào hệ thống tập tin đặc tính xác định không hỗ trợ s_feature_ro_compat Giá trị 32 bit cho biết đặc trưng đọc “read-only” bitmask Việc thực thi hệ thống tập tin nên gắn vào đọc đặc tính xác định bitmask không hỗ trợ s_uuid Giá trị 128 bit dùng số thứ tự đĩa Nếu có thể, nên cho hệ thống tập tin định dạng s_volume_name Giá trị 16 byte cho biết tên ổ đĩa, không sử dụng Một tên ổ đĩa hợp lệ bao gồm ký tự ISO-Latin-1 kết thúc s_last_mounted Giá trị 64 byte cho biết đường dẫn thư mục hệ thống tập tin gắn vào gần Thông thường không dùng, phục vụ cho việc tự tìm kiếm thời điểm gắn vào mà khơng xác định dòng lệnh Hơn đường dẫn kết thúc lý tương thích Đường dẫn hợp lệ tạo từ ký tự ISO-Latin1 s_algo_bitmap Nhóm 7- Lớp TDL&MMT Đợt 19 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Giá trị 32 bit dùng thuật toán nén để xác định phương thức sử dụng Tải đầy đủ 2.2.2.2 Group Descriptor https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 10/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text Group descriptor mảng cấu trúc group_desc, phần tử mô tả block group, cho biết đường dẫn bảng inode, block inode bitmap nó, số thơng tin hữu ích khác Các group descriptor định vị block sau block chứa cấu trúc superblock Các thành phần group descriptor: Figure 1-4 Cấu trúc group_desc offset size description - - bg_block_bitmap 4 bg_inode_bitmap bg_inode_table 12 bg_free_blocks_count 14 bg_free_inodes_count 16 bg_used_dirs_count 18 bg_pad 20 12 bg_reserved Đối với group descriptor hệ thống tập tin, group_desc tạo Mỗi đại diện cho block group đơn hệ thống tập tin thơng tin chúng thích hợp với group mà mơ tả Mỗi bảng Group descriptor chứa tất thông tin tất group Tất cho biết số thứ tự block tuyệt đối bg_block_bitmap Giá trị 32 bit cho biết số thứ tự block block bitmap group trình bày bg_inode_bitmap Nhóm 7- Lớp TDL&MMT Đợt 20 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Giá trị 32 bit cho biết số thứ tự block inode bitmap group mô tả bg_inode_table Giá trị 32 bit cho biết số thứ tự block bảng inode group mô tả bg_free_blocks_count Giá trị 16 bit cho biết tổng số block trống group mô tả bg_free_inodes_count Giá trị 16 bit cho biết tổng số inode trống group mô tả bg_used_dirs_count Giá trị 16 bit cho biết số inode định phần đến thư mục group mô tả bg_pad Giá trị 16 bit dùng cho việc đệm cấu trúc giới hạn 32 bit bg_reserved Ba giá trị 32 bit lưu trữ cho thực thi tương lai 2.2.2.3 Block Bitmap Block bitmap thông thường xác định block đầu tiên, block thứ hai lưu superblock diện, block group Đường dẫn thức xác định cách đọc “bg_block_bitmap” group descriptor tương ứng Mỗi bit diễn tả trạng thái block với group đó, có nghĩa “đã dùng” có nghĩa “còn trống/có thể dùng được” block block group mô tả bit byte 0, thứ hai mô tả bit byte block thứ mô tả bit (bit quan trọng nhất) byte block thứ mô tả bit (bit quan trọng nhất) byte 2.2.2.4 Inode Bitmap Inode bitmap làm việc giống Block bimap, khác chỗ bảng Inode bit diễn tả inode block Một inode bitmap group vị trí xác định việc đọc giá trị bg_inode_bitmap group descriptor tương ứng Nhóm 7- Lớp TDL&MMT Đợt 21 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Khi bảng inode tạo ra, tất inode dự trữ đánh dấu dùng Đối với Good Old Revision điều có nghĩa 11 bit inode bitmap 2.2.2.5 Inode Table Vùng Inode đượcđủ dùng để giữ rãnh ghi tập tin; vị trí nó, kích Tải Table đầy thước, kiểu thứ tự truy xuất tất lưu trữ inode Tên tập tin https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 11/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text không cất giữ đây, với vùng Inode table tất tập tin tham chiếu đến số inode chúng Có vùng inode table group xác định việc đọc giá trị bg_inode_table group descriptor tương ứng Có inode s_inodes_per_group bảng Mỗi inode chứa thông tin tập tin vật lý đơn hệ thống tập tin thư mục, socket, đệm, ký tự hay tập tin thiết bị, tập tin liên kết hay tập tin thông thường Vì inode hiểu block có thơng tin liên quan đến thực thể, mơ tả vị trí đĩa, kích thước quyền sở hữu Cấu trúc inode sau: Figure 1-5 Cấu trúc inode offset size description - - i_mode 2 i_uid 4 i_size i_atime 12 i_ctime 16 i_mtime 20 i_dtime 24 i_gid 26 i_links_count 28 i_blocks 32 i_flags 36 i_osd1 40 15 x i_block 100 i_generation 104 i_file_acl 108 i_dir_acl 112 i_faddr 116 12 i_osd2 Một số entry bảng inode dự trữ Trong EXT2_GOOD_OLD_REV có 11 entry dự trữ EXT2_DYNAMIC_REV số entry inode dự trữ rõ s_first_ino cấu trúc superblock Sau danh sách entry inode trữ biết đến nhiều nhất: Table 1-4 Bảng giá trị EXT2_*_INO EXT2_BAD_INO 0x01 bad blocks inode Nhóm 7- Lớp TDL&MMT Đợt 22 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX EXT2_ROOT_INO 0x02 root directory inode EXT2_ACL_IDX_INO 0x03 ACL index inode EXT2_ACL_DATA_INO 0x04 ACL data inode EXT2_BOOT_LOADER_INO 0x05 boot loader inode EXT2_UNDEL_DIR_INO 0x06 undelete directory inode i_mode Giá trị 16 bit dùng biết định dạng tập tin mô tả lượt truy xuất Sau giá trị có: Table 1-5 Các giá trị EXT2_S_I file format -EXT2_S_IFMT 0xF000 format mask EXT2_S_IFSOCK 0xC000 socket EXT2_S_IFLNK 0xA000 symbolic link EXT2_S_IFREG 0x8000 regular file EXT2_S_IFBLK 0x6000 block device EXT2_S_IFDIR 0x4000 directory EXT2_S_IFCHR 0x2000 character device EXT2_S_IFIFO 0x1000 fifo access rights -EXT2_S_ISUID 0x0800 SUID EXT2_S_ISGID 0x0400 SGID EXT2_S_ISVTX sticky bit Tải bản0x0200 đầy đủ EXT2_S_IRWXU 0x01C0 user access rights mask https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 12/13 22/11/2017 Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX - Tài liệu text EXT2_S_IRUSR 0x0100 read EXT2_S_IWUSR 0x0080 write EXT2_S_IXUSR 0x0040 execute Nhóm 7- Lớp TDL&MMT Đợt 23 Tài liệu liên quan Kiến trúc hệ điều hành Cấu trúc hệ điều hành Chương Cấu trúc hệ điều hành Chương - Cấu trúc hệ điều hành Hệ điều hành - Cấu trúc hệ điều hành Lý thuyết hệ điều hành -Cấu trúc hệ điều hành Cấu trúc hệ điều hành Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Khái niệm kiến trúc hệ điều hành Operating System Structures Cấu trúc Hệ điều hành Tải đầy đủ https://text.123doc.org/document/333062-kien-truc-he-thong-file-ext2-ext3-ext4-cua-cac-he-dieu-hanh-ho-linux.htm 13/13