Quản lý hệ thống file

Một phần của tài liệu GIÁO TRÌNH HỆ ĐIỀU HÀNH ĐẦY ĐỦ NHẤT (Trang 68)

6.2.1 Tập tin

Tên tập tin : Tập tin là một cơ chế trừu tượng và để quản lý mỗi đối tượng

phải cĩ một tên. Khi tiến trình tạo một tập tin, nĩ sẽ đặt lại một tên, khi tiến trình kết thúc tập tin vẫn tồn tại và cĩ thể được truy xuất bởi các tiến trình khác với tập tin đĩ.

Cách đặt tên tập tin của mỗi hệ điều hành là khác nhau, đa số các hệ điều hành cho phép sử dụng 8 ký tự để đặt tên như hệ điều hành DOS, trong Win9x số ký tự cĩ thể lên tới 255 .

Tên của tập tin cĩ thể phân biệt chữ hoa hay chữ thường. Hệ điều hành DOS khơng phân biệt chữ hoa hay chữ thường, UNIX phân biệt chữ hoa hay chữ thường. Nhiều hệ thống hỗ trợ cách đặt tên bao gồm 2 phần : phần chính và phần mở rộng, phần mở rộng tập tin để quy định dặc điểm tập tin đĩ. Giữa phần chính và phần mở rộng phải cĩ dấu ‘.’. Nhờ phần mở rộng mà các chương trình thực hiện sẽ tự động nhận diện với các file trong các thành phần dữ liệu thực thi của nĩ.

Cấu trúc của tập tin: Gồm 3 loại :

- Dãy tuần tự các byte khơng cấu trúc (như các dữ liệu của media trên CDROM).

- Dãy các record cĩ chiều dài cố định như tập tin các cơ sở dữ liệu.

- 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ố giúp cho việc tìm kiếm nhanh hơn.

Kiểu tập tin:

Các hệ điều hành hỗ trợ cho nhiều loại tập tin khác nhau bao gồm các kiểu như : tập tin thường, thư mục, tập tin cĩ ký tự đặc biệt, tập tin khối.

- Tập tin thường: là tập tin text hay tập tin nhị phân chứa thơng tin người sử

dụng.

- Thư mục : là những tập tin hệ thống dùng để lưu giữa cấu trúc của hệ thống

tập tin.

- Tậ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 , mạng.

- Tập tin khối : dùng để truy xuất trên thiết bị đĩa.

Tập tin thường được chia thành 2 loại là tập tin văn bản và tập tin nhị phân.

Tập tin văn bản: chứa các dịng văn bản cuối dịng cĩ ký hiệu kết thúc dịng

(enter). Mỗi dịng cĩ độ dài khác nhau . Ưu điểm của kiểu tập tin này là nĩ cĩ thể hiển thị, in hay soạn thảo với một chương trình soạn thảo thơng thường. Đa số các dùng tập tin văn bản để nhập xuất, nĩ cũng dễ dàng làm đầu vào và đầu ra cho cơ chế pipeline.

Tập tin nhị phân: cĩ cấu trúc tập tin khác tập tin văn bản. Trong các hệ điều

hành tập tin thực thi là tập tin nhị phân. Thí dụ cấu trúc một tập tin thực thi như UNIX. Số hiệu Kích thước TEXT Kích thước dữ liệu Kích thước BSS Kích thước ST Đầu vào Vùng TEXT Vùng dữ liệu Bit định vị Bảng đối tượng Header Đối tượng đơn thể Đối tượng đơn thể Header Header Đối tượng đơn thể Cờ Tên đơn thể Ngày Người sở hữu Bảo vệ Kích thước

Truy xuất tập tin : cĩ hai kiểu truy xuất tập tin là truy xuất tuần tự hay truy xuất ngẫu nhiên.Truy xuất tuần tự là đọc các byte trong tập tin từ đầu đến cuối . Truy xuất kiểu này thuận lợi cho kiểu băng từ. Truy xuất tuần tự cĩ ích trong nhiều ứng dụng đặc biệt là truy xuất với các hệ CSDL. Truy xuất ngẫu nhiên được tổ chức theo chỉ mục nên việc truy xuất rất nhanh. Ngồi ra, hiện nay cĩ kiểu truy xuất kết hợp giữa tuần tự và ngẫu nhiên ( tổ chức trong hệ thống UNIX).

Thuộc tính tập tin:

Thuộc tính tập tin quy định mức truy nhập của người sử dụng các thao tác thơng thườøng như : đọc, viết, xố, bổ sung.. và mức độ bảo vệ file là : đặt tên, đặt mật khẩu , quyền truy nhập. Thuộc tính tập tin phải đảm bảo tính an tồn dữ liệu như : lưu trạng thái cập nhật, lưu trữ file theo các thế hệ… Các thuộc tính được kê bảng sau:

