Bài giảng Hệ thống máy tính - Chương 8 trình bày về hệ thống file. Nội dung chính trong chương này gồm có: Khái niệm hệ thống tệp, các phương pháp truy xuất tệp, cấu trúc thư mục, mount hệ thống tệp, chia sẻ tệp, cài đặt. Mời các bạn cùng tham khảo.
Trang 1-1-CHÖÔNG 8
HEÄ THOÁNG FILE
-2-NỘI DUNG
Khái niệm hệ thống tệp
Các phương pháp truy xuất tệp
Cấu trúc thư mục
Mount hệ thống tệp
Chia sẻ tệp
Cài đặt
Cấu trúc
Cấu trúc thư mục
Cấp phát
Quản lý không gian trống
Khái niệm hệ thống tệp
Trang 2–File system (FS)
–Cách lưu trữ dữ liệu một cach bền vững, dễ
truy xuất, có thể lưu trữ trên các thiết bị lưu trữ
(stockage device - SD)
–Partition (các khu vực)
–Cấu trúc thư mục
–Tập các tệp
–Dữ liệu chỉ có thể ghi lên SD ở dạng (hay được
chứa) trong 1 tệp
–OS
–NSD
–Dựa trên kiểu dữ liệu mà tệp đang chứa
Tên
– Định danh
– Duy nhất trong thư mục
– Độc lập với NSD
Inode
– Số xác định tệp trong FS
Kiểu
– Dùng trong các hệ thống hỗ trợ nhiều kiểu FS
Vị trí
Kích thước
Time/ Date, sở hữu chủ
Trang 3hệ thống
–create, write, read, seek, delete,
truncate
–open(Fi)
–close (Fi)
–Được cung cấp bởi OS
–Tệp thường
–Thư mục
–Tệp chứa symbol device
Input/Output thông tin qua các I/O device
–Tệp khối (block device)
Truy xuất trên block device (đĩa, )
Cấu trúc tệp
– Tuần tự
Tệp là dãy các byte
– Có cấu trúc
Dãy mẫu tin có size cố định
– Cây
Thông tin tổ chức theo DOM
Cấu trúc quản lý
– Open file table
– Per-process File Table
Các tệp đang mở bởi 1 QT
Trang 4-10-Các PP truy xuất
-12-Cấu trúc thư mục
Cây
Trang 5 Truy xuất theo mẫu tin/ khối dữ liệu
Không theo thứ tự các khối
Dùng cho các file có KT lớn
– Cơ sở dữ liệu
Trang 6
kiếm tệp
Gốc
0: tệp , 1: sub dir
DOS
thư mục (khác với thư mục chứa nó)
Trang 7-19-Mount FS
lưu trữ
bị) trong FS chung
(mount point)
-20-Mount FS
Chia sẻ FS
FTP
Trang 8-22-Cài đặt FS
Cấu trúc FS
Cài đặt
Tổng quan
FS ảo - VFS
Cài đặt thư mục
Cấp phát đĩa
Liên kết
Dùng chỉ mục
Quản lý không gian trống
Bit vector
Danh sách
Bộ đếm
-24-Cài đặt FS –Cấu trúc
Các cấp độ tạo FS
– Cấp cao dùng các đặc tính của cấp thấp để
tạo FS
– I/O Control
Các driver chuyển dữ liệu giữa MEM và disk
Các bộ quản lý interrupt
– Basic FS
Func R/W các block/disk qua driver
– Module tổ chức tệp
Chuyển tệp logic thành tệp physique
Quản lý không gian trống
Trang 9-25-Cài đặt FS –Cấu trúc
Các cấp độ tạo FS
– Logic FS
Quản lý metadata của FS
Dùng FCB để quản lý các tệp
Cấu trúc đĩa
– Boot Control block
Thông tin dùng để start OS từ 1 partittion được chỉ định Cũng
được hiểu là control bootsector
– Partition Control block
Thông tin về partition
Thông tin liên quan đến FS
– Couter FCB
– Master file table
– Cấu trúc tệp
Thông tin metadata để xây dựng tệp
Cấu trúc MEM (caching)
– Bảng khu vực
Thông tin về mỗi partition được mount
– Cấu trúc thư mục
Thông tin thư mục của những thư mục vừa truy xuất
– Bảng các tệp đang mở của OS
Chứa các copy FCB
– Bảng các tệp đang mở của các QT
Các con trỏ đến các mục tương ứng trong bảng trên
Trang 10Quy trình tạo
– APP gọi logic FS
– Xác định định dạng của cấu trúc thư mục
– Cấp phát 1 FCB mới
– Đọc thư mục vào MEM
– Cập nhật thư mục với tên và FCB mới
– Ghi lại thư mục vào disk
Quy trình tạo
Quy trình tạo
Trang 11Quy trình mở
– FCB được copy vào bảng các tệp đang mở của OS
– Xác định counter các QT đang truy cập tệp
– Xác định các mô tả tệp cho từng QT truy cập
Unix: file descriptor
Windows (NTFS): file handle
Mục đích
– Đơn giản hóa thao tác FS trên 1 NFS
– Cho phép nhiều kiểu FS được cài đặt trên cùng cấu trúc
NFS
PP
– Viết riêng các proc cho tệp, thư mục cho từng kiểu FS
– Phân tầng quá trình cài đặt FS
Tầng giao diện
VFS
Các FS từ xa hay cục bộ
Tầng giao diện
– Các lời gọi hệ thống
– Các FCB
VFS
– Định nghĩa các interface VFS cho từng
FS
– Chứa các vnode: dùng ! cho mỗi tệp
qua NFS
Các FS từ xa hay cục bộ
Trang 12Họat động
– Phân biệt các kiểu FS
Remote hay Local
Các kiểu FS local
– Kích hoạt các thao tác đặc tả FS để quản lý các request
local
Cấp phát & quản lý thư mục
PP
– Dùng cấu trúc dữ liệu chứa các thông tin trong thư mục
Danh mục các tệp
Đ/c các block dữ liệu
– Mỗi pp dựa trên 1 cấu trúc dữ liệu xác định
Danh sách linear
– Đơn giản về cài đặt
– Tính hiệu năng: kém
Hash talbe
– Dùng 1 hash talbe để hỗ trợ các thao tác tìm kiếm tệp và
xác định các block dữ liệu
Trang 13Yêu cầu
– Tệp hay thư mục được truy xuất 1 cách nhanh nhất
PP
– Liên tục
– Liên kết
– Chỉ mục
Tệp
– Chứa trong 1 dãy block kề nhau / đĩa
OS sử dụng
– IBM/ CMS
Tệp được xác định bởi
– Đ/c block đầu
– Chiều dài (tính theo block)
Hạn chế
– Xác định không gian cho 1 tệp mới
fragment, cần algo
– Xác định không gian đủ KT 1 tệp mới ?
Khó có thể
Cài đặt FS – Cấp phát liên kết
Tệp
– Chứa trong 1 dãy block liên kết
– Dùng con trỏ liên kết các block
– Giải quyết các hạn chế của cấp phát kề
Hạn chế
– Chỉ mạnh cho truy xuất tuần tự
– Cần phải có KG cho con trỏ
Cần lưu giữ các con trỏ cho các tệp
– Khó hỗ trợ truy xuất ngẫu nhiên
Cần cơ chế xác định nhanh block
Trang 14-40-Cài đặt FS – Cấp phát liên kết
FAT (File Allocation Talbe)
– Giải quyết các hạn chế của PP liên kết
– Chứa các danh mục, chỉ mục các block của từng tệp
– Lưu ở đầu 1 volume
– OS sử dụng
MS- DOS và OS/2
-41-Cài đặt FS – Cấp phát liên kết - FAT
-42-Cài đặt FS – Cấp phát lập chỉ mục
Tệp
– Chứa trong 1 dãy block liên kết
– Một block giữ các chỉ mục các block
Hạn chế
– Xác định KT index block ?
Cần cơ chế tạo, xác định
Trang 15Cơ chế liên kết
– Một iblock chỉ chứa 1 range block, và
– Các iblock được liên kết với nhau
Chỉ mục nhiều cấp
– Chỉ mục cấp 1: giữ các chỉ mục cấp 2
– Chỉ mục cấp 2: giữ chỉ mục cho các block
Cơ chế kết hợp
– Dùng inode để lưu giữ các chỉ mục block
Cơ chế kết hợp
– 15 con trỏ đầu của iblock trong inode của tệp
12
– Giữ các đ/c trực tiếp block
3: các đ/c gián tiếp
– A: đ/c gián tiếp đơn: giữ các đ/c block
– B: đ/c gián tiếp đôi: giữ đ/c các iblock
– C: đ/c triple
– OS sử dụng: các cài đặt của UNIX: AIX hay Solaris
Trang 16 Bit vector
– Dùng để lưu giữ danh mục cho kg trống
0: trống , 1: đang dùng
Danh sách
– Dùng 1 danh sách liên kết giữ các không gian trống
– Dùng kết hợp với FAT
Counter
– Giữ đ/c khối trống đầu và n khối trống kề