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

Phạm Quang Dũng ©2008

Bài giảng Nguyên lý Hệ điều hành

10.25

7