Tên thuộc tính Ý nghĩa

Bảo vệ Quyền truy xuất

Mật khẩu Mật khẩu để truy xuất tập tin

Người tạo Id của người tạo tập tin

Người sở hữu Người sở hữu hiện tại

Chỉ đọc 0: ghi/đọc 1: chỉ đọc

Aån 0: bình thường , 1: ẩn ( khơng hiển thị khi liệt kê)

Hệ thống 0: bình thường , 1 : tập tin hệ thống

Lưu trữ 0: đã được backup , 1 cần backup

ASCII/binary 0: tập tin text , 1: tập tin nhị phân

Truy xuất 0: tuần tự , 1: ngẫu nhiên

Temp 0: bình thường , 1: bị xố khi kết thúc

Khố 0 : khơng khố , 1:khố

Độ dài mỗi record Số byte trong record

Giờ tạo Ngày và giờ tạo tập tin

Thời gian truy cập

cuối cùng Ngày, giờ truy xuất tập tin gần nhất.

Thời gian thay đổi

cuối cùng Ngày, giờ thay đổi tập tin gần nhất

Kích thước tập tin Số byte của tập tin

Kích thước tối đa Số byte tối đa của tập tin

6.2.2 Thư mục

Hệ thống quản lý thư mục theo cấp bậc

Một thư mục thường chứa một số entry, mỗi entry cho một tập tin . Một entry chứa tên tập tin, thuộc tính và địa chỉ trên đĩa lưu trữ dữ liệu hay một entry chỉ chứa tên tập tin và một con trỏ, tới một cấu trúc, trên đĩ cĩ thuộc tính và vị trí lưu trữ của tập tin.

Khi một tập tin được mở, hệ điều hành tìm trên một thư mục của nĩ cho tới khi tìm thấy một tập tin được mở. Sau đĩ xác định địa chỉ lưu trữ trên đĩa và đưa vào một bảng trong bộ nhớ chính. Những truy xuất được thực hiện trên bộ nhớ chính.

Số lượng thư mục trên mỗi hệ thống là khác nhau.

Các hệ điều hành trên thực tế đã tồn tại một số kiểu tổ chức như sau:

- Tổ chức một mức (Single Level Directory ): hệ điều hành chỉ thiết lập một thư mục dùng chung cho các file . Kiểu tổ chức này khơng thuận lợi cho ngưịi sử dụng.

-Tổ chức hai mức: (Two Level Directory ): hệ thống tổ chức hai mức cho thư mục, một mức cho hệ thống, một mức cho người sử dụng.

- Tổ chức theo cấu trúc cây ( Tree Directory ) : trên mỗi ổ đĩa cĩ một thư mục gốc, trong thư mục gốc cĩ các thư mục con cấp một, trong một thư mục con tồn tại các thư mục con cấp hai .. Cách này tránh được trường hợp xung đột tên nhưng cũng cịn khĩ khăn với người dùng cĩ nhiều tập tin. Người sử dụng muốn nhĩm các ứng dụng lại một cách lơ gic . Từ đĩ hệ thống thư mục theo cấp bậc được hình thành với một mơ hình thư mục cĩ thể chứa tập tin hoặc một thư mục và cứ tiếp tục như vậy hình thành cây thư mục.

Directory

Files

Master File Directory User1 User 2 …………... User n

User File Directory Files

Root Directory

- Tổ chức theo đồ thị khơng chu trình ( Acylic Graph Directory ) kiểu tổ chức này gần giống với tổ chức cây nhưng một thư mục con hoặc file cĩ thể thuộc hai thư mục mẹ khác nhau.

Đường dẫn

Khi một hệ thống tập tin được tổ chức thành một cây thư mục, cĩ hai cách để xác định tên một tập tin. Cách thứù nhất là đường dẫn tuyệt đối, một tập tin được gán một đường dẫn từ thư mục gốc đến tập tin.Ví dụ như : /usr/ast/mailbox.

Dạng thứ 2 là đường dẫn tương đối, dạng này cĩ liên quan đến thư mục hiện hành hay thư mục làm việc. Người sử dụng quy định một thư mục hiện hành. Một tập tin được gán một đường dẫn khi một thư mục bắt đầu từ thư mục hiện hành. Thí dụ thư mục hiện hành là /usr/ast, để truy cập thư mục mailbox thì đơn giản chỉ cần ghi mailbox.

Trong phần lớn hệ thống, mỗi tiến trình cĩ một thư mục hiện hành riêng, khi một tiến trình thay đổi thư mục làm việc và kết thúc , khơng cĩ sự thay đổi để lại trên hệ thống tập tin . Như nếu một hàm thư việc thay đổi đường dẫn và sau đĩ khơng đổi lại sẽ cĩ ảnh hưởng đến tiến trình.

