NNộội dung chương
i dung chương 1010
(cid:132) Khái niệm File
BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH
(cid:132) Các phương pháp truy nhập - Access Methods (cid:132) Cấu trúc thư mục - Directory Structure (cid:132) Chia sẻ file - File Sharing
Chương 10: Giao diện Hệ thống File
(cid:132) Protection
Phạm Quang Dũng
Bộ môn Khoa học máy tính Khoa Công nghệ thông tin Trường Đại học Nông nghiệp HN Website: fita.hua.edu.vn/pqdung
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
10.2
c tiêu MMụục tiêu
10.1. Kháái ni 10.1. Kh
i niệệm Filem File
(cid:132) Giải thích chức năng của hệ thống file (cid:132) File là một tập hợp của các thông tin liên quan, được ghi trên bộ nhớ thứ cấp (là bộ nhớ ổn định) và được đặt tên. (cid:132) Miêu tả giao diện của hệ thống file
(cid:122) Data
(cid:23) số - numeric
(cid:23) ký tự - character
(cid:23) nhị phân - binary
(cid:122) Program
(cid:132) Từ góc nhìn của người sử dụng, file là đơn vị bộ nhớ logic nhỏ nhất. Các file được ánh xạ bởi HĐH vào các thiết bị nhớ vật lý. (cid:132) Thảo luận việc cân bằng các yếu tố thiết kế hệ thống file, bao gồm các phương pháp truy nhập, chia sẻ file, khóa file, các cấu trúc thư mục (cid:132) Kiểu tệp: (cid:132) Giải thích sự bảo vệ hệ thống file
(cid:132) Nói chung, file là một chuỗi các bit, byte, dòng hoặc bản ghi
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.3
10.4
1
nh File ThuThuộộc tc tíính File
c File CCấấu tru trúúc File
(cid:122) các dòng (lines)
(cid:122) độ dài cố định
(cid:122) độ dài thay đổi
(cid:122) văn bản có định dạng - Formatted document
(cid:122) file nạp có thể tái định vị - Relocatable load file
protection, security, và theo dõi sử dụng.
(cid:132) Không cấu trúc - chuỗi các words, bytes (cid:132) Name – chỉ là thông tin ở dạng người đọc được. (cid:132) Cấu trúc bản ghi đơn giản (cid:132) Type – cần thiết cho các HĐH hỗ trợ nhiều kiểu file. (cid:132) Location – con trỏ tới vị trí file trên thiết bị. (cid:132) Size – kích thước hiện tại của file. (cid:132) Protection – kiểm soát ai có thể đọc, ghi, thực hiện file. (cid:132) Các cấu trúc phức tạp (cid:132) Time, date, user identification – dữ liệu dùng cho
(cid:122) HĐH
được lưu trên đĩa.
(cid:122) Chương trình
(cid:132) Ai quyết định cấu trúc file? (cid:132) Thông tin về file được lưu trong cấu trúc thư mục, cũng
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.5
10.6
i File Thao táác vc vớới File Thao t
Name, Extension File Types –– Name, Extension File Types
(cid:132) Tạo file (cid:132) Ghi file (cid:132) Đọc file (cid:132) Định vị trong file – file seek (cid:132) Xóa file (cid:132) Cắt bớt file (truncate)
rồi chuyển nội dung của chỉ mục vào bộ nhớ.
(cid:132) Open(Fi) – tìm chỉ mục Fi trong cấu trúc thư mục trên đĩa
ra cấu trúc thư mục trên đĩa.
(cid:132) Close (Fi) – chuyển nội dung của chỉ mục Fi trong bộ nhớ
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.7
10.8
2
10.2. Cáác phương ph 10.2. C
c phương phááp truy nh
p truy nhậậpp
CCáác phương ph
c phương phááp truy nh
p truy nhậậpp (tiếp)
(cid:132) Truy nhập tuần tự - Sequential Access
(cid:132) Truy nhập trực tiếp - Direct Access
- Tệp được tạo bởi các bản ghi có kích thước cố định
- Có thể truy nhập các bản ghi tại vị trí bất kỳ trong tệp mà không cần theo thứ tự.
- Các CSDL thường được tổ chức theo phương pháp này
- Truy nhập tuần tự qua các bản ghi từ đầu tệp đến cuối tệp
- Sử dụng các phương thức:
read n
write n
read next write next reset no read after last write
position to n
read next
write next
rewrite n
n = số hiệu bản ghi cần truy nhập, có thể bắt đầu
từ 0 hoặc 1 tùy thuộc HĐH
- Một số HĐH cho phép nhảy tới hoặc lui n bản ghi. - Các trình soạn thảo và trình biên dịch thường truy nhập tệp theo phương pháp này.
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.9
10.10
Minh họọa ca cáách truy nh Minh h
trong ch truy nhậập tup tuầần tn tựự trong
CCáác phương ph
c phương phááp truy nh
p truy nhậậpp (tiếp)
mmộột file truy nh
t file truy nhậập trp trựực tic tiếếpp
(cid:132) Truy nhập index-relative
- Tệp index chứa các con trỏ tới các bản ghi trong tệp relative
- Để truy nhập các bản ghi trong tệp relative, trước tiên tìm index, tiếp theo dùng con trỏ để truy nhập trực tiếp tệp relative để tìm bản ghi.
- Hữu dụng khi tìm kiếm trong các tệp lớn vì số lần thực hiện vào-ra ít
- Có thể có nhiều hơn một mức index: index-index-relative
cp - current position: biến xác định vị trí hiện tại
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.11
10.12
3
10.3. Cấấu tru trúúc thư m 10.3. C
c thư mụụcc
MMộột tt tổổ chchứức hc hệệ ththốống file cơ b
ng file cơ bảảnn
Để quản lý số lượng lớn các tệp trên đĩa, tổ chức chúng
trong 2 bước:
(minidisk-IBM, volume-PC & Macintosh)
(cid:122) partition - cấu trúc mức thấp, để chứa các tệp và thư mục
(cid:122) một số HĐH cho phép patition lớn hơn đĩa
(cid:132) Đầu tiên, chia đĩa thành một hay nhiều partition
(directory) ghi thông tin về tất cả các tệp trên partition
đó: tên tệp, vị trí, kích thước, kiểu tệp…
(cid:132) Tiếp theo, mỗi partition có một device directory
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.13
10.14
TTổổ chchứức logic thư m
c logic thư mụục đc đểể ssửử ddụụngng
CCáác thao t
c thao táác trên m
c trên mộột thư m
t thư mụụcc
(cid:122) nhiều tệp có thể có cùng tên.
(cid:122) 1 tệp có thể có nhiều tên.
tính, (vd: all Java programs, all games, …)
(cid:132) Tìm kiếm 1 tệp (cid:132) Hiệu quả (Efficiency) – định vị file nhanh chóng. (cid:132) Tạo 1 tệp (cid:132) Đặt tên (Naming) – thuận tiện cho người sử dụng. (cid:132) Xóa 1 tệp (cid:132) Liệt kê danh sách tệp trong thư mục (cid:132) Đổi tên 1 tệp (cid:132) Gom nhóm (Grouping) – nhóm logic các tệp theo thuộc (cid:132) Truy nhập toàn bộ hệ thống file
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.15
10.16
4
10.3.1. Single--Level 10.3.1. Single
Directory Level Directory
10.3.2. Two--Level 10.3.2. Two
Directory Level Directory
(cid:132) Mỗi user có một thư mục riêng (cid:132) Một thư mục chứa tất cả các tệp.
(cid:122) dễ hiểu, dễ quản lý
(cid:122) kích thước nhỏ
(cid:132) Để truy nhập 1 tệp ở thư mục khác, cần có đường dẫn đầy đủ
(cid:132) Ưu:
(cid:132) Có thể có các tệp trùng tên cho các user khác nhau
(cid:122) vấn đề đặt tên: mỗi tệp phải có tên duy nhất
(cid:132) Tìm kiếm hiệu quả hơn
(cid:122) vấn đề gom nhóm: không thể
(cid:132) Không có khả năng gom nhóm
(cid:132) Nhược:
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.17
10.18
TreeTree--Structured Directories
Structured Directories (ti(tiếếp)p)
10.3.3. Tree--Structured 10.3.3. Tree
Directories Structured Directories
(cid:122) tuyệt đối, vd: C:\Windows\php.ini
(cid:122) quan hệ (với thư mục hiện tại), vd: .\System32\test.dll
(cid:132) Có 1 thư mục gốc (root) (cid:132) Mỗi tệp có 1 đường dẫn duy nhất:
(cid:132) Mỗi thư mục chứa các tệp và/hoặc các thư mục con (cid:132) Tìm kiếm hiệu quả (cid:132) Thuận tiện trong đặt tên (cid:132) Có khả năng gom nhóm
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.19
10.20
5
10.3.4. Acyclic--Graph 10.3.4. Acyclic
Directories Graph Directories
Graph Directory 10.3.5. General Graph Directory 10.3.5. General
thuận tiện khi nhiều user làm việc trong 1 dự án.
(cid:132) Khi một liên kết được thêm vào cấu trúc, cần đảm bảo
(cid:132) Có sự chia sẻ (not copy!) các thư mục con và các tệp,
không tạo thành chu trình → sử dụng giải thuật tìm kiếm chu trình trong đồ thị, nhưng là việc "nặng nhọc" vì đồ thị trên đĩa, không phải trong bộ nhớ trong.
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.21
10.22
Sharing 10.4. File Sharing 10.4. File
10.5. Protection 10.5. Protection
(cid:122) thao tác nào đã được thực hiện
dùng (multi-user systems).
(cid:122) bởi user nào?
(cid:132) Người tạo/sở hữu file cần có khả năng giám sát: (cid:132) Yêu cầu: phải chia sẻ các file trên các hệ thống đa người
protection.
(cid:132) Chia sẻ file có thể được thực hiện thông qua một lược đồ
(cid:122) Read
có thể được chia sẻ qua mạng (network).
(cid:122) Write
(cid:122) Execute
(cid:132) Các loại truy nhập (cid:132) Trên các hệ thống phân tán (distributed systems), các file
(cid:122) Append
(cid:122) Delete
(cid:122) sử dụng trong mô hình client-server
(cid:122) List
(cid:122) các user ID phải phù hợp cả với client và server để xác
(cid:132) Network File System (NFS) là một phương thức chia sẻ file phân tán (distributed file-sharing method) phổ biến.
nhận quyền truy nhập file trên server.
Phạm Quang Dũng ©2008
Phạm Quang Dũng ©2008
Bài giảng Nguyên lý Hệ điều hành
Bài giảng Nguyên lý Hệ điều hành
10.23
10.24
6
Access Lists and Groups Access Lists and Groups
(cid:132) Chế độ truy nhập: read, write, execute (cid:132) Ba lớp người sử dụng:
a) owner access 7
b) group access 6
c) public access 1 RWX ⇒ 1 1 1 RWX ⇒ 1 1 0 RWX ⇒ 0 0 1
End of Chapter 10 End of Chapter 10
(cid:132) Yêu cầu người quản lý tạo một group G (có tên duy nhất),
(cid:132) Đối với các file (vd game) hoặc subdirectory, xác định sự
rồi thêm các user vào group.
owner
group
public
chmod
761
game
truy nhập tương tự như trên.
Gắn group cho file: chgrp G game