Hệ điều hành - Bài 7: Linux file system

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.

pdf8 trang | Chia sẻ: Mr Hưng | Lượt xem: 751 | Lượt tải: 0download
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:

  • pdfsv_bai_7_8582.pdf
Tài liệu liên quan