Hầu hết các hệ điều hành đều hỗ trợ hệ thống theo cấp bậc với hai entry đặc biệt cho mỗi thư mục là ‘.’ và ‘..’ . Thư mục ‘.’ Chỉ thư mục hiện hành và thư mục ‘..’ chỉ thư mục cha.

6.2.3 Các chức năng

Tập tin

Tạo: một tập tin được tạo chưa cĩ dữ liệu. Mục tiêu của chức năng này là

thơng báo cho biết rằng tập tin đã được tồn tại và thiết lập một số thuộc tính.

Xố : khi một tập tin khơng cịn cần thiết nữa, nĩ được xố để tăng dung lượng đĩa. Một số hệ điều hành tự động xố tập tin sau một khoảng thời gian n ngày.

Mở : trước khi sử dụng một tập tin , một tiến trình phải mở nĩ. Mục tiêu của mở là cho phép hệ thống một số thuộc tính và địa chỉ trong đĩa của bộ nhớ để tăng tốc độ truy xuất.

Đĩng: khi chấm dứt truy xuất, thuộc tính và địa chỉ trên đĩa khơng cịn dùng

nữa , tập tin được đĩng lại để mở rộng vùng nhớ. Một số hệ thống hạn chế tối đa số tập tin mở trong một tiến trình.

Đọc: đọc dữ liệu từ tập tin tại vị trí hiện thời của đầu đọc , nơi gọi sẽ cho biết cần bao nhiêu dữ liệu và vị trí của buffer lưu trữ nĩ.

Ghi : ghi dữ liệu lên tập tin từ vị trí hiện thời của đầu đọc . Nếu là cuối tập tin

kích thước tập tin sẽ tăng lên , nếu đang ở giữa tập tin, dữ liệu sẽ bị ghi chồng lên.

Thêm : gần giống như ghi nhưng dữ liệu được ghi vào cuối tập tin.

Tìm : dùng để truy xuất tập tin một cách ngầu nhiên . Khi xuất hiện lời gọi hệ thống , vị trí con trỏ đang ở vị trí hiện hành được di chuyển tới vị trí cần thiết. Sau đĩ dữ liệu sẽ được đọc ghi vị trí này.

Lấy thuộc tính : lấy thuộc tính của tập tin cho tiến trình .

Thiết lập thuộc tính: thay đổi thuộc tính của tập tin một thời gian sử dụng.

Đổi tên: thay đổi tên tập tin đã tồn tại.

Thư mục

Tạo: một thư mục được tạo, nĩ rỗng, ngoại trừ ‘.’ vàø ‘..’ được đặt bởi hệ thống.

Xố : xố một thư mục rỗng, thư mục ‘.’ vàø ‘..’coi như thư mục rỗng.

Mở : thư mục cĩ thể được đọc. Trước khi thư mục được đọc thì phải mở nĩ. Thí dụ liệt kê tất cả các tập tin trong thư mục, chương trình liệt kê mở thư mục và đọc ra tên của tất cả tập tin chứa trong đĩ.

Đĩng: khi một thư mục đọc xong, đĩng lại để mở rộng vùng nhớ.

Đọc: lệnh này trả về entry tiếp theo trong thư mục đã mở. Thơng thường cĩ thể đọc thư mục bằng lời gọi hệ thống read(), lệnh đọc thư mục luơn luơn trả về một entry dưới dạng chuẩn.

Đổi tên: thay đổi tên thư mục đã tồn tại.

Liên kết : cho phép một tập tin xuất hiện nhiều thư mục khác nhau. Khi cĩ yêu

Bỏ liên kết: nếu tập tin chỉ cịn liên kết với một thư mục, nĩ sẽ bị loại bỏ hồn tồn tồn khỏi hệ thống, nếu nhiều thì nĩ bị giảm chỉ số liên kết.

Tập tin chia sẻ

Khi cĩ nhiều người cùng sử dụng chung một tập tin , họ cần chia seû các tập tin đĩ. Cách chia sẻ thơng thường là tập tin xuất hiện trong các thư mục là như nhau, nghĩa là một tập tin cĩ thể liên kết nhiều thư mục khác nhau.

Để liên kết được một thư mục, mỗi khối liên kết cĩ một cấu trúc dữ liệu riêng và thư mục sẽ trỏ đến cấu trúc này. Một cách khác là hệ thống tạo một tạp tin mới cĩ kiểu LINK, tập tin mới chỉ chứa những đường dẫn của tập tin được liên kết, khi cần truy xuất sẽ dựa trên tập tin LINK để xác định tập tin cần truy xuất, phương pháp này là phương pháp liên kết hình thức.

