Bài giảng Hệ điều hành - Chương 8: File. System interface - Lê Ngọc Minh
Những yêu cầu của user
? Persistence: dữ liệu được lưu giữ bền vững
? Speed: truy xuất dữ liệu nhanh
? Size: có thể lưu trữ thật nhiều dữ liệu
? Sharing/protection: user có thể chia sẻ dữ liệu
khi cần thiết và có thể bảo vệ dữ liệu riêng tư khi
cần thiết
? Ease of use: user có thể dễ dàng tìm kiếm, kiểm
tra, hiệu chỉnh, cập nhật dữ liệu
Đặc điểm của phần cứng và OS
? Phần cứng cung cấp sự hỗ trợ sau
– Persistence : các thiết bị lưu trữ bền vững (non-volatile memory)
– Speed : cung cấp khả năng truy xuất ngẫu nhiên (random
access), nâng cao tốc độ đĩa (5400 → 7200 → 10K rpm,.)
– Size : dung lượng đĩa ngày càng lớn (40GB, 80GB, 120GB,.)
? Hệ điều hành cung cấp
– Persistence : lưu trữ dư thừa, back-up phục vụ cho recovery (ví
dụ: RAID,.).
– Ease of user :
? Gán tên cho một khối dữ liệu (file)
? Tổ chức cấu trúc quản lý file: thư mục
? Thực hiện quá trình ánh xạ file (cái nhìn luận lý của user) vào
không gian lưu trữ vật lý (trên đĩa). Quá trình này trong suốt
đối với user.
– Sharing/Protection : các quyền truy cập file/thư mục
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Bài giảng Hệ điều hành - Chương 8: File. System interface - Lê Ngọc Minh
Chương 8 File-System Interface Nội dung Khái niệm cơ sở Các phương thức truy cập Cấu trúc thư mục File-System mounting Chia sẻ file Bảo vệ (Protection) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.2- 1 Khái niệm cơ sở User Abstraction Hardware Resource Process/Thread CPU Address Space ⇐ OS ⇒ Memory Files Disk Mô hình trừu tượng hóa File System Program m er Applications Daemons Servers Shell Interface open() close() read() write() Device link() rename() Independent Interface sectors tracks seek() readblock() writeblock() Device Interface Hardware Disk Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.3- Những yêu cầu của user Persistence: dữ liệu được lưu giữ bền vững Speed: truy xuất dữ liệu nhanh Size: có thể lưu trữ thật nhiều dữ liệu Sharing/protection: user có thể chia sẻ dữ liệu khi cần thiết và có thể bảo vệ dữ liệu riêng tư khi cần thiết Ease of use: user có thể dễ dàng tìm kiếm, kiểm tra, hiệu chỉnh, cập nhật dữ liệu Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.4- 2 Đặc điểm của phần cứng và OS Phần cứng cung cấp sự hỗ trợ sau – Persistence : các thiết bị lưu trữ bền vững (non-volatile memory) – Speed : cung cấp khả năng truy xuất ngẫu nhiên (random access), nâng cao tốc độ đĩa (5400 → 7200 → 10K rpm,...) – Size : dung lượng đĩa ngày càng lớn (40GB, 80GB, 120GB,...) Hệ điều hành cung cấp – Persistence : lưu trữ dư thừa, back-up phục vụ cho recovery (ví dụ: RAID,...). – Ease of user : Gán tên cho một khối dữ liệu (file) Tổ chức cấu trúc quản lý file: thư mục Thực hiện quá trình ánh xạ file (cái nhìn luận lý của user) vào không gian lưu trữ vật lý (trên đĩa). Quá trình này trong suốt đối với user. – Sharing/Protection : các quyền truy cập file/thư mục Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.5- Khái niệm cơ sở (t.t) Để quản lý các thiết bị lưu trữ một cách hiệu quả, OS che dấu chi tiết cấp thấp của các thiết bị lưu trữ vật lý, chỉ định nghĩa các khái niệmlưu trữ luận lý Các khái niệm luận lý (user view) – File – File description – Directory – File System Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.6- 3 Các thuộc tính của File Name – tên file (human-readable form) Type – binary, text, image, Location – con trỏ đến vị trí file trên thiết bị lưu trữ Size – kích thước hiện tại (và mức tối đa cho phép !!!) Protection – kiểm soát quyền đọc, ghi, thực thi file Time, date, user identification –cácthôngtin dùng cho protection, security, và usage monitoring. Thông tin về file được giữ trong cấu trúc thư mục. Cấu trúc này được lưu trữ trên thiết bị lưu trữ vật lý. Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.7- Các tác vụ trên file/thư mục Create Delete – Cấp phát không gian lưu trữ – Tìm thư mục chứa file cần xóa – Thêm entry trong thư mục – Xóa các disk blocks của file Write – Xóa entry trong thư mục – Tìm file trong thư mục Truncate – Thực hiện tác vụ ghi tại vị – Giữ lại tất cả các thuộc tính file, trí con trỏ ghi (write pointer) ngoại trừ kích thước file = 0 Read Open(Fi) – Tìm file trong thư mục – Tìm file Fi trong cấu trúc thư mục Search trên đĩa – Thực hiện tác vụ đọc tại vị trí con trỏ đọc (read pointer) – Kiểm tra quyền truy cập – Nạp nội dung entry Fi trong thư Reposition – file seek mục vào bộ nhớ – Thiết lập con trỏ đọc/ghi Close(Fi) đến vị trí được chỉ định (tái định vị). – Chuyển nội dung entry Fi trong bộ nhớ vào đĩa Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.8- 4 Các cấu trúc file Không cấu trúc – một chuỗi words, bytes Cấu trúc record đơn giản –Lines – Fixed length – Variable length Cấu trúc phức tạp – Formatted document (Word/Excel document,...) – Relocatable load file (executable, dynamic linking library,...). Mọi hệ điều hành phải hỗ trợ ít nhất một cấu trúc – đó là cấu trúc của file thực thi (DOS/Windows: exe, com,...) Ai quyết định cấu trúc của file – Operating System ? –Program ? Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.9- Kiểu file – Name, Extension Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.10- 5 Access Methods Sequential Access: truy xuất thông tin tuần tự – read (đọc và tự động dời con trỏ file đến vị trí kế tiếp) – write – trở về đầu file, đến cuối file – forward/backward n record Direct Access (relative access) – file cấu thành từ các khối, record kích thước cố định – read n – write n – position to n – read next – write next – rewrite n Minh họa Sequential Access Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.11- Cấu trúc thư mục Là tập hợp các node lưu giữ thông tin của các file trong hệ thống Directory Files F F F1 2 4 F3 Fn Cả cấu trúc thư mục và các file đều nằm trên đĩa Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.12- 6 Ví dụ về cấu trúc File-System Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.13- Thông tin của thư mục Name Type: file, directory, symbolic link, ... Address: địa chỉ của khối lưu trữ file Current length Maximum length Date last accessed Date last updated Owner ID Protection information ... Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.14- 7 Các tác vụ trên thư mục Search: tìm trong cấu trúc thư mục để lấy được thông tin trong entry của một file Create: tạo một file mới và thêm vào cấu trúc thư mục để quản lý Delete: xóa một file List: hiển thị nội dung một thư mục Rename: đổi tên file Traverse: duyệt toàn bộ hệ thống file Thực chất, thư mục cũng là một file đặc biệt, cung cấp sự ánh xạ tương ứng giữa định danh của file và tất cả thông tin, dữ liệu khác của file. Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.15- Mục tiêu tổ chức cấutrúcthư mục Hiệu quả (efficiency) – định vị nhanh chóng một file nào đó. Đặt tên (naming) –thuậntiệnchouser. Vídụ – Hai users có thể có file trùng tên (nhưng khác nhau) – Một file có thể có nhiều tên khác nhau. Nhóm (grouping) – tổ chức thành các nhóm file luận lý dựa trên các thuộc tính của file, (ví dụ: file chương trình C, file tài liệu MS Word, file chương trình games, ) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.16- 8 Cấu trúc single-level Naming Grouping Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.17- Cấu trúc two-level ☺ Khái niệm đường dẫn - path name: không có ở single-level ☺ Hai users có thể có file trùng tên ☺ Tìm kiếm hiệu quả hơn Không hỗ trợ khả năng grouping Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.18- 9 Cấutrúccâythưmục Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.19- Cấutrúccâythưmục(t.t) ☺ Tìm kiếm hiệu quả ☺ Cung cấp khả năng grouping (bằng cách tổ chức cấu trúc thư mục con) ☺ Có thể dùng đường dẫn tuyệt đối hoặc tương đối ☺ Khái niệm thư mục làm việc (working directory). Ví dụ cd /spell/mail/prog cat list mail ☺ Xóa cây thư mục prog copy prt exp count xóa thư mục mail Tổ chức cấu trúc dữ liệu quản lý khá phức tạp (phần hiện thực hệ thống file) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.20- 10 Cấu trúc acyclic-graph Có thể chia sẻ thư mục con và file. – Một file chia sẻ có thể có nhiều tên (aliasing) /spell/count Hiện thực chia sẻ – Symbolic link: một con trỏ đến file hoặc thư mục khác ln -s /spell/count /dict/count – Hard link: nhân bản thông tin trong thư mục chia sẻ Nếu file /dict/w/list bị xóa ⇒ dangling pointer Giải pháp ??? Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.21- File system mounting Để có thể truy xuất, file system phải được gán lắp (mount) Một file system được gắn tại một thư mục, gọi là mount point. Các bước tiến hành gán lắp: mount /device/dsk /users – Cung cấp tên thiết bị và mount point – Kiểm tra xem thiết bị có chứa một file system hợp lệ không? – Gán lắp file system vào vị trí mount point Nếu mount-point có chứa file? – Các file của thư mục mount point sẽ không nhìn thấy được, trừ phi un-mount file system. Có thể gắn lắp các file system khác nhau tại các mount point khác nhau. Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.22- 11 File system mounting (t.t) Existing Un-m ounted M ount partition Point (/device/disk) Vùng không nhìn thấy khi /device/disk được mount Lệnh gán lắp: mount /device/dsk /users Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.23- Chia sẻ file Nhu cầu chia sẻ file trong hệ thống multi-user rất lớn Việc chia sẻ cũng có thể thực hiện qua cơ chế bảo vệ, kiểm soát nghiêm ngặt Trên hệ thống phân bố (distributed systems), các file có thể được chia sẻ qua mạng máy tính Network File System (NFS) là phương pháp chia sẻ file rất phổ biến dùng cơ chế RPC (mô hình client- server) Một file system từ xa cũng phải được mount trước khi sử dụng – mount ditlab.hcmut.edu.vn:/oscourse /home/osbook – Khi file system đã được mount, mọi truy xuất đến file/thư mục trên đó đều như bình thường, không phân biệt là local hay remote nữa. – Vấn đề: naming (DNS, NIS, LDAP, Active Directory, ...) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.24- 12 Ví dụ mount remote file-system / / export hom e oscourse M ount paper osbook DFS DSM /OS/DSM DFS DSM /hom e/osbook/DSM ditlab.hcm ut.edu.vn Local Client Remote Server Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.25- Automounter trên NFS Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.26- 13 Bảo vệ (protection) Chủ nhân của một file phải được cung cấp khả năng kiểm soát, điều khiển quá trình truy cập file – Các tác vụ có thể thực hiện trên file? – Những ai được quyền thực hiện thao tác trên file? Các kiểu truy xuất file –Read –Write –Execute – Append – Delete –List Để kiểm soát quá trình truy cập, cách tiếp cận thông thường là gán kèm theo mỗi file một access-control list (ACL) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.27- Access-control list và group Các chế độ truy cập: read, write, execute Ba nhóm user: owner, group, universe (public) – User name và user identifier (user ID) – Group name và group identifier (group ID) Ví dụ trong UNIX: có 3 field, mỗi field có 3 bits – Field : read, write, execute – Bit : r(4), w(2), x(1) RWX owner access 7 ⇒ 1 1 1 RWX group access 6 ⇒ 1 1 0 RWX public access 1 ⇒ 0 0 1 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -XI.28- 14
File đính kèm:
- bai_giang_he_dieu_hanh_chuong_8_file_system_interface_le_ngo.pdf