CHƯƠNG 4 : HỆ THỐNG FILE
4.4. THƯ MỤC
4.4.1. Khái niệm thư mục
Trong mộthệ thống tính tốn, số lượng file lưu trữ trên đĩa có thể rất lớn (nhiều nghìn file). Để dễ dàng quản lý, truy cập, các file phải được tổ chức theo một cách nào đó. Nói chung, khơng gian củađĩa được chia thành các phần (partition) gọi là đĩa lôgic2. Các đĩa lơgic có thể sử dụng với hai mục đích. Thứ nhất, đĩa lơgic cho phép chia không gian đĩa thành
những vùng riêng biệt, có kích thước nhỏ hơn kích thước đĩa vật lý. Các vùng riêng biệt này
được quản lý và sửdụngđộc lập, không phụ thuộc vào các phần khác. Ngược với cách trên, người ta có thểtạo ra đĩa lôgic từ những vùng không gian khác nhau trên các đĩa vật lý khác nhau. Kích thướcđĩa lơgic khi đó có thểlớn hơn kích thướccủamỗiđĩa vật lý.
Đểquản lý các file trên mỗiđĩa lôgic, thông tin về file được lưu trong hệ thống thư mục
(directory hay folder). Thư mụcđượctạo thành từ các khoảnmục (entry), mỗikhoảnmụcứng với một file. Khoảnmụcchứa các thơng tin về file như tên file, kích thước, vị trí, kiểu file và các thuộc tính khác hoặcchứa con trỏtới nơi lưu trữnhững thông tin này. Bằng cách xếp file vào các thư mục, người dùng có thể nhóm các file thành các nhóm riêng biệt.
Có thể hình dung thư mục như mộtbảng, trong đó mỗi dịng là khoản mụcứng vớimột
file. Việc tìm ra dịng cầnthiếtđượcthựchiện theo tên file. Nói cách khác, thư mục cho phép ánh xạtừ tên file vào bản thân file đó.
Với các hệđiều hành khác nhau, có nhiều cách khác nhau để lưu thơng tin về file trong thư mục. Theo cách thứnhất, toàn bộthuộc tính của file được lưu trong thư mục, bản thân file
chỉ chứa dữ liệu (Hình 4.3.a). MS-DOS sửdụng kiểu tổ chức thư mục này. Kích thước của mỗi khoản mục và cả thư mục nói chung khi đó rất lớn. Theo cách thứ hai, mộtphầnthuộc
tính được lưu trữ luôn cùng vớidữliệucủa file. Thư mục chỉ lưu thơng tin tốithiểucầnthiết
cho việc tìm vị trí của file trên đĩa (Hình 4.3.b). Kích thước thư mục do vậy giảm xuống. Toàn bộ hoặc một phần lớn của thư mục có thể được đọc vào bộ nhớ để tăng tốc độ xử lý.
Đây là cách tổchức thư mụcsửdụng trong hệthống file EXT2 và EXT3 của Linux.
Hình 4.3: Lưu trữ thuộc tính file (a) Trong thưmục; (b) cùng với file
Khi thực hiện thao tác mở file, hệ điều hành tìm trong thư mục khoản mục tương ứng với tên file cần mở. Sau đó hệ điều hành đọc các thuộc tính và vị trí dữ liệu của file vào một bảng chứa thơng tin về các file đang mở. Bảng này nằm ở bộ nhớ trong và được sử dụng để cung cấp thơng tin nhanh chóng cho thao tác đọc ghi file sau đó. Nếu khoản mục trỏ tới cấu trúc khác chứa thuộctính file, cấu trúc này sẽ được đọc vào bảng nói trên.