Một trong những đặc điểm quan trọng của Linux là nó hỗ trợ nhiều hệ thống tập tin. Điều này làm cho nó rất linh động và có thể cùng tồn tại với nhiều hệ điều hành khác. Từ những phiên bản đầu tiên, Linux đã hỗ trợ 15 loại tập tin : ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs và ufs.
Trong mỗi file system, việc ánh xạ từ tên qua các khối dữ liệu được thực hiện thông qua cấu trúc gọi là i-node.
Cấu trúc thư mục ánh xạ tên và số i-node. Các phần tử của thư mục có dạng:
Mỗi i-node mô tả một file. Mỗi i-node chứa một danh sách các khối (block)
của tập tin mà nó mô tả.
14 trang |
Chia sẻ: maiphuongdc | Lượt xem: 7375 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Đề tài Hệ thống quản lý File, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Hệ thống quản lý File
Nguyên lý quản lý tập tin chung của hệ điều hành
Hệ thống quản lý tập tin
Các tập tin được quản lý bởi hệ điều hành với cơ chế gọi là hệ thống quản lý tập tin. Bao gồm : cách hiển thị, các yếu tố cấu thành tập tin, cách đặt tên, cách truy xuất, cách sử dụng và bảo vệ tập tin, các thao tác trên tập tin. Cách tổ chức thư mục, các đặc tính và các thao tác trên thư mục.
File (tập tin)
Tập tin là đơn vị lưu trữ thông tin của bộ nhớ ngoài. Thông tin trên tập tin là vững bền không bị ảnh hưởng bởi các xử lý tạo hay kết thúc các tiến trình, chỉ mất đi khi user thật sự muốn xóa. Tập tin được quản lý bởi hệ điều hành.
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 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ên 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 chữ cái để đặt tên tập tin như ctdl, caycb, tamhghau v.v…, thường thường thì các ký tự số và ký tự đặc biệt cũng được sử dụng như baitap2…,
Hệ thống tập tin có thể có hay không phân biệt chữ thường và chữ hoa. Ví dụ : UNIX phân biệt chữ thường và hoa còn MS-DOS thì không phân biệt.
Nhiều hệ thống tập tin hỗ trợ tên tập tin gồm 2 phần được phân cách bởi dấu ‘.’ mà phần sau được gọi là phần mở rộng. Ví dụ : vidu.txt. Trong MS-DOS tên tập tin có từ 1 đến 8 ký tư, phần mở rộng có từ 1 đến 3 ký tự. Trong UNIX có thể có nhiều phân cách như prog.c.Z. Một số kiểu mở rộng thông thường là : .bak, .bas, .bin, .c, .dat, .doc, .ftn, .hlp, .lib, .obj, .pas, .tex, .txt.
Cấu trúc: 3 loại
Dãy tuần tự các byte không cấu trúc : hệ điều hành không biết nội dung của tập tin:MS-DOS và UNIX sử dụng loại này.
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 (bản ghi), không cần thiết có cùng độ nhanh hơn.
Kiểu tập tin:
Nếu hệ điều hành nhận biết được loại tập tin, nó có thể thao tác một cách hợp lý trên 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 của người sử dụng.
+ Thư mục : là những tập tin hệ thống dùng để lưu giữ 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 làm hai 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 enter. Mỗi dòng có độ dài có thể 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 editor thông thường.Đa số các chương trình 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 (đường truyền ống)
Tập tin nhị phân : có cấu trúc khác tập tin văn bản. Mặc dù về mặt kỹ thuật , tập tin nhị phân gồm dãy các byte , nhưng hệ điều hành chỉ thực thi tập tin đó nếu nó có cấu trúc đúng. Ví dụ một một tập tin nhị phân thi hành được của UNIX. Thường thường nó bao gồm năm thành phần : header, text, data, relocation bits, symbol table. Header bắt đầu bởi byte nhận diện cho biết đó là tập tin thi hành. Sau đó là 16 bit cho biết kích thước các thành phần của tập tin, địa chỉ bắt đầu thực hiện và một số bit cờ. Sau header là dữ liệu và text của tập tin. Nó được nạp vào bộ nhớ và định vị lại bởi những bit relocation. Bảng symbol được dùng để debug.
Chức năng:
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 đã tồn tại và thiết lập một số thuộc tính.
Xóa :khi một tập tin không còn cần thiết nữa, nó được xóa để tăng dung lượng đĩa. Một số hệ điều hành tự động xoá 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, tiến trình phải mở nó. Mục tiêu của mở là cho phép hệ thống thiết lập một số thuộc tính và địa chỉ đĩa trong 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 để giải phó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ư WRITE nhưng dữ liệu luôn được ghi vào cuối tập tin.
Tìm :dùng để truy xuất tập tin 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 tại 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 sau một thời gian sử dụng.
Đổi tên :thay đổi tên của tập tin đã tồn tại.
Thư mục
Để lưu trữ dãy các tập tin, hệ thống quản lý tập tin cung cấp thư mục, mà trong nhiều hệ thống có thể coi như là tập tin.
*Hệ thống thư mục theo cấp bậc
Một thư mục thường thường chứa một số entry, mỗi entry cho một tập tin. Mỗi entry chứa tên tập tin, thuộc tính và địa chỉ trên đĩa lưu dữ liệu hoặc một entry chỉ chứa tên tập tin và một con trỏ, 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 thư mục của nó cho tới khi tìm thấy tên của tập tin được mở. Sau đó nó sẽ xác định thuộc tính cũng như địa chỉ lưu trữ trên đĩa và đưa vào một bảng trong bộ nhớ. Những truy xuất sau đó thực hiện trong bộ nhớ chính.
Số lượng thư mục trên mỗi hệ thống là khác nhau. Thiết kế đơn giản nhất là hệ thống chỉ có thư mục đơn(còn gọi là thư mục một cấp), chứa tất cả các tập tin của tất cả người dùng, cách này dễ tổ chức và khai thác nhưng cũng dễ gây ra khó khăn khi có nhiều người sử dụng vì sẽ có nhiều tập tin trùng tên. Ngay cả trong trường hợp chỉ có một người sử dụng, nếu có nhiều tập tin thì việc đặt tên cho một tập tin mới không trùng lắp là một vấn đề khó.
Cách thứ hai là có một thư mục gốc và trong đó có nhiều thư mục con, trong mỗi thư mục con chứa tập tin của người sử dụng (còn gọi là thư mục hai cấp), 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 luôn muốn nhóm các ứng dụng lại một cách logic.
Từ đó, hệ thống thư mục theo cấp bậc (còn gọi là cây thư mục) được hình thành với mô hình một thư mục có thể chứa tập tin hoặc một thư mục con và cứ tiếp tục như vậy hình thành cây thư mục như trong các hệ điều hành DOS, Windows, v. v...
Ngoài ra, trong một số hệ điều hành nhiều người dùng, hệ thống còn xây dựng các hình thức khác của cấu trúc thư mục như cấu trúc thư mục theo đồ thị có chu trình và cấu trúc thư mục theo đồ thị tổng quát. Các cấu trúc này cho phép các người dùng trong hệ thống có thể liên kết với nhau thông qua các thư mục chia sẻ.
Chức năng:
Tạo : một thư mục được tạo, nó rỗng, ngoại trừ "." và ".." được đặt tự động bởi hệ thống.
Xóa :xoá một thư mục, chỉ có thư mục rỗng mới bị xóa, tư mục chứa "." và ".." coi như là thư mục rỗng.
Mở thư mục :thư mục có thể được đọc. Ví dụ để liệt kê tất cả tập tin trong một 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 đó. Trước khi thư mục được đọc, nó phải được mở ra trước.
Đóng thư mục :khi một thư mục đã được đọc xong, phải đóng thư mục để giải phóng vùng nhớ.
Đọc thư mụ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 :cũng như tập tin, thư mục cũng có thể được đổi tên.
Liên kết :kỹ thuật này cho phép một tập tin có thể xuất hiện trong nhiều thư mục khác nhau. Khi có yêu cầu, một liên kết sẽ được tạo giữa tập tin và một đường dẫn được cung cấp.
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ỏ hoàn toàn khỏi hệ thống, nếu nhiều thì nó bị giảm chỉ số liên kết.
Cấu trúc của hệ thống tập tin
Đĩa cung cấp số lượng thiết bị lưu trữ phụ mà trên đó hệ thống tập tin được duy trì. Có hai đặc điểm làm đĩa trở thành phương tiện tiện dụng cho việc lưu trữ nhiều tập tin:
• Chúng có thể được viết lại bằng cách thay thế; có thể đọc một khối từ đĩa, sửa một khối và viết nó ngược trở lại đĩa trong cùng vị trí.
• Chúng có thể được truy xuất trực tiếp bất cứ khối thông tin nào trên đĩa.
Để cải tiến tính hiệu quả nhập/xuất, thay vì chuyển một byte tại một thời điểm,nhập/xuất chuyển giữa bộ nhớ và đĩa được thực hiện trong đơn vị khối. Mỗi khối là một hay nhiều cung từ (sector). Phụ thuộc ổ đĩa, các cung từ biến đổi từ 32 bytes tới 4096 bytes; thường là 512 bytes.
Để cung cấp việc truy xuất hiệu quả và tiện dụng tới đĩa, hệ điều hành áp đặt một hay nhiều hệ thống tập tin để cho phép dữ liệu được lưu trữ, định vị và truy xuất lại dễ dàng. Một hệ thống tập tin đặt ra hai vấn đề thiết kế rất khác nhau. Vấn đề đầu tiên là định nghĩa hệ thống tập tin nên quan tâm đến người dùng như thế nào. Tác vụ này liên quan đến việc định nghĩa một tập tin và thuộc tính của nó, các thao tác được phép trên một tập tin và các giải thuật và cấu trúc cho việc tổ chức tập tin. Vấn đề thứ hai là tạo giải thuật và cấu trúc dữ liệu để ánh xạ hệ thống tập tin luận lý vào các thiết bị lưu trữ phụ.
Hệ thống tập tin thường được tạo thành từ nhiều cấp khác nhau. Cấu trúc được hiển thị trong hình X-1 là một thí dụ của thiết kế phân cấp. Mỗi cấp trong thiết kế dùng các đặc điểm của cấp thấp hơn để tạo các đặc điểm mới cho việc sử dụng bởi cấp cao hơn
Hệ thống tập tin phân tầng
Điều khiển nhập/xuất (I/O control): là cấp thấp nhất chứa các trình điều khiển thiết bị và các bộ quản lý ngắt để chuyển thông tin giữa bộ nhớ chính và hệ thống đĩa. Trình điều khiển thiết bị thường viết các mẫu bit xác định tới các vị trí trong bộ nhớ của bộ điều khiển nhập/xuất để báo với bộ điều khiển vị trí trên thiết bị nào và hoạt động gì xảy ra.
Hệ thống tập tin cơ bản (basic file system) chỉ cần phát ra các lệnh thông thường tới các trình điều khiển thiết bị tương ứng để đọc và viết các khối vật lý trên đĩa. Mỗi khối vật lý được xác định bởi địa chỉ đĩa (thí dụ, đĩa 1,cyclinder 73, track 2, sector 10).
Module tổ chức tập tin (file-organization module) biết các tập tin và các khối luận lý cũng như các khối vật lý. Bằng cách biết kiểu cấp phát tập tin được dùng và vị trí của tập tin, module tổ chức tập tin có thể dịch các địachỉ khối luận lý thành các địa chỉ khối vật lý cho hệ thống tập tin cơ bản để truyền. Các khối luận lý của mỗi tập tin được đánh số từ 0 (hay 1) tới N, ngược lại các khối vật lý chứa dữ liệu thường không khớp với các số luận lý vì thế một thao tác dịch được yêu cầu để định vị mỗi khối. Module tổ chức tập tin cũng chứa bộ quản lý không gian trống (free-space manager), mà nó ghi vết các khối không được cấp phát và cung cấp các khối này tới module tổ chức tập tin khi được yêu cầu.
Hệ thống tập tin luận lý (logical file system) quản lý thông tin siêu dữ liệu (metadata). Metadata chứa tất cả cấu trúc hệ thống tập tin, ngoại trừ dữ liệu thật sự (hay nội dung của các tập tin). Hệ thống tập tin luận lý quản lý cấu trúc thư mục để cung cấp module tổ chức tập tin những thông tin yêu cầu sau đó, được cho tên tập tin ký hiệu. Nó duy trì cấu trúc tập tin bằng khối điều khiển tập tin. Một khối điều khiển tập tin (file control block-FCB) chứa thông tin về tập tin, gồm người sở hữu, quyền và vị trí của nội dung tập tin
Nhiều cấu trúc trên đĩa và trên bộ nhớ được dùng để cài đặt một hệ thống tập tin. Các cấu trúc này thay đổi dựa trên hệ điều hành và hệ thống tập tin nhưng có một số nguyên tắc chung được áp dụng. Trên đĩa, hệ thống tập tin chứa thông tin về cách khởi động hệ điều hành được lưu trữ ở đó, tổng số khối, số và vị trí của các khối trống, cấu trúc thư mục, các tập tin riêng biệt.
Các cấu trúc trên đĩa gồm:
Khối điều khiển khởi động (boot control block) có thể chứa thông tin được yêu cầu bởi hệ thống để khởi động một hệ điều hành từ phân khu đó.Nếu đĩa không chứa hệ điều hành thì khối này là rỗng. Điển hình, nó là khối đầu tiên của đĩa. Trong UFS, khối này được gọi là khối khởi động; trong NTFS, nó là cung khởi động phân khu (partition boot sector).
Khối điều khiển phân khu (partition control block) chứa chi tiết về phân khu, như số lượng khối trong phân khu, kích thước khối, bộ đếm khối trống và con trỏ khối trống, bộ đếm FCB trống và con trỏ FCB. Trong UFS khối này được gọi là siêu khối (superblock); trong NTFS, nó là bảng tập tin chính (Master File Table)
Một cấu trúc tập tin được dùng để tổ chức các tập tin
Một FCB chứa nhiều chi tiết tập tin gồm các quyền tập tin, người sở hữu,kích thước, và vị trí của các khối dữ liệu. Trong UFS khối này được gọi là i-node. Trong NTFS, thông tin này được lưu trong Master File Table dùngcấu trúc cơ sở dữ liệu quan hệ với một dòng cho một tập tin.
Thông tin trong bộ nhớ được dùng cho việc quản lý hệ thống tập tin và cải tiến năng lực qua lưu trữ (caching). Các cấu trúc này có thể bao gồm:
Bảng phân khu trong bộ nhớ chứa thông tin về mỗi phân khu được gắn vào.
Cấu trúc thư mục trong bộ nhớ quản lý thông tin thư mục của những thư mục vừa được truy xuất. (đối với các thư mục nơi mà các phân khu được gắn vào, nó có thể chứa một con trỏ chỉ tới bảng phân khu.)
Bảng tập tin đang mở của hệ thống (system-wide open-file table) chứa bản sao của FCB của mỗi tập tin đang mở cũng như các thông tin khác.
Bảng tập tin đang mở trên quá trình (per-process open-file table) chứa con trỏ chỉ tới mục từ tương ứng trong bảng tập tin đang mở của hệ thống cũng như những thông tin khác.
Để tạo một tập tin mới, một chương trình ứng dụng gọi hệ thống tập tin luận lý.Hệ thống tập tin luận lý biết định dạng của các cấu trúc thư mục. Để tạo một tập tin mới, nó cấp phát một FCB mới, đọc thư mục tương ứng vào bộ nhớ, cập nhật nó với tên tập tin mới và FCB, và viết nó trở lại đĩa. Một FCB điển hình được hiển thị trong hình X2.
Một khối điều khiển tập tin điển hình
II/ Hệ thống quản lý tập tin trong Linux
Cấu trúc hệ thống tập tin
Một trong những đặc điểm quan trọng của Linux là nó hỗ trợ nhiều hệ thống tập tin. Điều này làm cho nó rất linh động và có thể cùng tồn tại với nhiều hệ điều hành khác. Từ những phiên bản đầu tiên, Linux đã hỗ trợ 15 loại tập tin : ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs và ufs.
Trong mỗi file system, việc ánh xạ từ tên qua các khối dữ liệu được thực hiện thông qua cấu trúc gọi là i-node.
Cấu trúc thư mục ánh xạ tên và số i-node. Các phần tử của thư mục có dạng:
Mỗi i-node mô tả một file. Mỗi i-node chứa một danh sách các khối (block)
của tập tin mà nó mô tả.
i-node không chứa tên tập tin. Tên tập tin ở trong cấu trúc thư mục (directory structure).
Người sử dụng khi truy xuất các tập tin trong Linux bị kiểm soát bởi “quyền truy cập” (trường permission trong i-node).
Linux có 4 kiểu file cơ bản:
- File thông thường (program, text, library, ...).
- Thư mục (container).
- File đặc biệt (device, socket, pipe, ...).
- Liên kết symbolic links (symlinks).
Trong Linux một thư mục là một tập tin chứa danh sách của tất cả các tập tin và thư mục con của thư mục đó).
Quy ước đặt tên file:
- Tối đa 225 ky tự.
- Có thể sử dụng bất kỳ ký tự nào (kể cả các ký tự đặc biệt).
"very ? long - file + name.test"
- File/thư mục ẩn được bắt đầu bằng một dấu chấm “.”.
.bash_history .bash_profile .bashrc
.desktop/ .kde/ .mozilla/
Cấu trúc cây thư mục:
Trong Linux không có khái niệm ổ đĩa. Sau quá trình khởi động, toàn bộ các thư mục và tập tin được kết gắn và tạo thành một hệ thống tập tin thống nhất, bắt đầu từ gốc “/”.
Các thư mục hệ thống:
* Thư mục /home: thư mục dữ liệu người dùng.
- Trong thư mục này có các thư mục con dành cho từng người dùng.
- Mỗi người dùng được phép tạo, cập nhật, xóa dữ liệu trong thư mục của mình.
- Khi bạn đăng nhập vào hệ thống thì bạn sẽ được đặt vào thư mục của bạn, thư mục này có tên chính là tên người dùng mà bạn đăng nhập.
* Thư mục /bin: các lệnh cơ bản.
- Chứa các lệnh và các chương trình tiện ích chuẩn, chẳng hạn như ls,cat ...
*Thư mục /usr: ứng dụng và thư viện.
Chứa các file và lệnh chuẩn sử dụng bởi hệ thống. Nó được chia thành
nhiều thư mục con:
- /usr/bin: chứa các lệnh và tiện ích hướng người dùng.
- /usr/sbin: chứa các lệnh quản trị hệ thống.
- /usr/lib: chứa các thư viện dành cho lập trình.
- /usr/doc: chứa tài liệu Linux.
- /usr/man: chứa các file tra cứu lệnh.
- /usr/spool: chứa các file được sinh ra bởi lệnh in hoặc truyền tin qua
mạng.
* Thư mục /sbin: các lệnh quản trị
- Chứa các lệnh quản trị dùng khi khởi động hệ thống.
*Thư mục /var: dữ liệu biến động
- Chứa nhiều file khác nhau, chẳng hạn như các file thư (mailbox).
*Thư mục /dev: khai báo thiết bị
- Chứa các giao diện cho thiết bị như terminal hay máy in.
*Thư mục /etc: cấu hình hệ thống và ứng dụng
- Chứa các file cấu hình hệ thống và các file hệ thống khác.
* Thư mục /boot: kernel và cấu hinh boot.
* Thư mục /lib: thư viện dùng chung (shared lib).
* Thư mục /mnt: thư mục để mount floppy, cdrom, ...
* Thư mục /proc: thông tin process (pseudo-filesystem).
* Thư mục /tmp: dữ liệu tạm.
Hệ thống tập tin đầu tiên Linux hỗ trợ là Minix cho phép tập tin có tên tối đa là 14 ký tự và kích thước không vượt quá 64Mb. Hệ thống tập tin đặc thù đầu tiên của Linux là ‘hệ thống tập tin mở rộng’ (EXT) được giới thiệu vào tháng 4/1992, hệ thống này không hiệu quả nên sau đó vào năm 1993 ‘hệ thống tập tin mở rộng thế hệ 2’ được thêm vào.
Có một điểm quan trọng khi hệ thống tập tin EXT được đưa vào Linux. Hệ thống tập tin thật bị tách khỏi hệ điều hành và các dịch vụ hệ thống bằng một tầng giao tiếp gọi là hệ thống tập tin ảo VFS. VFS cho phép Linux hỗ trợ nhiều loại hệ thống tập tin khác nhau, mỗi loại được xem như là một giao tiếp phần mềm với VFS. Tất cả chi tiết của hệ thống tập tin được chuyển đổi sao cho chúng xuất hiện như nhau đối với phần còn lại của hạt nhân Linux và các chương trình thi hành trong hệ thống. Lớp VFS cho phép thiết lập một cách trong suốt nhiều hệ thống tập tin khác nhau cùng lúc. VFS được cài đặt sao cho việc truy xuất các tập tin của nó nhanh nhất có thể và nó cũng đảm bảo tính chính xác khi truy xuất.
VFS đặt các thông tin của mỗi hệ thống tập tin vào bộ nhớ mỗi khi chúng được thiết lập và sử dụng. Các cấu trúc dữ liệu mô tả tập tin và thư mục truy xuất được tạo và hủy thường trực. Khi các khối được truy xuất, chúng được đặt vào vùng đệm. Vùng đệm không chỉ lưu giữ dữ liệu mà còn hỗ trợ quản lý giao tiếp không đồng bộ với bộ phận điều khiển thiết bị khối.
‘hệ thống tập tin mở rộng thế hệ 2’ EXT2
-Ext2(hệ thống quản lý file mở rộng thứ hai ) là hệ thống file được sử dụng trong hệ điều hành Linux
-Thiết kế bởi Remy Card thay thế cho ext
-Không phải hệ thống file journal(là hệ thống file ghi lại sự thay đổi của file vào 1 journal(biên bản) trước khi thực sự ghi vào hệ thống file chính)
*Cấu trúc của ext2:
Không gian trong ext2 được chia thành các block(khối),từ đó tổ chức thành các nhóm block,tương tự như nhóm cylinder trong hệ thống file Unix.Điều này giúp giảm sự phân mảnh và thời gian truy xuất khi đọc lượng dữ liệu lớn liên tiếp nhau. Mỗi nhóm block bao gồm superblock(siêu block),nhóm block bitmap,inode block
- Cấu trúc trên đĩa
Boot block, phần đầu tiên của FS đĩa, là sector đầu tiên chứa mã bootstrap được đọc vào máy và chạy để nạp HĐH.
Mỗi nhóm block bao gồm superblock(siêu block), inode list, data block,
Superblock bao gồm những thông tin quan trọng thiết yếu để hệ điều hành có thể khởi động,như vậy dữ liệu backup được tạo ra với mỗi nhóm block. Superblock gồm các trường sau:
1. kích thước của file system (FS).
2. tổng số các block còn chưa cấp phát cho tệp (free block) trong FS.
3. danh sách các free block sẵn có trên FS .
4. chỉ số của free block tiếp theo trong danh sách free block.
5. kích thước của danh sách inode,
6. tổng số các inode chưa cấp phát (free inode) trong FS,
7. danh sách free inode trong FS,
8. chỉ số của free inode tiếp theo trong danh sách free inode,
9. các trường khoá (lock) cho free block và các danh sách free inode,
10. cờ (flag) cho biết super block đã có thay đổi.
Descriptor (ký hiệu) của nhóm block chứa giá trị của block bitmap, inode bitmap và điểm bắt đầu của bảng inode trong mỗi nhóm block.Trong bảng sẽ chứa ký hiệu của nhóm.
- Block bipmap chỉ ra tình trạng của các block (được sử dụng hay chưa được sử dụng.)
- Inode bitmap
Inode List danh cách các inode trong FS. Người quản trị xác định kích thước khi làm cấu hình (cài đặt) hệ thống. Kernel qui chiếu các inode bằng chỉ số (index) trong inode table. Có một inode gọi là root inode trong mỗi FS: là inode khởi đầu để vào được FS sau khi thực hiện gọi hệ thống phép ghép (mount) FS đó vào cây thư mục gốc.
Data blocks vùng chứa nội dung (dữ liệu) của tệp và dữ liệu quản trị hệ thống (là cácblock của tệp thư mục, các block nội dung của một inode). Một khối khi đã cấp chomỗi tệp thì khối đó chỉ thuộc tệp đó mà thôi.
Các file đính kèm theo tài liệu này:
- he_thong_quan_ly_file_nhom_i_word2003.doc
- he_thong_quan_ly_file_nhom_i_word2003.pdf