Ở phương pháp chia sẻ thơng thường việc xác định bao nhiêu mối liên kết là rất khĩ khăn. Ở phương pháp liên kết hình thức khi loại bỏ LINK tập tin khơng bị ảnh hưởng.

6.3 CAØI ĐẶT HỆ THỐNG QUẢN LÝù FILE

Người sử dụng chỉ quan tâm đến các thao tác trên tập tin và thư mục. Khi lưu trữ file buộc phải sử dụng bộ nhớ ngồi. Nhiệm vụ chính của hệ điều hành phải đảm bảo sau khi hệ thống file được cài đặt trên bộ nhớ ngồi phải cĩ tối thiểu các chức năng sau:

- Quản lý khơng gian nhớ tự do trên bộ nhớ ngồi.

- Cấp phát khơng gian nhớ tự do.

- Cung cấp các khả năng định vị bộ nhớ ngồi.

- Hệ thống làm việc hiệu quả và tin cậy trên hệ thống cài đặt đĩ.

6.3.1 Bảng thư mục

Khi đọc một tập tin, tập tin phải được mở trước đĩ. Để mở được tập tin hệ

thống phải biết đường dẫm do người sử dụng cung cấp và định vị trong cấu trúc thư mục. Khi lưu trữ, các file hay thư mục được tổ chức lưu thành các khối. Đầu vào thư mục sẽ cung cấp các thơng tin cần thiết để tìm kiếm các khối. Trong hệ thống file tổ chức việc lưu trữ hợp lý nhờ quản lý bảng thư mục.

Trong hệ thống DOS và Window hệ thống quản lý này gọi là bảng FAT.

6.3.2 Các phương pháp cài đặt bảng phân phối vùng nhớ

Để lưu trữ dữ liệu của các file, thư mục cần phải cĩ những nguyên tắc lưu trữ các khối dữ liệu trên bộ nhớ ngồi hợp lý. Nguyên tắc này gọi là nguyên tắc cấp phát bảng phân phối vùng nhớ cho các file.

Cấp phát liên tục

Để phân phối khơng gian nhớ cho một file, hệ thống chọn một đoạn liên tục các khối đĩa tự do để cấp phát cho file đĩ. Với phương pháp này, để định vị file hệ thống chỉ cần biết địa chỉ của khối đĩa tự do đầu tiên và số khối cấp phát.

Với phương pháp cấp phát này là hỗ trợ cho phương pháp truy nhập tuần tự và truy nhập trực tiếp ï Nhưng khi phân phối chúng phải tìm các khơng gian nhớ tự do đủ lớn cho việc cấp phát cĩ thể chọn các thuật tốn ( First Fit , Best Fit , Worst Fit) Hạn chế ở đây khơng đủ vùng nhớ liên tục để cấp phát gây lãng phí bộ nhớ . Việc cấp phát này thường chỉ được áp dụng một lần trên các thiết bị lưu trữ như : CD ROM, băng từ. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Directory

File Start Length F1 0 2 F2 14 3 F3 19 6 F4 28 4 F5 6 2  Cấp phát liên kết

Trong phương pháp này, mỗi file được định vị theo danh sách liên kết trong thư mục thiết bị bằng hai con trỏ, một cái trỏ khối đầu tiên, một cái trỏ khối cuối cùng đã cấp phát cho file. Trong mỗi khối đĩa đã cấp phát cũng cĩ một con trỏ để trỏ tới khối đĩa kế tiếp.

Thí dụ: File F1 được cấp thành 5 khối đĩa cĩ số hiệu là 9,16,11,1, 15. Khối đàu tiên là 9 , khối cuối là 25.

0 1 2 34 5 6 7 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Directory File Start End

F1 9 25

Cấp phát liên kết cĩ ưu điểm là sử dụng được các khối tự do nằm tản mạn nhưng chỉ hỗ trợ truy nhập tuần tự, khơng hỗ trợ truy nhập trực tiếp ; độ tin cậy khơng đảm bảo nếu bị mất con trỏ và tốn khơng gian lưu trữ con trỏ chiếm khoảng (0,38%).

Cấp phát theo chỉ số

Trong phương pháp này, để cấp phát khơng gian nhớ cho một file , hệ thống sử dụng một khối đĩa theo chỉ số (index block) cho mỗi file. Trong khối đĩa chỉ số

chứa địa chỉ các khối đĩa đã cấp phát cho file, trong thư mục thiết bị địa chỉ của các

Một phần của tài liệu GIÁO TRÌNH HỆ ĐIỀU HÀNH ĐẦY ĐỦ NHẤT (Trang 68)