Giáo trình Bài mở đầu - Bài 7: Linux file system - Ngô Duy Hòa

pdf 8 trang huongle 3850
Bạn đang xem tài liệu "Giáo trình Bài mở đầu - Bài 7: Linux file system - Ngô Duy Hòa", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_bai_mo_dau_bai_7_linux_file_system_ngo_duy_hoa.pdf

Nội dung text: Giáo trình Bài mở đầu - Bài 7: Linux file system - Ngô Duy Hòa

  1. Nội dung cần học • Các khái niệm cơ bản. •Các loại filesystem cơ bản. Bài 7. Linux file system • Virtual Filesystem. • File I/O. Ngô Duy Hòa – KHMT - CNTT • File standard library. • File & Inode • Trong Unix/Linux: 1 file ↔ 1 Inode. •Cấu trúc Inode tương tự nhau,nhưng phụ 1. Các khái niệm cơ bản 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 1
  2. Dùng danh sách liên kết & bảng chỉ mục Quả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. Kết hợp 2 phương pháp trên Dùng vector Bitmap Disk partitions 2. Các loại filesystem cơ bản 2
  3. Cấu trúc phân vùng Super blocks • Boot block: chứa thông tin khởi động. • Kích thướng phân vùng. • Super block: chứa thông tin về phân vùng. •Số blocks dữ liệu chưa sử dụng. • Inode List: danh sách Inodes trong filesystem. • Danh sách các blocks dữ liệu chưa sử dụng. • Data List: danh sách các khối blocks dữ liệu. • 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). 3
  4. Data layout on hard disk Kiến trúc FFS Sector 0 track2 Sector 1 track1 track0 • Đĩa được chia thành các phân vùng head 0 (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. Cylinder 0 platters •Trong mỗi nhóm đều có: head 1 – Super block. – Free data block & Free inode Bitmap. Cylinder 1 – Fixed inodes table. – Data blocks table. head 2 Cấu trúc thư mục trong FFS Group cylinder Các chức năng mở rộng Ext2 file system •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. 4
  5. Virtual 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. – Một số đặc điểm • Unbuffered I/O functions. • Các hàm system call làm việc với file 3. File I/O thông qua file descriptor: – Standard input: STDIN_FILENO. – Standard output: STDOUT_FILENO. – Standard error: STDERR_FILENO. •Sử dụng header: – – 5
  6. Các hàm làm việc với file 6
  7. Các hàm làm việc với file (tiếp) Các hàm làm việc với Inode 7
  8. Đặc điểm •Sử dụng con trỏ FILE* 4. Standard Library Các hàm cơ bản Thank you! 8