Mục tiêu chương 2 giúp sinh viên hiểu rõ tập tin là gì và các mô hình tổ chức, quản lý và cài đặt tập tin trong các Hệ điều hành. Với các nội dung chính được trình bày như sau: Các khái niệm cơ bản, các phương pháp truy cập tập tin mô hình tổ chức và quản lý tập tin, cài đặt hệ thống tập tin
Hệ Điều Hành Chương Quản lý tập tin Giảng viên TS Trần Công Án tcan@cit.ctu.edu.vn Khoa Công Nghệ Thông Tin & Truyền Thông Đại học Cần Thơ 2018 [HĐH] Ch2 Quản lý tập tin Mục Tiêu Giúp sinh viên hiểu rõ tập tin mơ hình tổ chức, quản lý cài đặt tập tin Hệ điều hành TS Trần Công Án [HĐH] Ch2 Quản lý tập tin [HĐH] Ch2 Quản lý tập tin Nội Dung Các khái niệm Các Phương Pháp Truy Cập Tập Tin Mơ hình tổ chức Quản lý tập tin Cài đặt hệ thống tập tin TS Trần Công Án [HĐH] Ch2 Quản lý tập tin [HĐH] Ch2 Quản lý tập tin Các khái niệm Các khái niệm TS Trần Công Án [HĐH] Ch2 Quản lý tập tin [HĐH] Ch2 Quản lý tập tin Các khái niệm Giới Thiệu Máy tính lưu trữ thơng tin thiết bị lưu trữ không bay đĩa từ, băng từ, đĩa quang, Một chức quan trọng HĐH cung cấp giao diện đồng để người dùng lưu trữ truy xuất liệu loại thiết bị Hệ thống cung cấp chức HĐH gọi Hệ thống lưu trữ hay Hệ thống quản lý tập tin TS Trần Công Án [HĐH] Ch2 Quản lý tập tin [HĐH] Ch2 Quản lý tập tin Các khái niệm Các Khái Niệm Cơ Bản Tập tin: tập hợp thơng tin có liên quan đặt tên, lưu trữ thiết bị lưu trữ không bay Một tập tin đơn vị lưu trữ luận lý, nằm không gian địa luận lý liên tục Hệ thống quản lý tập tin (HĐH) ánh xạ tập tin vào thiết bị lưu trữ vật lý (khơng gian lưu trữ khơng liên tục) Thông thường, tập tin chứa liệu (văn bản, hình ảnh, ) chương trình máy tính TS Trần Cơng Án [HĐH] Ch2 Quản lý tập tin [HĐH] Ch2 Quản lý tập tin Các khái niệm Các Loại Tập Tin file type TS Trần Công Án usual extension function executable exe, com, bin or none ready-to-run machinelanguage program object obj, o compiled, machine language, not linked source code c, cc, java, perl, asm source code in various languages batch bat, sh commands to the command interpreter markup xml, html, tex textual data, documents word processor xml, rtf, docx various word-processor formats library lib, a, so, dll libraries of routines for programmers print or view gif, pdf, jpg ASCII or binary file in a format for printing or viewing archive rar, zip, tar related files grouped into one file, sometimes compressed, for archiving or storage multimedia mpeg, mov, mp3, binary file containing mp4, avi audio or A/V information [HĐH] Ch2 Quản lý tập tin [HĐH] Ch2 Quản lý tập tin Các khái niệm Các thao tác tập tin Các Thao Tác Trên Tập Tin Create: tạo tập tin tìm khơng gian lưu trữ trống thiết bị lưu trữ tạo ghi tập tin cấu trúc thư mục lưu trữ tập tin thông tin cần thiết cho thao tác tên tập tin vị trí tập tin Write: ghi tập tin lưu liệu tập tin (từ nhớ) lên thiết bị lưu trữ thông tin cần thiết cho thao tác tên tập tin liệu cần ghi TS Trần Công Án [HĐH] Ch2 Quản lý tập tin [HĐH] Ch2 Quản lý tập tin Các khái niệm Các thao tác tập tin Các Thao Tác Trên Tập Tin Read: đọc tập tin đọc liệu tập tin từ thiết bị lưu trữ vùng đệm (buffer) thông tin cần thiết cho thao tác tên tập tin cần đọc vùng đệm lưu liệu Delete: xóa tập tin xóa mẩu tin tập tin cấu trúc thư mục giải phóng khơng gian lưu trữ cấp phát cho tập tin thông tin cần thiết cho thao tác tên tập tin cần xóa số hệ điều hành cung cấp hai thao tác xóa: luận lý hay vật lý TS Trần Công Án [HĐH] Ch2 Quản lý tập tin [HĐH] Ch2 Quản lý tập tin Các khái niệm Các thao tác tập tin Các Thao Tác Trên Tập Tin Truncate: xóa nội dung tập tin giải phóng tồn khơng gian lưu trữ tập tin, giữ lại ghi tập tin cấu trúc thư mục thông tin cần cho thao tác tên tập tin cần xóa nội dung Seek/Reposition: di chuyển trỏ vị trí hành tập tin thao tác đọc/ghi tập tin thực thông qua trỏ vị trí hành tập tin (current-file-position pointer), vị trí truy xuất thông tin cần cho thao tác vị trí cần di chuyển trỏ đến (tương đối/tuyệt đối) TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 10 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Cài đặt hệ thống tập tin TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 29 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Khối Điều Khiển Tập Tin – FCB Hiện có nhiều hệ thống tập tin sử dụng HĐH (FAT, NTFS, UFS, ) Các tập tin quản lý khối điều khiển tập tin (file control block, FCB), chứa thông tin tập tin file permissions file dates (create, access, write) file owner, group, ACL file size file data blocks or pointers to file data blocks TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 30 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Vai Trò Của Khối Điều Khiển Tập Tin directory structure open (file name) directory structure user space kernel memory file-control block secondary storage index data blocks read (index) per-process open-file table user space TS Trần Công Án system-wide open-file table kernel memory [HĐH] Ch2 Quản lý tập tin file-control block secondary storage 31 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Cài đặt hệ thống thư mục Cài Đặt Hệ Thống Thư Mục Có phương pháp tổ chức truy xuất FCB thư mục: Danh sách tuyến tính trỏ tới khối liệu: Cấu trúc cài đặt xử lý đơn giản Chi phí thực thao tác thư mục cao Bảng băm (hash) hay bảng băm với danh sách tuyến tính: Giảm chi phí duyệt thư mục Đòi hỏi có hàm băm hiệu (cân bằng) Phải tổ chức lại hàm cấu trúc thư mục hàm băm thay đổi TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 32 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Cài đặt hệ thống thư mục Cài Đặt Hệ Thống Thư Mục danh sách (liên kết) tuyến tính hello.c hello.exe gtrinhC.pdf btap1.cpp bảng băm hello.c hello.exe hurt.jpg TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 33 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Các Phương Pháp Cấp Phát Đĩa Các Phương Pháp Cấp Phát Đĩa Là cách thức lưu nội dung vào khối đĩa Có phương pháp chính: Cấp phát kề Cấp phát kiểu liên kết Cấp phát kiểu mục TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 34 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Các Phương Pháp Cấp Phát Đĩa Pháp Cấp Kề Nhau directory Dữ liệu tập tin lưu khối đĩa liên tục, kề Đây phương pháp tổ chức đơn giản count file f 10 Cho phép truy cập lẫn ngẫu nhiên 12 13 14 16 17 Nhược điểm: 21 18 mail 22 19 20 24 25 26 list 29 30 27 Dễ gây phân mảnh ngồi Khó tăng kích thước tập tin TS Trần Cơng Án 28 [HĐH] Ch2 Quản lý tập tin 11 tr 15 count tr mail list f start length 14 19 28 6 23 31 35 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Các Phương Pháp Cấp Phát Đĩa Pháp Cấp Kiểu Liên Kết directory Dữ liệu tập tin lưu khối đĩa không liên tục Cuối khối trỏ, trỏ đến khối (trừ khối cuối) Đây phương pháp tổ chức đơn giản tránh phân mảnh Nhược điểm: Không thể truy cập ngẫu nhiên Mất không gian cho trỏ 11 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 -1 26 27 28 29 31 30 file jeep start end 25 Áp dụng: hệ thống tập tin FAT TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 36 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Các Phương Pháp Cấp Phát Đĩa Pháp Cấp Kiểu Chỉ Mục Dữ liệu tập tin lưu khối đĩa không liên tục Tất khối tập tin lưu trữ khối, gọi khối mục directory Phần tử thứ i khối mục trỏ tới khối liệu thứ i tập tin 10 11 12 13 14 15 16 17 18 19 Cho phép truy xuất ngẫu nhiên 20 21 22 23 24 25 26 27 28 29 30 31 Tránh phân mảnh tốn thêm khối mục file jeep 19 index block 19 16 10 25 –1 –1 –1 Áp dụng: UFS với số cải tiến TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 37 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Quản lý không gian trống Quản Lý Không Gian Trống Là cách thức quản lý khối đĩa trống Mục tiêu: dễ dàng tìm khối trống để cấp phát cho tập tin lẫn việc cập nhật danh sách khối trống tập tin bị xóa Có phương pháp chính: Bản đồ bit (bit vector) Danh sách liên kết (linked list) Nhóm (grouping) Bộ đếm (counter) TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 38 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Quản lý không gian trống Bản Đồ Bit Dùng vector bit (gọi đồ bit) để đánh dấu khối trống hay khơng 0 1 1 1 1 1 1 Mỗi khối đĩa đại diện bit vector (0: trống, 1: cấp phát) Bản đồ bit yêu cầu thêm không gian lưu trữ: block size = 1MB (212 bytes) disk size = 1GB (230 bytes) ⇒ Kích thước đồ bit = 230 /212 = 218 bytes (32KB) TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 39 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Quản lý không gian trống Danh Sách Liên Kết Các khối trống liên kết với danh sách liên kết Lưu trữ trỏ trỏ đến khối trống danh sách (free-space list head) Nhược điểm: khó cấp phát liên tục TS Trần Cơng Án [HĐH] Ch2 Quản lý tập tin freespace list head 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 40 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Quản lý không gian trống Nhóm & Đếm Nhóm (grouping): Là biến thể danh sách liên kết Lưu trữ danh sách liên kết khối mục Mỗi khối mục lưu địa số khối trống có trỏ đến khối mục chứa danh sách khối trống Đếm (counting): Dùng quản lý khối trống kề Gồm số mục từ (entry), mục từ lưu vị trí khối trống số lượng n khối trống TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 41 [HĐH] Ch2 Quản lý tập tin Tổng Kết Tổng Kết Các khái niệm Các Phương Pháp Truy Cập Tập Tin Mơ hình tổ chức Quản lý tập tin Cài đặt hệ thống tập tin TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 42 ... script.sh 28 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Cài đặt hệ thống tập tin TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 29 [HĐH] Ch2 Quản lý tập tin Cài đặt hệ thống tập tin Khối Điều Khiển... TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 11 [HĐH] Ch2 Quản lý tập tin Các Phương Pháp Truy Cập Tập Tin Các phương pháp truy cập tập tin TS Trần Công Án [HĐH] Ch2 Quản lý tập tin 12 [HĐH] Ch2... tập tin Cài đặt hệ thống tập tin TS Trần Công Án [HĐH] Ch2 Quản lý tập tin [HĐH] Ch2 Quản lý tập tin Các khái niệm Các khái niệm TS Trần Công Án [HĐH] Ch2 Quản lý tập tin [HĐH] Ch2 Quản lý tập