Các khái niệm cơbản.
•Các loại filesystem cơbản.
• Virtual Filesystem.
• File I/O.
• File standard library.
•
8 trang |
Chia sẻ: Mr Hưng | Lượt xem: 839 | Lượt tải: 0
Nội dung tài liệu Hệ điều hành - Bài 7: Linux file system, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Bài 7. Linux file system
Ngô Duy Hòa – KHMT - CNTT
Nội dung cần học
• Các khái niệm cơ bản.
• Các loại filesystem cơ bản.
• Virtual Filesystem.
• File I/O.
• File standard library.
•
1. Các khái niệm cơ bản
File & Inode
• Trong Unix/Linux: 1 file ↔ 1 Inode.
• Cấu trúc Inode tương tự nhau,nhưng phụ
thuộc vào phiên bản OS.
• Dữ liệu file được xác định thông qua địa
chỉ các block. Trong 1 Inode:
– 10 (ufs) hoặc 12 (ext2) địa chỉ trực tiếp.
– 3 địa chỉ kế tiếp tương ứng với 3 cấp địa chỉ
gián tiếp.
Tổ chức dữ liệu theo chỉ mục Inode – Index Node
2Quản lý bộ nhớ trống
• Dữ liệu trong HDD được chia thành các khối
(block data), địa chỉ các block này là 1 số 4 byte.
• File cũng được chia thành các khối dữ liệu và
được sắp đặt không liên tục trong HDD.
• Có 3 cách quản lý bộ nhớ trống (các địa chỉ
block chưa sử dụng):
– Dùng danh sách liên kết.
– Dùng bảng chỉ mục.
– Dùng vector bitmap.
Dùng danh sách liên kết & bảng chỉ mục
Kết hợp 2 phương pháp trên Dùng vector Bitmap
2. Các loại filesystem cơ bản
Disk partitions
3Cấu trúc phân vùng
• Boot block: chứa thông tin khởi động.
• Super block: chứa thông tin về phân vùng.
• Inode List: danh sách Inodes trong filesystem.
• Data List: danh sách các khối blocks dữ liệu.
Super blocks
• Kích thướng phân vùng.
• Số blocks dữ liệu chưa sử dụng.
• Danh sách các blocks dữ liệu chưa sử dụng.
• Kích thước danh sách Inodes.
• Số Inodes chưa sử dụng.
• Danh sách các Inodes chưa sử dụng.
List free inodes & free blocks
s5fs directory
• Directory la 1 bảng các thành phần (entry table).
• Mỗi entry table đặc trưng cho 1 file:
– File inode (2 bytes).
– File name (14 bytes).
4Kiến trúc FFS
• Đĩa được chia thành các phân vùng
(partition) là tập các cylinder liên tiếp.
• FFS chia phân vùng thành các nhóm
(group) các cylinder liên tiếp.
• Trong mỗi nhóm đều có:
– Super block.
– Free data block & Free inode Bitmap.
– Fixed inodes table.
– Data blocks table.
Data layout on hard disk
track0
platters
track2
track1
head 0
head 1
head 2
Cylinder 0
Cylinder 1
Sector 0
Sector 1
Group cylinder
Cấu trúc thư mục trong FFS
Các chức năng mở rộng
• Hỗ trợ file name với 255 ký tự.
• Hỗ trợ làm việc với symbolic link.
• Hỗ trợ file locking
• Hỗ trợ file rename.
Ext2 file system
5Virtual File System
Nguyên tắc làm việc
• Khi 1 file được yêu cầu dữ liệu Æ giá trị inode
của file được lưu trữ trong bộ nhớ chính trong 1
in-core inode (vnode).
• Cấu trúc vnode có các thành phần cơ bản sau:
– v_data: trỏ đến dữ liệu trong filesystem thực (chính là
inode của file).
– v_op : thao tác thực hiện với dữ liệu
– v_vfsp: con trỏ đến filesystem thực mà chứa file đang
được yêu cầu dữ liệu.
–
3. File I/O
Một số đặc điểm
• Unbuffered I/O functions.
• Các hàm system call làm việc với file
thông qua file descriptor:
– Standard input: STDIN_FILENO.
– Standard output: STDOUT_FILENO.
– Standard error: STDERR_FILENO.
• Sử dụng header:
–
–
6Các hàm làm việc với file
7Các hàm làm việc với file (tiếp)
Các hàm làm việc với Inode
84. Standard Library
Đặc điểm
• Sử dụng con trỏ FILE*
Các hàm cơ bản
Thank you!
Các file đính kèm theo tài liệu này:
- sv_bai_7_8582.pdf