CHƯƠNG 4 : HỆ THỐNG FILE
4.1. KHÁI NIỆM FILE
4.1.2. Thuộc tính của file
Ngồi thơng tin và dữ liệu được lưu trữ trong file, hệ điều hành còn gắn cho file các thơng tin có tác dụng mơ tả. Các thơng tin này gọi là thuộc tính (attribute) của file. Các thuộc tính cụ thể có thể thay đổi ở những hệ điều hành khác nhau. Dưới đây liệt kê một số thuộc tính file có thể gặp trong những hệ điều hành thơng dụng:
- Tên file: Là thuộc tính rất quan trọng và thường được người dùng sử dụng khi truy cập
file
- Kiểu file: Một số hệ điều hành phân biệt các kiểu file khác nhau. Ví dụ, trong Linux,
file có thể là file thơng thường chứa dữ liệu hay là file chứa thông tin về thư mục và được dùng cho mục đích quản lý file.
- Kích thước file: Kích thước hiện thời của file. Kích thước này thường tính bằng byte
nhưng cũng có thể tính theo đơn vị từ (word) hay bản ghi (record). Kích thước file có thể bao gồm kích thước thực và kích thước mà file chiếm trên đĩa. Do đặc điểm lưu trữ dữ liệu trên đĩa, trong đó mỗi file chiếm một số nguyên các khối hay cung nên kịch thước thực và kích thước mà file được cấp phát trên đĩa có thể khác nhau.
- Người tạo file, người sở hữu file: Chứa tên hoặc số định danh của người đã tạo ra và
người đang có quyền sở hữu file. Người tạo file và người sở hữu có thể khơng trùng nhau. Ví dụ, trong Windows NT và các hệ điều hành sau trong cùng họ này, quản trị hệ thống có thể chiếm quyền sở hữu file từ người tạo file trong trường hợp cần thiết.
- Quyền truy cập file: Chứa thơng tin về việc ai có quyền thực hiện đọc, thay đổi nội
dung, xoá file.v.v.
- Thời gian tạo file, sửa file, truy cập file lần cuối: Bao gồm thời gian, ngày tháng tạo,
ssửa, truy cập lần cuối. Các thơng tin này có thể cần thiết cho việc quản lý sao lưu, bảo mật, đồng bộ nội dung file.
- Vị trí file: Cho biết dữ liệu của file được lưu trữ ở đâu trên bộ nhớ ngồi. Thơng tin này
cần thiết cho hệ điều hành khi truy cập tới file.
Có hai cách lưu trữ thuộc tính file trên đĩa. Theo cách thứ nhất, thuộc tính file được lưu trữ trong khoản mục ứng với file trong thư mục (sẽ đề cập tới trong phần về thư mục). Theo cách thứ hai, thuộc tính được lưu trữ ln cùng với dữ liệu file, chẳng hạn trong phần tiêu đề (header) nằm ở đầu file.
Để đọc và thay đổi các thơng tin về thuộc tính file, hệ điều hành thường cung cấp các lời gọi hệ thống tương ứng. Ví dụ, MS-DOS cho phép đọc và thay đổi thuộc tính file bằng hàm 43h của ngắt 21h, thời gian sửa file lần cuối có thể thay đổi bằng hàm 57h của ngắt 21h.
Đặt tên cho file
Trong số các thuộc tính, tên file là thuộc tính rất quan trọng cho phép xác định file, và là thông tin mà người dùng thường sử dụng nhất khi làm việc với file. Tên tồn tại cùng với file và cho phép truy cập tới file khi cần. Trong quá trình tồn tại của file, tên có thể thay đổi nếu cần thiết. Nói chung khơng có quy tắc đặt tên file thống nhất cho các hệ điều hành. DOS chỉ hỗ trợ tên file độ dài 8 ký tự cộng 3 ký tự phần mở rộng, không phân biệt chữ hoa với chữ thường (nghĩa là file VIDU.TXT với file vídu.txt được coi là một), trong khi LINUX lại hỗ trợ tên file tới 256 ký tự, có phân biệt chữ hoa với chữ thường.
Các lựa chọn khi quy định việc đặt tên cho file bao gồm độ dài cho phép của tên file, các ký tự có thể dùng trong tên file, có phân biệt chữ hoa và chữ thường khơng, có sử dụng phần mở rộng khơng. Ví dụ quy tắc đặt tên cho hệ thống file của MS-DOS phiên bản cũ (FAT), Windows NT (FAT, NTFS) và Linux (EXT3) được cho trong bảng sau:
Bảng 4.1: Quy tắc đặt tên file của một số hệ điều hành
Hệ điều
hành
Độ dài tối đa Phân biệt chữ hoa, chữ thường
Cho phép sử
dụng dấu cách Các ký tự cấm
MS-DOS 8 cho tên file
3 cho mở rộng
không không Bắt đầu bằng chữ cái hoặc số
Không được chứa các ký tự
/ \ [ ] : ; | = , ^ ? @ Windows NT, Windows 7 FAT32 255 ký tự cho cả tên file và đường dẫn
khơng có Bắt đầu bằng chữ cái hoặc số
Không được chứa các ký tự
/ \ [] : ; | = , ^ ? @ Windows
NT, 7, 8 NTFS
255 khơng có Khơng được chứa các ký tự
/ \ < > * | : Linux
(EXT3)
256 Có có (nếu tên file chứa trong ngoặc kép)
Không được chứa các ký tự ! @ # $ % ^ & * ( ) [ ] { } ‘ “ / \ : ; < > `
Rấtnhiềuhệđiều hành hỗtrợviệc chia tên file thành hai phần, cách nhau bởidấuchấm
(.). Phần sau dấuchấm là phần mở rộng và chứa mộtsố thông tin bổ sung về file (thường là
kiểu file). Ví dụ, phần mở rộng của tên file trong FAT phiên bản cũ có độ dài tối đa là 3 và cho biết kiểu file như progrm.c là file chương trình nguồn trên C. UNIX và LINUX hỗ trợ phần mở rộng có số lượng và độ dài tuỳ ý. Tên file có thể có nhiều hơn một phần mởrộng,
chẳng hạn myfile.tar.z. Việc gán phần mởrộng cho tên file có thể có ích trong mộtsố trường hợp. Ví dụ, một số chương trình dịch có thể phân biệt file chương trình nguồn với các file khác thông qua phầnmởrộng.