Boot block

Một phần của tài liệu Cấu trúc, nguyên lý, phân tích mã nguồn CentOS (Trang 31)

Thường không được sử dụng và thường chứa mã để nạp hệ điều hành(boot the computer). Nó chứa một đoạn chương trình sẽ được đọc vào máy khi khởi động hệ điều hành. Mặc dù boot block chỉ cần thiết khi khởi động máy nhưng

tương tự với boot record của Dos, tất cả các hệ thống file linux đều có một boot block(block có thể để trống).

3.1.3.2 Siêu khối

Siêu khối chứa nhiều thông tin liên quan đến trạng thái của hệthống file. Trong siêu khối có các trường sau đây:

- Kích thước của danh sách inode : định kích cỡ vùng không gian trên hệthống file quản lý các inode.

- Kích thước của hệthống file.

- Một danh sách chỉsốcác khối rỗi (thường trực trên siêu khối) trong hệthống file.

-Chỉ số của khối rỗi tiếp theo trong danh sách các khối rỗi.

- Một danh sách các inode rỗi (thường trực trên siêu khối) trong hệthống file.

- Chỉsốinode rỗi tiếp theo trong danh sách các inode rỗi.

- Các trường khóa (lock) danh sách các khối rỗi và danh sách inode rỗi: Trong một sốtrường hợp, chẳng hạn khi hệthống đang làm việc thực sựvới đĩa từ đểcập nhật các danh sách này, hệthống không cho phép cập nhật tới hai danh sách nói trên.

- Cờchỉdẫn vềviệc siêu khối đã được biến đổi: Định kỳthời gian siêu khối ởbộnhớtrong được cập nhật lại vào siêu khối ở đĩa từvà vì vậy cần có thông tin vềviệc siêu khối ở bộnhớtrong khác với nội dung ởbộnhớngoài: nếu hai bản không giống nhau thì cần phải biến đổi đểchúng được đồng nhất.

- Cờchỉdẫn rằng hệthống file chỉcó thể đọc (cấm ghi): Trong một sốtrường hợp, hệthống đang cập nhật thông tin từbộnhớngoài thì chỉcho phép đọc đối với hệthống file.

- Kích thước khối (đơn vị phân phối dữ liệu) của hệ thống file.

Hiện tại kích thược file phổ biến của một khối là 1KB.

3.1.3.3 Inode

Tương tự bảng FAT trong MS-DOS, trình bày bên trong của một file được cho bởi một inode, chứa đựng thông tin mô tả về lưu trữ file trên đĩa và một số thông tin khác như: người chủ sở hữu, quyền truy cập, thời gian truy cập file. Mỗi inode dài 64 byte và miêu tả chính xác một file. Inode là một bảng chứa các thông tin chi tiết về một file. Mỗi file đều được gắn vào một inode qua số hiệu

inode. Khi file được sử dụng bởi một tiến trinhd nào đó thì inode sẽ được đọc vào bộ nhớ và quản lý bởi kernel. Một inode bao gồm các thông tin sau:

-quyền sở hữu file: quyền sở hữu chia làm hai phần là người sở hữu và nhóm sở hữu. quyền sở hữu cùng với quyền truy cập quyết định ai có thể truy cập tập tin và truy cập như thế nào.

-loại file: có một số loại file sau:

+kiểu file thường: đó là các file văn bản, file nhị phân, file dữ liệu hay các file chương trình

+thư mục con: có vai trò quan trọng trong việc biến đổi tên file thành số hiệu inode. Mó là một file mà toàn bộ dữ liệu là chuỗi các phần tử( entry), mỗi phần tử chứa số hiệu inode và tên file tương ứng trong thư mục.

+kiểu file đặc biệt:đây là cơ chế sử dụng để truy nhập tới các thiết bị vào ra.

+kiểu file móc nối: là file chứa đường dẫn tới file khác. Cơ chế này cho phép truy nhập tới một tập tin bằng nhiều tên khác nhau.

+kiểu FIFO: dùng để trao đổi dữ liệu giữa các tiến trình.

+kiểu socket: là một cơ chế tạo ra các đầu cuối cho phép tiến trình liên hệ với nhau

-quyền truy cập file: hệ thống bảo vệ file theo 3 lớp người sử dụng là chủ sở hữu, nhóm sở hữu và người sử dụng khác. Mỗi lớp người óc 3 quyền đọc , ghi, thực hiện.

-thời gian: lưu trữ thời gian mà file bị thay đổi gần nhất, htowif gian file bị truy cập, htowif gian inode bị thay đổi gần nhất

-số file liên kết: thể hiện số file có trong cây thư mục

-Bảng chứa địa chỉ khối dữ liệu của file gồm 13 phần tử với 10 phần tử trực tiếp và 3 phần tửgián tiếp: Mỗi phần tử có độdài 4 bytes, chứa một số hiệu của một khối nhớ trên đĩa. Mỗi phần tử trực tiếp trỏ tới 1 khối dữ liệu thực sự chứa nội dung file. Phần tử gián tiếp bậc 1 (single indirect) trỏtới 1 khối nhớ ngoài. Khác với phần tử trực tiếp, khối nhớ ngoài này không dùng để chứa dữ liệu của file mà lại chứa danh sách chỉ sốcác khối nhớngoài và chính các khối nhớ ngoài này mới thực sự chứa nội dung file. Bảng này được mã hóa phức tạp để có thể chứa một số lượng địa chỉ thay đổi nhưng kích thước bảng lại không thay đổi.

-kích thước file: lưu trữ chính xác kích thước file.

Chú ý: inode không lưu trữ tên file, không thể xác định đường dẫn tới file thông qua inode. Khi inode được đọc vào bộ nhớ một số trường thêm vào làm cho inode trong bộ nhớ( in-core inode) khác với inode trên đĩa.

các inode được phân biệt nhau theo chỉ số của inode: đó chính là số thứ tự của inode trong danh sách inode trong hệ thống file. Thông thường hệ thống dùng 2 bytes để lưu trữ chỉ số inode và không thể có nhiều hơn 65535 inode trong hệ

thống. Nhưvậy, một file chỉcó một inode song một file lại có một hoặc một sốtên file.Người dùng tác động thông qua tên file và tên file lại tham chiếu đến inode. Một inode có thểtương ứng với một hoặc nhiều tên file, mỗi tương ứng nhưvậy được gọi là một liên kết. Inode được lưu trữtại vùng danh sách các inode.

3.1.3.4 Vùng dữ liệu

Bao gồm các khối dữliệu, mỗi khối dữliệu được đánh chỉsố đểphân biệt. Khối trên vùng dữ liệu được dùng để chứa nội dung các file, nội dung các thư mục và nội dung các khối định vị địa chỉ của các file. Khối dữ liêu chỉ được cấp phát cho một và chỉ một file duy nhất trong hệ thống file.

Một phần của tài liệu Cấu trúc, nguyên lý, phân tích mã nguồn CentOS (Trang 31)

Tải bản đầy đủ (DOCX)

(64 trang)
w