Uploaded by Vu Nhat Long (K18 HL)

CHAPTER 13 - P

advertisement
CHAPTER 13
File Structure
Cấu trúc file
1. Cách truy cập
Có hai cách truy cập: sequentially or randomly.
Sequentially access: là truy cập file tuần tự từ đầu đến cuối
Random access: là truy cập một file nhất định mà không cần những
bản trước đó. Hai cấu trúc file cho phép điều này là: indexed files và
hashed files.
1.1 Sequential file
• Là loại mà những dữ liệu được ghi lại liên
tục chỉ có thể truy cập từ đầu đến cuối.
• Những dữ liệu phụ trợ như đĩa, bang
thường có EOF (end-of-file) để báo hiệu
phần ghi cuối cùng.
• Hệ điều hành không có thông tin về địa chỉ
của bản ghi, chỉ biết toàn bộ file ở đâu và
nó là loại sequential file.
• Sequential file liên tục được kiểm tra và cập
nhật để hiển thị thay đổi trong thông tin.
• Có 4 file liên quan đến phần mềm cập
nhật: new master file, old master file,
transaction file và Error report file. Tất
cả file được sắp xếp dựa trên Key
values.
• Transaction file và old master file cùng
qua phần mềm cập nhất ( Update
program) để làm New master record
và đưa ra Error report file (nếu có).
• Để phần cập nhật hiểu quả hơn, tất cả
file đều được sắp xếp trên cùng key.
2. Random file access
2.1 Indexed files
• Là file mục lục sắp xếp key và address, để lấy ra một bản ghi nhất định trong
file
• Trong inverted file là một loại của indexed file – là file ghi lại nhiều thuộc tính
của chính dữ liệu đó. Ví dụ: file của nhân viên có index file cho chỉ tên, hoặc số
điện thoại của họ.
2.2 Hashed file
• Dùng công thức toán học để biến key được nhập vào thành address cho hệ thống
• Có nhiều loại hashed file gốm:
- Direct hashing: không qua công thức nào, file phải chứa tất cả phiên bản của key có thể. Tuy
trường hợp mà direct hashing được áp dụng ít nhưng đảm bào không bị collision (trùng
address hoặc key)
- Modulo division hashing: tạo ra key bằng cách chia độ to của file và dung phần còn lại + 1 để
làm address. Việc này tạo lên một thuật toán đơn giản khi list_size là số element trong file.
Lý do phải + 1 là để danh sách bắt đầu bằng 1 thay vì bằng 0.
- Digit extraction hashing: một vài đơn vị số được chọn từ key để biến đổi thành address.
Ví dụ: từ 6 chữ số của nhân viên ta chọn số tứ nhất, thứ ba, thứ năm của họ để tạo address
chứa từ (000 -999).
182773  127
174633  143.
3. Collision
• Trong hashed file, sẽ có những trường
hớp key nhập vào khi chuyển sang
address sẽ bị trùng với address đã có
trong hệ thống.
• Những trường hợp này thường được gọi
là synonyms
3.1 Collision resolution
Ngoại trừ cách direct ra, cần phải có những phương pháp để sử lý với
collision. Những giải pháp này không phụ thuộc vào cách hashing.
- Open addressing resolution: khi address nhập bị trùng sẽ được xếp kế
tiếp
- Linked list resolution: address nhập bị trùng sẽ nối vào với address
đầu ( separate chain)
- Bucket hashing: Mỗi address chứa nhiều slot nếu nhiều key trùng
nhau
4. Directories
• Directories phần lớn được cho sẵn bởi hệ điều hành, làm tương tự như folder nhưng giữ
thông tin về những file khác. Directories dung để nói cho hệ thống vị trí file và những thông
tin khác như quyền truy cập , ngày file được tạo ra, truy cập, sửa.
Special directories: 4 loại chính để tạo nên cấu trúc directories trong UNIX: root directories,
home directories, working directories và parent directories.
Path and pathnames: file’s path được đặt bởi absolute pathname, chia nhau bằng dấu “/”.
UNIX còn cấp cho tên ngắn, còn được gọi là relative pathname.
Absolute pathname: joan/file3
Relative pathname: /ủ/staff/joan/file3
5. Text file và Binary file
• Hai chỉ định để phân loại file: text files và binary files. File được lưu trữ ở thiết bị là một
choỗi bit được thông dịch bởi hệ thống là text file hoặc binary file
• Text file: là file chứa hoàn toàn là chữ, không thể chứa intergers, floating-point numbers,
hay bất kỳ cấu trúc data nào, để chưa các loại data này phải chuyển nó về dạng chữ format
của nó.
• Binary file: là data được chứa trong phần trong format của máy. Data này có thể là
interger, float number, hoắc các structured data khác ( ngoại trừ file).
• Khác với text file, binary file chỉ có thể hiểu nếu có hệ thống interepter phù hợp. Nếu data
là văn bản, một byte được dung để hiển thị một ký tự ( ASCII encoding). Nhưng nếu data
là chữ số, hai hoặc nhiều byte được coi là data item.
Download