Hệ thống file bao gồm hai phần riêng biệt : một tập các file dùng lưu trữ dữ liệu , và kiến trúc thư mục tổ chức và cung cấp thông tin về tất cả mọi file trên hệ thống.. - Tạo một file
Trang 1Chapter 10: File-System Interface – Hệ thống tập tin
Trang 2Hệ thống tập tin
Mục Lục
•Giới thiệu hệ thống tập tin
•Khái niệm tập tin
Trang 3Giới thiệu hệ thống file
Hệ thống file là những mặt cực kì rõ nét của hệ điều hành Nó cung cấp kĩ thuật lưu trữ trực tuyến và truy cập không những dữ liệu mà còn cả chương trình của hệ điều hành, và tất cả người dùng của hệ thống máy tính Hệ thống file bao gồm hai phần riêng biệt : một tập các file ( dùng lưu trữ dữ liệu ), và kiến trúc thư mục (tổ chức và cung cấp thông tin về tất cả mọi file trên hệ thống )
Hệ thống tập tin
Trang 4Đối tượng nghiên cứu
Các chức năng của hệ thống file
Diễn tả giao diện của hệ thống file
Thảo luận thiết kế hệ thống file cân bằng , bao gồm phương thức truy cập , file chia sẽ , file khóa , và kiến trúc thư mục
Khám phá về sự bào vệ hệ thống file
Hệ thống tập tin
Trang 5File là đơn vị lưu trữ logic nằm trên thiết bị
File chứa một tập các thông tin liên quan với nhau
Nội dung của file do người tạo
ra quyết định
10.1) Khái niệm file
Hệ thống tập tin
Trang 610.1.1) Các thuộc tính của file
- Location : con trỏ trỏ đến file trên thiết bị
- Name(Tên file): giúp cho người dùng xác đinh vị trí file
và truy xuất đến file dễ dàng
- Type(Kiều file) : Cần cho hệ thống, để hệ thống hỗ trợ các kiểu file khác nhau
- Size : Kích cỡ hiện tại của file
- Identifier(Thẻ file) : Mỗi file khi mở có một thẻ file do
hệ thống quản gán cho , nhằm giúp sự quản lý dễ dàng
Hệ thống tập tin
Trang 710.1.1) Các thuộc tính của file
Date(Ngày), time(giờ) và identifier(nhận dạng người dùng) :thông tin này có thể được lưu cho việc tạo, sửa đổi gần nhất, dùng gần nhất Dữ liệu này có ích cho việc bảo vệ, bảo mật, và kiểm soát việc dùng
Thông tin của mọi file lưu trong thư mục Thư mục thường chứa các phần tử, một phần tử ứng với một tập tin ,nó chứa các thông tin về tập tin đó như thuộc tính ,tên,vi trí lưu trữ
Hệ thống tập tin
Trang 8Hệ thống tập tin
Trang 9- Tạo một file : Gồm hai bước , đầu tiên tìm một không gian trên đĩa để lưu tập tin , thứ hai là thêm một phần tử (chứa các thông tin của tâp tin ) vào thư mục tương ứng.
- Ghi một file : Thực hiên một lời gọi hệ thống ghi những thông tin để xác đinh được file và những thông tin cần ghi vào trong file , hệ thông giữ một con trỏ write định vị trên file giúp cho quá trình ghi vào file
10.1.2) Các thao tác trên file
Hệ thống tập tin
Trang 10- Đọc một file : Để đọc một file thi chúng ta thực hiên một lơi gọi hệ thống và ghi rõ nhưng thông tin cần thiết
để định vị được file cần đọc , hệ thống giữ một con trỏ read để giúp cho việc đọc file
10.1.2) Các thao tác trên file
Hệ thống tập tin
- Đặt lại vị trí con trỏ trên file : : Dùng để truy xuất trực tiếp Thao tác này gọi là seek, định vị lại con trỏ write hoặc read trên file
Trang 11Hệ thống tập tin
Xóa một file : Cần lục soát trong thư mục tên file cần
xỏa , xóa các block trên dĩa của file , xóa phần tử tương
ứng trong thư mục
10.1.2) Các thao tác trên file
Ngoài những thao tác trên file cơ bản trên còn có một
số thao tác khác như là appending , copy , xác lập
thuộc tính cho file …
Trang 12Hệ thống tập tin
Open(f) : Tìm kiếm trong cấu trúc thư mục trên đĩa phần
tử ứng với file , rồi di chuyển nội dung của phần tử đó vào trong bộ nhớ
10.1.2) Các thao tác trên file
Close(f) : Di chuyển nội dung của phần tử tương ứng
với f từ bộ nhớ ra cấu trúc thư mục trên đĩa
Lưu ý : Khi thao tác trên file thì trước tiên ta phải mở
Trang 1310.1.2) Các thao tác trên file
Trang 14Hệ thống tập tin 10.1.2) Các thao tác trên file
•Khi mở một file thì có các thông tin tương ứng sau :
- File pointer : Dùng để định vị vị trí thực thi hiện tại trên file Mỗi tiến trình có một file pointer riêng
- File-open count : Dùng để theo dõi số lượng tiến trình
mở một file , khi nó bằng không thì hệ thống tháo bỏ
phần tử file tương ứng trong bảng file mở
- Disk location of the file : Thông tìn này giúp định vị file trên đĩa vào bộ nhớ vì vậy hệ thống không phải đọc file
từ đĩa cho mỗi thao tác
Trang 15Hệ thống tập tin 10.1.2) Các thao tác trên file
•Khóa file :
- Cung cấp bởi một số hệ điều hành và hệ thống file
- Bước trung gian để truy cập vào
file
- Mandatory và advisory :
Mandatory : Truy cập được từ chối phụ thuộc vào lock đạt được và đã yêu cầu truy cập như thế nào Advisory : Tiến trình có thể tìm trạng thái của lock
Trang 16Hệ thống tập tin
•Sau đây là các dạng file cơ bản :
10.1.3) Kiểu file :
Trang 18Tập tin có ký tự đặc biệt: liên quan đến nhập/xuất thông qua các thiết bị
nhập/xuất tuần tự như màn hình, máy in,
Tập tin khối: dùng để truy xuất trên thiết bị đĩa
- Qui về các kiểu tập tin sau :
Trang 20Hệ thống tập tin
- Các kiểu tập tin cũng có thể được dùng để biểu thị cấu trúc bên trong của một tập tin Ngoài ra, các tập tin cụ thể phải phù hợp cấu trúc được yêu cầu để hệ điều hành có thể hiểu Một số hệ điều hành mở rộng ý tưởng này thành tập hợp các cấu trúc tập tin được hỗ trợ bởi
hệ thống, với những tập hợp thao tác đặc biệt trên các tập tin ứng với những cấu trúc đó
10.1.4) Cấu trúc file :
Trang 21hệ điều hành hỗ trợ ít nhất một cấu trúc file đó là file thực thi vì vậy hệ thống có khả năng nạp và thực thi chương trình
10.1.4) Cấu trúc file :
- Cấu trúc của tập tin do hệ điều hành và người dùng
Trang 22Hệ thống tập tin
10.1.5)Cấu trúc bên trong file :
- Không có cấu trúc : 1 dãy các byte hay các word
- Dãy các record có chiều dài cố định
-Cấu trúc cây : gồm cây của những record ,không cần thiết có cùng độ dài , mỗi record có một trường khóa giúp cho việc tìm kiếm nhanh hơn
Trang 24Chapter 10: Hệ thống tập tin Các phương pháp truy xuất
Trang 25Thông tin trong tập tinđược xử lý có thứ tự, một mẫu
tin này sau mẫu tin kia
Hệ thống tập tin
Các tập tin lưu trữ thông tin Khi nó được dùng, thông tin này phải được truy xuất và đọc vào bộ nhớ máy tính Thông tin trong tập tin có thể được truy xuất trong nhiều cách
Các Phương pháp truy xuất
Truy xuất tuần tự:
Trang 26Rewin
read or wriye current poisition End
Hinh 10.3: Truy xuất tập tin tuần tự
Hệ thống tập tin
Trang 27Hệ thống tập tin
Truy xuất trực tiếp là truy xuất mà không theo một trình
tự nào cả Phương pháp này dựa trên mô hình đĩa của
tập tin, vì đĩa cho phép truy xuất ngẫu nhiên tới bất cứ
tập tin nào.
Truy xuất trực tiếp
Để truy xuất trực tiếp, tập tin được hiển thị
như một chuỗi các khối hay mẫu tin được đánh số
Một số hệ thống chỉ sử dụng 1 trong 2 phương pháp trên.
Không phải hệ điều hành nào cũng sử dụng cả 2
phương pháp truy xuất trực tiếp và truy xuất tuần
tự.
Trang 28Sequential access Implementation for direct
Trang 29Hệ thống tập tin
Các phương pháp truy xuất khác có thể được xây
dựng trên cơ sở của phương pháp truy xuất trực tiếp
Người ta thường dùng các chỉ mục chứa con trỏ để
truy xuất tập tin trực tiếp và tìm tập tin mong muốn
Các phương pháp truy xuất khác:
Trang 30Chapter 10: Hệ thống tập tin – Cấu trúc thư mục
Trang 32Cấu trúc lưu trữ Tổng quan về thư mục Thư mục đơn cấp
Thư mục hai cấp Cấu trúc cây thư mục Cấu trúc thư mục dạng đồ thị không chứa chu trình
Cấu trúc cây thư mục tổng quát
Trang 33Cấu trúc lưu trữ
(Partition) Phân vùng này là cấu trúc cấp thấp mà các tập tin
và thư mục định vị.
cho phép hệ thống khởi động và chạy nhiều hơn một hệ điều hành.
được chứa trong một thư mục với các thông tin tên, kích
thước, kiểu của các tập tin đó.
Trang 34Tổ chức hệ thống tập tin điển hình
Trang 35Tổng quan về thư mục
chúng ta cần nhớ các thao tác được thực hiện trên một thư mục.
Trang 36Thư mục đơn cấp
Cấu trúc thư mục đơn cấp
Trang 37Thư mục hai cấp
riêng biệt với nhau
Trang 38Cấu trúc cây thư mục
Trang 39 Việc tìm kiếm có hiệu quả
• cd /spell/mail/prog
• T ype list
mục hiện hành.
Xóa một tập tin rm <tên tập tin>
Quá trinh tạo mới một thư mục con được thực hiện ở trong thư mục hiện hành
Trang 40Cấu trúc thư mục dạng đồ thị không chứa chu
trình
thư mục chia sẻ thư mục con và tập tin
Nếu dict xóa list mất điểm liên kết(mất tập tin)
Giải pháp:
- Từ điểm trỏ trước(thư mục cha), chúng ta có thể ghi lại việc xóa tất cả các con trỏ(thư mục con) có kích cỡ thay đổi
- Từ điểm trỏ trước(thư mục cha) có thể sử dụng một
tổ chức theo kiểu nối vòng.
- Giải pháp Entry-hold-count (đếm-nắm giữ các điểm vào )
Trang 41Cấu trúc thư mục dạng đồ thị không chứa chu trình
Trang 42Cấu trúc cây thư mục tổng quát
hiện tượng nối vòng?
- Chỉ cho phép đường dẫn(của thư mục khác) tới tập tin không thuộc những thư mục con.
- Có thể tập hợp được dữ liệu rác
- Mỗi khi một liên kết mới được thêm vào sử dụng ta thấy một chu kỳ thuật toán được giải
quyết một cách đúng đắn
Trang 43Cấu trúc cây thư mục tổng quát
Trang 44File-System Mounting
Trang 45Cũng như việc một tập tin phải được mở trước khi sử dụng, thì một hệ thống tập tin cũng phải được gắn để sẵn sàng cho những quá trình xử lý trong hệ thống Cụ thể hơn, cấu trúc thư mục có thể được thiết lập ngoài những bộ đĩa mà lẽ ra phải được gắn vào để chúng có khả năng sử dụng được trong phần tên hệ thống tập tin.
Hệ điều hành được cung cấp tên của thiết bị và điểm
gắn vào ( vị trí trong cấu trúc tập tin nơi mà hệ thống
tập tin sẽ được đính vào) Điển hình như: một điểm
gán phải là một thư mục rỗng
File System Mounting
Trang 46Ví dụ: trong một hệ thống UNIX, một hệ thống tập tin
bao gồm những thư mục gia đình của người dùng cần
được gắn: /home; sau đó, để truy xuất đến cấu trúc thư mục bên trong hệ thống tập tin đó, chúng ta đi đến
những tên thư mục /home trước, ví dụ /home/jane Nếu gán tập tin đó là /users ta sẽ có đường dẫn /users/jane, cũng chính là đường dẫn đến cùng một thư mục
File System Mounting
Điều đó cũng giống trong Windown XP vậy
Trang 47Hệ điều hành còn xác minh rằng thiết bị đang chứa một
hệ thống tập tin hợp lệ bằng cách yêu cầu trình điều
khiển thiết bị đọc thư mục của thiết bị và xác minh rằng thư mục đó có định dạng như mong muốn hay không
File System Mounting
Quy trình này giúp hệ điều hành có khả năng xem
xét kĩ lưỡng cấu trúc thư mục của nó và chuyển
Hệ điều hành lưu ý trong phần cấu trúc thư mục của
nó một hệ thống tập tin đã được gắn tại một điểm đã
được chỉ định
Trang 48File System Mounting
Trang 49File System Mounting
Hệ thống còn làm rõ tính thực dụng của nó
Ví dụ: một hệ thống có thể không cho phép gắn
trên những thư mục chứa tập tin; hoặc sẽ khiến tập
tin được gắn có khả năng sử dụng trên thư mục đó
nhưng nó sẽ che khuất những tập tin đang tồn tại
cho đến khi hệ thống tập tin được gỡ gắn, giới hạn
ứng dụng của hệ thống tập tin và cho phép truy
xuất đến các tập tin gốc có trong thư mục đó
Trang 50File Sharing – Chia sẻ tập tin
Trang 51Mô hình Client – Server
Sự ổn định trong việc chia sẻ tập tin Chia sẻ tập tin trong UNIX
Trang 52Đa người dùng - Multiple Users
File Sharing
Hệ thống sẽ đưa ra một cấu trúc danh mục mà cho phép các files được chia sẻ bời nhiều người dùng,và hệ thống
sẽ làm trung gian trong việc chia sẻ file
Hệ thống có thể cho phép một người sử dụng để truy cập các tập tin của người dùng khác theo mặc định hoặc yêu cầu người sử dụng cụ thể cấp quyền truy cập vào các tập tin
Trang 53File Sharing
Hệ thống đưa ra khái niệm người sở hữu (owner) và nhóm (group) của tập tin hoặc thư mục người sở hữu là người dùng có thể thay đổi các thuộc tính và cho phép truy cập và có thể kiểm soát trên hầu hết các tập tin của mình VD :
Người sở hữu và nhóm người dùng của một tập tin (hoặc thư mục) được lưu trữ với thuộc tính file khác nhau, khi một người dùng yêu cầu một thao tác trên một tập tin, người sử dụng có thể được xem giống như là người sở hữu, để xác định xem nó yêu cầu người sử
Đa người dùng - Multiple Users
Trang 54Thứ hai chính phương pháp sử dụng một hệ thống tập tin phân phối (DFS - Distributed File System
Trang 56File Sharing
Mô hình Client – Server
Hệ thống tập tin từ xa cho phép một máy tính có thể gắn kết tập tin hệ thống từ một hoặc nhiều máy từ xa Trong trường hợp này, các máy có chứa tập tin gọi là server, và các máy tìm kiếm truy cập vào file gọi là client
Một máy chủ có thể phục vụ nhiều máy khách, và một máy khách có thể sử dụng nhiều máy chủ, tuỳ thuộc vào mô hình client-server cung cấp
Trang 57File Sharing
Mô hình Client – Server
Sau khi hệ thống tập tin từ xa được gắn kết, tập tin được yêu cầu được gửi đến người sử dụng trên mạng và đến máy chủ thông qua giao thức DFS (Hệ thống tập tin phân tán)
Máy chủ sẽ áp dụng kiểm tra truy cập qua các tiêu chuẩn để xác định người dùng có thể truy cập đến các tập tin hay ko ?
Trang 58File Sharing Distributed information systems -
Hệ thống phân phối thông tin
Để làm cho hệ thống client-server dễ dàng hơn để quản lý, hệ thống phân phối thông tin, cũng được gọi
là dịch vụ phân phối tên miền, cung cấp truy cập thống nhất đến các thông tin cần thiết cho máy tính từ xa
Hệ thống phân phối thông tin như là :
LDAP (dịch vụ thư mục )
DNS (Domain Name System – Hệ thống tên miền ) NIS (network information system – Hệ thống thông
Trang 59File Sharing Failure modes - kiểu sự cố
Hệ thống tập tin cục bộ có thể bị lỗi vì nhiều lý do,
bao gồm cả lỗi của đĩa chứa chứa hệ thống tập
tin, sự sai lệch của các cấu trúc thư mục hay
thông tin quản lý đĩa khác (gọi chung là siêu dữ
liệu), lỗi bộ điều khiển đĩa, lỗi cáp, lỗi bộ điều hợp
chủ
Trang 60File Sharing Failure modes - kiểu sự cố
Lỗi người dùng hoặc hoặc người quản trị hệ thống cũng có thể gây ra việc bị mất file hoặc thư mục hoặc toàn bộ đĩa bị xóa
Giao thức NFS( Network File system )mang tất cả thông tin cần thiết để xác định file thích hợp và thực hiện các hoạt động được yêu cầu
Trang 61File Sharing
Sự ổn định trong việc chia sẻ tập tin
Sự ổn định đại diện cho một tiêu chí quan trọng để đánh giá bất kỳ hệ thống tập tin có hỗ trợ chia sẻ file
Nó thể hiện khi nhiều người sử dụng của một hệ thống được truy cập vào một tập tin được chia sẻ cùng một lúc
Sự đa ổn định thường được gắn liền với hệ thống tập tin Sự ổn định thì liên quan trực tiếp đến tiến trình-đồng bộ hóa của hệ thống tập tin
Trang 62File Sharing UNIX Semantics – Chia sẻ tập tin trong UNIX
Việc mở một file bởi một người dùng thì không được hiện thì tức thì đến người dùng khách mà cũng đang
mở file
Khi một tập tin được đóng lại, các thay đổi được thực hiện cho nó được nhìn thấy chỉ bắt đầu từ sau khi đóng tập tin
Trang 63Protection
Trang 64Các kiểu truy xuất
Điều chỉnh truy xuất
Các tiếp cận bảo vệ khác
Trang 65Khi thông tin được lưu trữ trong hệ thống máy tính, chúng ta muốn bảo vệ nó được an toàn từ những xâm hại bên ngoài và sự truy cập không được phép
Sự an toàn chính là nhờ việc sao lưu các tập tin Nhiều máy tính có hệ thống chương trình tự động sao chép vào đĩa một cách thường xuyên để duy trì lại 1 bản sao nếu tập tin hệ thống bị phá hủy
Trang 66Tập tin hệ thống có thể bị phá hủy do lỗi của phần cứng ( lỗi trong lúc đọc hoặc viết ), nguồn điện tăng đột ngột, bụi, nhiệt độ tăng cao tập tin có thể vô ý bị xóa Lỗi do phần mềm cũng có thể gây ra những tập tin có nội dung
bị mất
Có nhiều cách để bảo vệ hệ thống Đối với hệ thống do
1 người sử dụng thì có thể gỡ bỏ ổ đĩa mềm, nhưng
trong hệ thống nhiều người sử dụng thì đĩa mềm là cần thiết