Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
361,54 KB
Nội dung
LƯU TRỮ BẢNG CHỈ SỐ CỦA FILE Lưu liên tục Bû hỉ álư t 1bl k û đó – Bảng chỉ số lưu trong 1 block của đóa Lưu theo kiểu liên kết Bảng chỉ số lưu trong n block củóanốivới – Bang chỉ so lưu trong n block cua đóa noi vơi nhau bằng danh sách liên kết Lưu bằng bảng chỉ số đa cấp Lưu bang bang chỉ so đa cap – Dùng bảng chỉ số khác để lưu các con trỏ đến các index block của file Sử dụng cơ chế kết hợp -29- HỆTHỐNG FILE CỦA UNIX Đóa cứng chia thành nhiều block – Boot block – Super block – Các block chứa danh sách các i-node – Cácblockdữ liệuCac block dư liệu Thôngtin lưu trong 1 i-node – Mode truy cập – Owner UID – Số link trỏ tới file – Thôngtin về thời điểm truy cập , tạo file…gp,ï – Kích thước file – Dãy các đòa chỉ khối chứa dữ liệu -30- – … CAÁU TRUÙC I-NODE CUÛA BSD UNIX -31- I-NODE CUA THệ MUẽC Thử muùc /home Thử muùc / Chổ soỏ i-node Teõn file / thử muùc con Chổ soỏ i-node Teõn file / thử muùc con con 10 . 2 con 2.22 15 hung 20 Os01 2 5etc 10 home 20 Os01 21 Os02 10 home 12 usr -32- Cấu trúc hệthống tệpCấu trúc hệthống tệp Biểu diễn bởi một cây phân cấp thư mục và các t ệp dữ liệuệp ệ Một thư mục dùng để tạo nhóm một tập các tệpdữ liệutệp dữ liệu Một thư mục có thể chứa các thư mục con Th ố (/) là điể à đầ tiê h Thư mục gốc (/) là điểm vào đầu tiên cho cả cây thư mục 21.33 Các thư mục thông dụngCác thư mục thông dụng / (thư mục gốc) /bin : thư mục tệp chương trình cơ bản /boot : thư mục chứa hạt nhân của HĐH /etc : thư mục các tệp cấu hình /dev : thư mục các tệp thiết bị /home : thư mục chứa dữ liệu NSD /lib : thư viện hệthống /usr : thư mục ứng dụng /var : thư mục dữ liệu hệ thống, thường được cập 21.34 nhật Tệp UNIX vs. tệp WindowsTệp UNIX vs. tệp Windows Giống nhau độ dài tối đachotêntệp là 255 độ dài tối đa cho tên tệp là 255 Chấp nhận tất cả các kí tự để đặt tên tệp (nhưng nên tránh sử dụng các kí tự đặc biệt như * ? [ ] & để tránh sự nhậpnhằng trong câu lệnh sử dụng sau này)sự nhập nhằng trong câu lệnh sử dụng sau này) Tính đặc thù của Unix Quảnlýdướimột khung nhìn củatệpchocả thư mục Quảnlý dưới một khung nhìn của tệp cho cả thư mục và các loại tài nguyên hệthống (ngoại vi, bảng phân chương đĩa) Không có khái niệmphầnmở rộng củatêntệp (kí tự Không có khái niệm phần mở rộng của tên tệp (kí tự '.' trong tên tệp được đối xử như mọi kí tự khác Không dùng ổ đĩa logic trong cây thư mục '/' đ dù th h '\'t đờ dẫ th 21.35 '/' được dùng thay cho '\' trong đường dẫn thư mục Kiểu của tệpKiểu của tệp Có 3 loạitệp chính trong mộtcâythư mụccủa Có 3 loại tệp chính trong một cây thư mục của Unix: Tệpthư mụclàmộtthư mục trong đường dẫn phânTệp thư mục là một thư mục trong đường dẫn phân loại (vd., /usr, /home,…) Tệp thông thường là một tệp chứa dữ liệu hoặc tệp chương trình (vd., /bin/passwd, /etc/passwd, …) Tệp đặc biệt là một tệp thiết bị tương ứng với thiết bị ngoạivihoặccáctệptự sinh bởiHĐH(vdngoại vi hoặc các tệp tự sinh bởi HĐH (vd., /dev/hda1, /dev/cdrom, /dev/lp0, …) 21.36 ểểCác kiểu tệpCác kiểu tệp Các ký hiệu dưới đây được sử dụng để biểu diễn Các ký hiệu dưới đây được sử dụng để biểu diễn các kiểutệp - : tệp thông thường: tệp thông thường d :thư mục b : tệp đặc biệt (block) b : tệp đặc biệt (block) c :tệp đặcbiệt (ký tự) l : link l : link m :phầnbộ nhớ trong dùng chung p : đường ống 21.37 p : đường ống QuQuản lý tệpản lý tệp pwd: hiển thị đường dẫn tuyệt đối của thư mục hiện tạip g y cd: thay đổi vị trí thư mục hiện tại $ cd /home/tuananh $ cd tuananh ls: liệt kê các tệp trong một thư mục $ls $ ls $ ls /home/tuananh $ ls –la tuananh ể ẩ tuỳ chọn -a cho phép hiển thị cả các tệp ẩn tuỳ chọn -l cho phép hiển thị thuộc tính cho mỗi tệp (kiểu, quyền, liên kết, chủ sở hữu, nhóm sở hữu, kích thước, ngày sửa đổi) ỗ 21.38 mkdir: tạo một thư mục rỗng rmdir: xoá một thư mục rỗng [...]... 18,-,-,Block 2: 3 5 3, Block 5: 0,10 Block 10: 1, 13 Block 13: 2, 18` -46- QUẢNLÝ VÙNG TRỐNG (2/ 2) Bit vector (bitmap) – – – – Kích thước block = 21 2 bytes Kích thước đóa = 23 0 bytes b t n = 23 0 /21 2 = 21 8 bit (32KB) chỉ so khối của khối trống số khoi cua khoi trong đầu tiên n-1 … Thao tác trên bit Cần không gian lưu trữ Ví dụ – 0 1 2 bit[i] = Đơn giản và hiệu quả khi cần tìm khối trống đầu... -l -rw-r r 1 tuananh user1 drwxr xr drwxr-xr 2 tuananh user1 16 Feb 10 19: 12 test.txt 5 12 Feb 10 19:14 vanban $ cp test.txt vanban $ ls -l vanban -rw-r r 1 tuananh user1 16 Feb 12 20:03 test.txt user1 16 Feb 10 19: 12 test.txt $ rm –R vanban $ ls -l -rw-r r 1 tuananh $ rm test.txt $ ls -l $ 21 .44 QUẢNLÝ VÙNG TRỐNG (1 /2) Dùng bit vector: N bit quản lý N block data – – Dùng danh sách liên kết... khác Đế khoả trố (Counting) Đ ám kh ûng t áng (C ti ) – Mỗi block trống lưu trữ số khoảng trống liên tục ò tiếp theo nó & đòa chỉ block trống không kê tiếp -45- QUẢNLÝ VÙNG TRỐNG (2/ 2) 1 2 3 P/p grouping Block 2: 3,4, 5,10 4 5 6 7 8 9 10 11 12 13 14 15 16 P/p counting 17 18 19 20 18 17 Vùng trống Vùng đã cấp phát Block 10: 11, 13,14,15 Block 15 18 15: 18,-,-,Block 2: 3 5 3, Block 5:... thế bởi một kí tự trong một tập kí tự cho t ớ t h trước [! ] được thay thế bởi một kí tự khơng có trong một tập kí tự cho trước 21 .41 Ví dụ $ ls -l *.[c,h] -rw-r r 1 tuananh user1 24 51 Feb 7 07:30 myprog.c -rw-r r 1 tuananh user1 24 51 Feb 7 07:30 myprog.h $ ls -l *prog drwxr-xr 2 tuananh user1 5 12 Feb 10 19: 12 c_prog drwxr-xr 2 tuananh drwxr xr user1 5 12 Feb 10 19: 12 java prog java_prog $ ls -l... 001111001111100011000011100… -47- QUẢNLÝ VÙNG TRỐNG (2/ 2) Linked list Liên kết các khối trống với nhau Chỉ cần giữ con trỏ đến khối nhớ trống đầu tiên trên đóa hoặc cache trong bộ nhớ chính để tăng tốc Ít lãng phí không gian đóa Dò biết khoảng không gian trống liên tục? Không hiệu qua: phai duyệt toan bộ Khong quả: phải toàn đóa để tìm không gian trống -48- QUẢNLÝ VÙNG TRỐNG (2/ 2) Grouping & counting Grouping... « xxx » : tệp ẩn (e.g., /home/tuananh/.bashrc) /h /t h/ b h ) 21 .39 Ví dụ $ cd ~ $ pwd /home/tuananh $ ls -la -rw-r r 1 tuananh user1 24 51 Feb -rw-r r 1 tuananh user1 4 025 Feb 10 19: 12 linux.ppt drwxr-xr 2 tuananh user1 $ mkdir vanban $ cd vanban $ pwd /home/tuananh/vanban $ cd $ pwd $ rmdir vanban 21 .40 7 07:30 bashrc 5 12 Feb 10 19: 12 linux Các siêu kí tự * dùng để thay thế cho một chuỗi kí tự... tuananh user1 22 5 Feb 7 07:30 bash_profile -rw-r r 1 tuananh user1 351 Feb 7 07:30 bash_logout 21 . 42 Quản lý tệp $ file1 […] dir $cp sao chép một hoặc nhiều tệp vào một thư mục $mv file1 […] dir di chuyển một hoặc nhiều tệp đến một thư mục $rm file1 […] xố một hoặc nhiều tệp ộ ặ ệp tuỳ chọn -R (recursive) cho phép sao chép/di chuyển/xố tồn bộ thư mục bao gồm cả các thư mục con 21 .43 Ví... (normal backup) p ( p) – Sao lưu tăng dần (incremental backup) Phụïc hồi (restore) dữ liệäu từ thiết bò sao lưu ò – Khi có hỏng hóc hệ thống – Khi cần phục hồi hệ thống về trạng thái cũ p Hệthống file có ghi log (Log Structured File System) -51- Bảo vệ (protection) Hệ điều hành phải hỗ trợ chủ nhân của file khả năng kiểm soát quá trình truy cập file – Các tác vu có t e t ực hiện trên file? Cac tac... cua khoi nhơ trong ke tiep Counting – – Tổ chức bảng chỉ mục, trong đó mỗi phần tử của bảng chứa đòa chỉ trên đóa củûa khốái trốáng đầàu tiên trong nhóm ỉ khối trống kèm theo một chỉ số đếm (cho biết số khối trống trong nhóm) Có C ù thểå cấáp pháùt hoặc thu hồài đồàng thờøi nhiềàu khốái nhớù liên tục -49- ĐỘ HIỆU QUẢ/ HIỆU SUẤTÛ CUA CỦA HỆTHỐNG FILE THONG Độ hiệu quả hệ thống file phụ thuộc – – Cách... suấát hệ thốáng file – – – – – Disk cache Page cache P h Free-behind & read-ahead Virtual Disk/ RAM disk Parallel I/O -50- SAO LƯU VÀ PHỤC HỒI DỮ LIỆU Kiể Ki åm tra sự nhấát quáùn củûa d õ li äu h dữ liệ – So sánh thôngtin trên block đóa và trong thư mục muc – Sử dụng các tiện ích: ndd, fsck, scandisk,… Sao lưu (backup) dữ liệu sang thiết bò lưu trư dư thiet trữ khác – Sao lưu toàn phần (normal . 2 con 2. 2 2 15 hung 20 Os01 2 5etc 10 home 20 Os01 21 Os 02 10 home 12 usr - 32- Cấu trúc hệ thống tệpCấu trúc hệ thống tệp Biểu diễn bởi một. -rw-r--r-- 1 tuananh user1 22 5 Feb 7 07:30 .bash_profile -rw-r--r-- 1 tuananh user1 351 Feb 7 07:30 .bash_logout 21 . 42 Quản lý tệpQuản lý tệp $ $cp file1