Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
559,51 KB
Nội dung
Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 CÀI ĐẶT HỆ THỐNG TẬP TIN I Mục đích Sau học xong chương này, người học nắm kiến thức sau: Hiểu việc lưu trữ tập tin truy xuất tập tin thiết bị lưu trữ phụ • Hiểu phương pháp để thiết lập việc sử dụng tập tin • Hiểu cách cấp phát khơng gian đĩa, phục hồi không gian trống, ghi vết vị trí liệu • II Giới thiệu Trong chương trước thấy rằng, hệ thống tập tin cung cấp chế cho việc lưu trữ trực tuyến (on-line storage) truy xuất tới nội dung tập tin, gồm liệu chương trình Hệ thống tập tin định vị vĩnh viễn thiết bị lưu trữ phụ Các thiết bị thiết kế để quản lý lượng lớn thông tin không thay đổi Chương tập trung chủ yếu với vấn đề xoay quanh việc lưu trữ tập tin truy xuất thiết bị lưu trữ phụ Chúng ta khám phá cách để xây dựng cấu trúc sử dụng tập tin, cấp phát không gian đĩa phục hồi không gian trống để ghi lại vị trí liệu để giao tiếp với phần khác hệ điều hành tới thiết bị lưu trữ phụ Các vấn đề lực xem xét thông qua chương III Cấu trúc hệ thống tập tin Đĩa cung cấp số lượng thiết bị lưu trữ phụ mà hệ thống tập tin 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 viết lại cách thay thế; đọc khối từ đĩa, sửa khối viết ngược trở lại đĩa vị trí • Chúng truy xuất trực tiếp khối thông tin đĩa Để cải tiến tính hiệu nhập/xuất, thay chuyển byte thời điểm, nhập/xuất chuyển nhớ đĩa thực đơn vị khối Mỗi khối hay nhiều cung từ (sector) Phụ thuộc ổ đĩa, cung từ biến đổi từ 32 bytes tới 4096 bytes; thường 512 bytes Để cung cấp việc truy xuất hiệu tiện dụng tới đĩa, hệ điều hành áp đặt hay nhiều hệ thống tập tin phép liệu lưu trữ, định vị truy xuất lại dễ dàng Một hệ thống tập tin đặt hai vấn đề thiết kế khác Vấn đề định nghĩa hệ thống tập tin nên quan tâm đến người dùng Tác vụ liên quan đến việc định nghĩa tập tin thuộc tính nó, thao tác phép tập tin giải thuật cấu trúc cho việc tổ chức tập tin Vấn đề thứ hai tạo giải thuật cấu trúc liệu để ánh xạ hệ thống tập tin luận lý vào thiết bị lưu trữ phụ Hệ thống tập tin thường tạo thành từ nhiều cấp khác Cấu trúc hiển thị hình X-1 thí dụ thiết kế phân cấp Mỗi cấp thiết kế Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 222 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 dùng đặc điểm cấp thấp để tạo đặc điểm cho việc sử dụng cấp cao Hình 0-1 hệ thống tập tin phân tầng • • • • Điều khiển nhập/xuất (I/O control): cấp thấp chứa trình điều khiển thiết bị quản lý ngắt để chuyển thông tin nhớ hệ thống đĩa Trình điều khiển thiết bị thường viết mẫu bit xác định tới vị trí nhớ điều khiển nhập/xuất để báo với điều khiển vị trí thiết bị hoạt động xảy Hệ thống tập tin (basic file system) cần phát lệnh thơng thường tới trình điều khiển thiết bị tương ứng để đọc viết khối vật lý đĩa Mỗi khối vật lý xác định địa đĩa (thí dụ, đĩa 1, cyclinder 73, track 2, sector 10) Module tổ chức tập tin (file-organization module) biết tập tin khối luận lý khối vật lý Bằng cách biết kiểu cấp phát tập tin dùng vị trí tập tin, module tổ chức tập tin dịch địa khối luận lý thành địa khối vật lý cho hệ thống tập tin để truyền Các khối luận lý tập tin đánh số từ (hay 1) tới N, ngược lại khối vật lý chứa liệu thường khơng khớp với số luận lý thao tác dịch yêu cầu để định vị khối Module tổ chức tập tin chứa quản lý khơng gian trống (free-space manager), mà ghi vết khối không cấp phát cung cấp khối tới module tổ chức tập tin yêu cầu Hệ thống tập tin luận lý (logical file system) quản lý thông tin siêu liệu (metadata) Metadata chứa tất cấu trúc hệ thống tập tin, ngoại trừ liệu thật (hay nội dung 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 thơng tin u cầu sau đó, cho tên tập tin ký hiệu Nó trì cấu trúc tập tin 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 tập tin, gồm người sở hữu, quyền vị trí nội dung tập tin Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 223 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 Nhiều hệ thống tập tin cài đặt Hầu hết hệ điều hành hỗ trợ nhiều hệ thống tập tin Mỗi hệ điều hành có hệ thống tập tin dựa sở đĩa UNIX dùng hệ thống tập tin UNIX (UNIX file system-UFS) sở Windows NT hỗ trợ định dạng tập tin FAT, FAT32 NTFS CD-ROM, DVD định dạng hệ thống tập tin đĩa mềm Bằng cách dùng cấu trúc phân cấp cho việc cài đặt hệ thống tập tin, nên nhân mã tối thiểu Điều khiển nhập/xuất mã hệ thống tập tin dùng nhiều hệ thống tập tin Mỗi hệ thống tập tin có hệ thống tập tin luận lý module tổ chức tập tin IV Cài đặt hệ thống tập tin Trong phần nghiên cứu cấu trúc thao tác dùng để cài đặt thao tác hệ thống tập tin IV.1 Tổng quan Nhiều cấu trúc đĩa nhớ dùng để cài đặt hệ thống tập tin Các cấu trúc thay đổi dựa hệ điều hành hệ thống tập tin có số nguyên tắc chung áp dụng Trên đĩa, hệ thống tập tin chứa thông tin cách khởi động hệ điều hành lưu trữ đó, tổng số khối, số vị trí khối trống, cấu trúc thư mục, tập tin riêng biệt Các cấu trúc đĩa gồm: • Khối điều khiển khởi động (boot control block) chứa thông tin yêu cầu hệ thống để khởi động hệ điều hành từ phân khu Nếu đĩa khơng chứa hệ điều hành khối rỗng Điển hình, khối đĩa Trong UFS, khối gọi khối khởi động; NTFS, 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 phân khu, số lượng khối phân khu, kích thước khối, đếm khối trống trỏ khối trống, đếm FCB trống trỏ FCB Trong UFS khối gọi siêu khối (superblock); NTFS, bảng tập tin (Master File Table) • Một cấu trúc tập tin dùng để tổ chức tập tin • Một FCB chứa nhiều chi tiết tập tin gồm quyền tập tin, người sở hữu, kích thước, vị trí khối liệu Trong UFS khối gọi inode Trong NTFS, thông tin lưu Master File Table dùng cấu trúc sở liệu quan hệ với dòng cho tập tin Thông tin nhớ dùng cho việc quản lý hệ thống tập tin cải tiến lực qua lưu trữ (caching) Các cấu trúc bao gồm: • Bảng phân khu nhớ chứa thông tin phân khu gắn vào • Cấu trúc thư mục nhớ quản lý thông tin thư mục thư mục vừa truy xuất (đối với thư mục nơi mà phân khu gắn vào, chứa trỏ tới bảng phân khu.) • Bảng tập tin mở hệ thống (system-wide open-file table) chứa FCB tập tin mở thông tin khác Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 224 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 • Bảng tập tin mở trình (per-process open-file table) chứa trỏ tới mục từ tương ứng bảng tập tin mở hệ thống thông tin khác Để tạo tập tin mới, 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ấu trúc thư mục Để tạo tập tin mới, cấp phát FCB mới, đọc thư mục tương ứng vào nhớ, cập nhật với tên tập tin FCB, viết trở lại đĩa Một FCB điển hình hiển thị hình X-2 Hình 0-2 Một khối điều khiển tập tin điển hình Một số hệ điều hành UNIX xem thư mục tập tin-một tập tin với trường kiểu hiển thị thư mục Các hệ điều hành khác Windows NT cài đặt lời gọi hệ thống riêng cho tập tin thư mục xem thư mục thực thể tách rời từ tập tin Đối với cấu trúc lớn hơn, hệ thống tập tin luận lý gọi module tổ chức tập tin để ánh xạ nhập/xuất thư mục vào số khối đĩa mà chúng truyền sở hệ thống tập tin hệ thống điều khiển nhập/xuất Module tổ chức tập tin cấp phát khối cho việc lưu trữ liệu tập tin Một tập tin tạo, dùng cho nhập/xuất Đầu tiên, phải mở Lời gọi open truyền tên tập tin tới hệ thống tập tin Khi tập tin mở, cấu trúc thư mục thường lưu vào nhớ để tăng tốc độ thao tác thư mục Một tập tin tìm thấy, FCB chép vào bảng tập tin mở hệ thống nhớ Bảng không chứa FCB mà có mục từ cho số đếm số q trình có mở tập tin Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 225 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 Hình 0-3 Cấu trúc hệ thống nhớ (a) mở tập tin (b) đọc tập tin Tiếp theo, mục từ tạo bảng tập tin mở trình, với trỏ tới mục từ bảng hệ thống tập tin mở hệ thống số trường khác Các trường khác chứa trỏ tới vị trí hành tập tin (cho thao tác read hay write tiếp theo) chế độ truy xuất tập tin mở Lời gọi open trả trỏ tới mục từ tương ứng bảng hệ thống tập tin q trình Sau đó, tất thao tác tập tin thực trỏ Tên tập tin phần bảng tập tin mở, hệ thống khơng dùng FCB tương ứng định vị đĩa Tên cho mục từ đa dạng Các hệ thống UNIX tới mơ tả tập tin (file discriptor); Windows 2000 tới quản lý tập tin (file handle) Do đó, với điều kiện tập tin khơng đóng, tất thao tác tập tin thực bảng tập tin mở Khi q trình đóng tập tin, mục từ bảng q trình bị xố đếm số lần mở mục từ hệ thống giảm Khi tất người dùng đóng tập tin, thơng tin tập tin cập nhật chép trở lại tới cấu trúc thư mục dựa đĩa mục từ bảng tập tin mở bị xóa Trong thực tế, lời gọi hệ thống open tìm bảng tập tin mở hệ thống để thấy tập tin sử dụng trình khác Nếu mục từ bảng tập tin mở trình tạo để tới bảng tập tin mở hệ thống có Giải thuật tiết kiệm chi phí tập tin mở Các cấu trúc điều hành việc cài đặt hệ thống tập tin tóm tắt hình X-3 Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 226 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 IV.2 Hệ thống tập tin ảo Một phương pháp bật cho việc cài đặt nhiều loại hệ thống tập tin viết chương trình thư mục tập tin cho loại Đúng hầu hết hệ điều hành, gồm UNIX, dùng kỹ thuật hướng đối tượng để đơn giản hóa, tổ chức, module hóa việc cài đặt Sử dụng phương pháp cho phép nhiều loại hệ thống tập tin khác cài đặt cấu trúc, gồm hệ thống tập tin mạng NFS Người dùng truy xuất tập tin chứa nhiều hệ thống tập tin đĩa cục bộ, hay hệ thống tập tin sẳn dùng qua mạng Các cấu trúc liệu thủ tục dùng để cô lập chức lời gọi hệ thống từ chi tiết cài đặt Do đó, cài đặt hệ thống tập tin chứa ba tầng chính; mơ tả dạng lưu đồ hình X-4 Tầng giao diện hệ thống tập tin dựa sở lời gọi open, read, write, close mô tả tập tin Tầng thứ hai gọi hệ thống tập tin ảo (Virtual File System-VFS); phục vụ hai chức quan trọng: 1) Nó tách biệt thao tác hệ thống tập tin giống từ việc cài đặt cách định nghĩa giao diện VFS rõ ràng Nhiều cài đặt cho giao diện VFS tồn máy, cho phép truy xuất suốt tới loại hệ thống tập tin khác gắn cục 2) VFS dựa cấu trúc biểu diễn tập tin, gọi vnode, chứa gắn số (numerical designator) cho tập tin qua mạng (Inode UNIX hệ thống tập tin đơn) Tính qua mạng yêu cầu để hỗ trợ hệ thống tập tin mạng Nhân trì cấu trúc vnode cho nút hoạt động (tập tin hay thư mục) Do đó, VFS có khác biệt tập tin cục với tập tin xa, tập tin cục phân biệt dựa theo loại hệ thống tập tin chúng VFS kích hoạt thao tác đặc tả hệ thống tập tin để quản lý yêu cầu cục dựa theo loại hệ thống tập tin lời gọi thủ tục giao thức NFS cho yêu cầu xa Quản lý tập tin xây dựng từ vnode tương ứng truyền tham số tới thủ tục Tầng cài đặt kiểu hệ thống tập tin, hay giao thức hệ thống tập tin xa, tầng kiến trúc Hình 0-4 Hình ảnh dạng lưu đồ hệ thống tập tin ảo Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 227 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 V Cài đặt thư mục Chọn giải thuật cấp phát thư mục quản lý thư mục có tác động lớn đến tính hiệu quả, lực, khả tin cậy hệ thống tập tin Do đó, cần hiểu thoả hiệp liên quan giải thuật V.1 Danh sách tuyến tính Phương pháp đơn giản cho việc cài đặt thư mục dùng danh sách tuyến tính chứa tên tập tin với trỏ tới khối liệu danh sách tuyến tính với mục từ thư mục u cầu tìm kiếm tuyến tính để xác định mục từ cụ thể Phương pháp đơn giản để lập trình nhiều thời gian để thực thi • Để tạo tập tin mới, trước tiên phải tìm thư mục để đảm bảo khơng có tập tin tồn với tên Sau đó, thêm mục từ vào cuối thư mục • Để xố tập tin, tìm kiếm thư mục cho tập tin xác định tên, sau giải phóng khơng gian cấp phát tới • Để dùng lại mục từ thư mục, thực vài bước Chúng ta đánh dấu mục từ khơng dùng (bằng cách gán tên đặc biệt, tên trống hay với bit xác định trạng thái dùng không dùng mục từ), hay gán tới danh sách mục từ thư mục trống Một thay đổi thứ ba chép mục từ cuối thư mục vào vị trí trống giảm chiều dài thư mục Một danh sách liên kết dùng để giảm thời gian xoá tập tin Bất lợi thật danh sách tuyến tính chứa mục từ thư mục tìm kiếm tuyến tính để tìm tập tin Thông tin thư mục dùng thường xuyên người dùng nhận thấy việc truy xuất tới tập tin chậm Để khắc phục nhược điểm này, nhiều hệ điều hành cài đặt vùng lưu trữ phần mềm (software cache) để lưu hầu hết thông tin thư mục dùng gần Một chập liệu lưu trữ tránh đọc lại liên tục thông tin từ đĩa Một danh sách xếp cho phép tìm kiếm nhị phân giảm thời gian tìm kiếm trung bình Tuy nhiên, yêu cầu mà danh sách phải xếp phức tạp việc tạo xố tập tin phải di chuyển lượng thơng tin liên tục để trì thư mục xếp thứ tự Một cấu trúc liệu tinh vi B-tree giúp giải vấn đề Lợi điểm danh sách xếp liệt kê thư mục có thứ tự mà không cần bước xếp riêng V.2 Bảng băm Một cấu trúc liệu khác thường dùng cho thư mục tập tin bảng băm (hash table) Trong phương pháp này, danh sách tuyến tính lưu trữ mục từ thư mục cấu trúc bảng băm dùng Bảng băm lấy giá trị tính từ tên tập tin trả trỏ tới tên tập tin danh sách tuyến tính Do đó, giảm lớn thời gian tìm kiếm thư mục Chèn xố tương đối đơn giản phát sinh đụng độ-những trường hợp có hai tên tập tin băm vị trí Khó khăn với bảng băm kích thước thường cố định phụ thuộc vào hàm băm kích thước Thí dụ, giả sử thực bảng băm thăm dò tuyến tính quản lý 64 mục từ Hàm băm chuyển tập tin thành số nguyên từ tới 63, thí dụ cách dùng số dư phép chia cho 64 Sau đó, cố tạo tập tin thứ Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 228 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 65, phải mở rộng bảng băm thư mục-tới 128 mục từ Kết cần hàm băm phải ánh xạ tới dãy 0-127 phải xếp lại mục từ thư mục có để phản ánh giá trị hàm băm Một cách khác, bảng băm vòng dùng Mỗi mục từ băm danh sách liên kết thay giá trị riêng giải đụng độ cách thêm mục từ vào danh sách liên kết Tìm kiếm chậm tìm kiếm tên u cầu từ bước thông qua danh sách liên kết mục từ bảng đụng độ; điều nhanh tìm kiếm tuyến tính qua tồn thư mục VI Các phương pháp cấp phát Tính tự nhiên truy xuất trực tiếp đĩa cho phép khả linh hoạt việc cài đặt tập tin Trong hầu hết trường hợp, nhiều tập tin lưu đĩa Vấn đề khơng gian cấp phát tới tập tin không gian đĩa sử dụng hiệu tập tin truy xuất nhanh chóng Ba phương pháp quan trọng cho việc cấp phát không gian đĩa sử dụng rộng rãi: cấp phát kề, liên kết mục Mỗi phương pháp có ưu nhược điểm Một số hệ thống hỗ trợ ba Thông dụng hơn, hệ thống dùng phương pháp cụ thể cho tất tập tin VI.1 Cấp phát kề Phương pháp cấp phát kề yêu cầu tập tin chiếm tập hợp khối kề đĩa Các địa đĩa định nghĩa thứ tự tuyến tính đĩa Với thứ tự này, giả sử công việc truy xuất đĩa, truy xuất khối b+1 sau khối b không yêu cầu di chuyển trước Khi di chuyển đầu đọc yêu cầu (từ cung từ cuối cylinder tới cung từ cylinder tiếp theo), di chuyển rãnh (track) Do đó, số lượng tìm kiếm đĩa yêu cầu cho truy xuất kề tới tập tin cấp phát nhỏ nhất, thời gian tìm kiếm tìm kiếm cuối yêu cầu Hệ điều hành IBM VM/CMS dùng cấp phát kề Cấp phát kề tập tin định nghĩa địa đĩa chiều dài (tính đơn vị khối) khối Nếu tập tin có n khối bắt đầu khối b chiếm khối b, b+1, b+2, ,b+n-1 Mục từ thư mục cho tập tin hiển thị địa khối bắt đầu chiều dài vùng cấp phát cho tập tin (hình X-5) Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 229 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 Hình 0-5 Khơng gian đĩa cấp phát kề Truy xuất tập tin cấp phát kề dễ Đối với truy xuất tuần tự, hệ thống tập tin nhớ địa đĩa khối cuối tham chiếu đọc khối Để truy xuất khối i tập tin mà bắt đầu khối b, truy xuất khối b+i Do đó, truy xuất truy xuất trực tiếp hỗ trợ cấp phát kề Tuy nhiên, cấp phát kề có số vấn đề Một khó khăn tìm khơng gian cho tập tin Việc cài đặt hệ thống quản lý không gian trống xác định tác vụ hoàn thành Bất hệ thống quản lý dùng nhanh chậm khác Vấn đề cấp phát khơng gian kề xem vấn đề cấp phát lưu trữ động ứng dụng để thoả mãn yêu cầu kích thước n từ danh sách lỗ trống First fit best fit chiến lược chung dùng để chọn lỗ trống từ tập hợp lỗ trống sẳn dùng Những mô hiển thị hai first fit best fit hiệu worst fit thời gian sử dụng không gian lưu trữ First fit hay best fit giải thuật tốt thường first fit nhanh best fit Các giải thuật gặp phải vấn đề phân mãnh Khi tập tin cấp phát xố, khơng gian đĩa trống bị chia thành mảnh nhỏ Phân mãnh tồn không gian trống chia thành đoạn Nó trở thành vấn đề đoạn kề lớn không đủ cho yêu cầu; lưu trữ phân thành nhiều lỗ, không lỗ đủ lớn để lưu liệu Phụ thuộc vào tổng lượng lưu trữ đĩa kích thước tập tin trung bình, phân mãnh ngồi vấn đề hay phụ Một số hệ thống vi tính cũ dùng cấp phát kề đĩa mềm Để ngăn ngừa lượng lớn không gian đĩa phân mãnh ngoài, người dùng phải chạy thủ tục đóng gói lại Thủ tục chép tồn hệ thống tập tin tới đĩa khác hay băng từ Kế đến, đĩa mềm ban đầu giải phóng hồn tồn, tạo khơng gian trống kề lớn Sau đó, thủ tục chép tập tin trở lại đĩa mềm cách cấp phát không gian kề từ lỗ lớn Cơ chế hiệu việc hợp (compacts) tất không gian trống thành không gian trống kề, giải vấn đề phân mãnh Chi phí cho việc hợp thời gian Chi phí thời gian phục vụ cho đĩa cứng lớn dùng cấp phát kề, hợp tất không gian hàng Trong thời gian này, thao tác hệ thống thông thường phép hợp tránh tất chi phí có thay đổi liệu Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 230 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 Một vấn đề khác với cấp phát kề xác định không gian yêu cầu cho tập tin Khi tập tin tạo, tồn khơng gian cần phải tìm kiếm cấp phát Người tạo (chương trình hay người) biết kích thước tập tin tạo nào? Trong số trường hợp việc xác định tương đối đơn giản (thí dụ chép tập tin có); nhiên, kích thước tập tin xuất khó để ước lượng Nếu cấp q khơng gian tới tập tin, thấy tập tin mở rộng Đặc biệt với chiến lược cấp phát best fit, khơng gian hai phía tập tin dùng Do đó, khơng thể làm cho tập tin lớn Hai khả Thứ nhất, chương trình người dùng kết thúc với thông báo lỗi hợp lý Sau đó, người dùng phải cấp phát nhiều khơng gian chạy chương trình lại Việc lặp gây chi phí Để ngăn chặn chúng, người dùng mô nhiều lượng không gian yêu cầu Điều dẫn đến không gian bị lãng phí Một khả khác tìm lỗ trống lớn hơn, chép nội dung tập tin tới không gian trống mới, giải phóng khơng gian trước Một loạt hoạt động lặp lại với điều kiện không gian tồn tiêu tốn nhiều thời gian Tuy nhiên, trường hợp người dùng không yêu cầu thơng báo xảy ra; hệ thống tiếp tục vấn đề phát sinh Ngay tồn khơng gian u cầu cho tập tin biết trước, cấp phát trước không đủ Một tập tin lớn lên khoảng thời gian dài phải cấp phát đủ không gian cho kích thước cuối khơng gian khơng dùng cho khoảng thời gian dài Do đó, tập tin có lượng lớn phân mãnh Để tối thiểu khó khăn này, số hệ điều hành dùng chế cấp phát kề hiệu chỉnh Trong chế đoạn không gian kề cấp phát trước sau lượng khơng gian khơng đủ lớn, đoạn khơng gian kề khác, đoạn mở rộng (extent), thêm vào cấp phát ban đầu Sau đó, vị trí khối tập tin ghi lại vị trí đếm khối cộng với liên kết tới khối đoạn mở rộng Trên số hệ thống, người sở hữu tập tin đặt kích thước đoạn mở rộng, việc đặt khơng hiệu người sở hữu khơng Phân mãnh vấn đề đoạn mở rộng lớn phân mãnh ngồi vấn đề đoạn mở rộng có kích thước khác cấp phát thu hồi VI.2 Cấp phát liên kết Cấp phát liên kết giải vấn đề cấp phát kề Với cấp phát liên kết, tập tin danh sách khối đĩa liên kết; khối đĩa phân tán khắp nơi đĩa Thư mục chứa trỏ tới khối khối cuối tập tin Thí dụ, tập tin có khối bắt đầu khối số 9, tiếp tục khối 16, sau khối 1, khối 10 cuối khối 25 (như hình X-6) Mỗi khối chứa trỏ tới khối Các trỏ không làm sẳn dùng cho người dùng Do đó, khối 512 bytes, địa đĩa (con trỏ) yêu cầu bytes phần chứa liệu khối 508 bytes Để tạo tập tin mới, đơn giản tạo mục từ thư mục Với cấp phát liên kết, mục từ thư mục có trỏ tới khối đĩa tập tin Con trỏ khởi tạo tới nil (giá trị trỏ cuối danh sách) để tập tin rỗng Trường kích thước đặt tới Một thao tác viết tới tập tin làm khối trống tìm thấy hệ thống quản lý khơng gian trống, sau khối Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 231 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 viết tới liên kết tới cuối tập tin Để đọc tập tin, đơn giản đọc khối cách lần theo trỏ từ khối tới khối khác Khơng có phân mãnh với cấp phát liên kết, khối trống danh sách khơng gian trống dùng để thoả mãn yêu cầu Kích thước tập tin không cần khai báo tập tin tạo Một tập tin tiếp tục lớn lên với điều kiện khối trống sẳn có Do đó, khơng cần thiết để hợp khơng gian trống Hình 0-6 cấp phát không gian đĩa liên kết Tuy nhiên, cấp phát liên kết có vài nhược điểm Vấn đề chủ yếu dùng hiệu cho tập tin truy xuất Để tìm khối thứ i tập tin, phải bắt đầu điểm bắt đầu tập tin đó, lần theo trỏ nhận khối thứ i Mỗi truy xuất tới trỏ yêu cầu thao tác đọc đĩa, tìm kiếm đĩa Do đó, khơng đủ hỗ trợ khả truy xuất trực tiếp cho tập tin cấp phát liên kết Một nhược điểm khác cấp phát liên kết không gian yêu cầu cho trỏ Nếu trỏ yêu cầu bytes khối 512 bytes 0.77% đĩa dùng cho trỏ thay thông tin Một giải pháp thông thường để giải vấn đề tập hợp khối vào nhóm (clusters) cấp phát nhóm khối Thí dụ, hệ thống tập tin định nghĩa nhóm gồm khối thao tác đĩa đơn vị nhóm trỏ dùng % nhỏ không gian tập tin Phương pháp cho phép ánh xạ khối luận lý tới vật lý đơn giản, cải tiến thông lượng đĩa giảm không gian yêu cầu cho cấp phát khối quản lý danh sách trống Chi phí tiếp cận tăng phân mãnh nhiều khơng gian bị lãng phí nhóm đầy phần khối đầy phần Các nhóm dùng để cải tiến thời gian truy xuất đĩa cho nhiều giải thuật khác chúng dùng hầu hết hệ điều hành Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 232 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 Một vấn đề khác cấp phát liên kết khả tin cậy Vì tập tin liên kết với trỏ phân tán khắp đĩa, xem xét điều xảy trỏ bị hay bị phá hỏng Một bọ (bug) phần mềm hệ điều hành hay lỗi phần cứng đĩa dẫn tới việc chọn trỏ sai Lỗi dẫn tới việc liên kết vào danh sách không gian trống hay vào tập tin khác Các giải pháp phần dùng danh sách liên kết đôi hay lưu tên tập tin số khối tương đối khối; nhiên, chế yêu cầu nhiều chi phí cho tập tin Một thay đổi quan trọng phương pháp cấp phát liên kết dùng bảng cấp phát tập tin (file allocation table-FAT) Điều đơn giản phương pháp cấp phát không gian đĩa hiệu dùng hệ điều hành MS-DOS OS/2 Một phần đĩa phần bắt đầu phân khu thiết lập để chứa bảng Bảng có mục từ cho khối đĩa lập mục khối đĩa FAT dùng nhiều danh sách liên kết Mục từ thư mục chứa số khối khối tập tin Mục từ bảng lập mục số khối sau chứa số khối khối tập tin Chuỗi tiếp tục khối cuối cùng, có giá trị cuối tập tin đặc biệt mục từ bảng Các khối không dùng hiển thị giá trị bảng Cấp phát khối tới tập tin vấn đề đơn giản cho việc tìm mục từ bảng có giá trị thay giá trị kết thúc tập tin trước với địa khối Sau đó, số thay với giá trị kết thúc tập tin Một thí dụ minh hoạ cấu trúc FAT hình X-7 cho tập tin chứa khối đĩa 217, 618 339 Hình 0-7 Bảng cấp phát tập tin Cơ chế cấp phát FAT dẫn tới số lượng lớn tìm kiếm đầu đọc đĩa FAT không lưu trữ(cache) Đầu đọc đĩa phải di chuyển tới điểm bắt đầu phân khu để đọc FAT tìm vị trí khối sau di chuyển tới vị trí khối đĩa Trong trường hợp xấu nhất, hai di chuyển xảy cho khối đĩa Lợi điểm thời gian truy xuất ngẫu nhiên cải tiến đầu đọc đĩa tìm vị trí khối cách đọc thông tin FAT Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 233 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 VI.3 Cấp phát lập mục Cấp phát liên kết giải việc phân mãnh vấn đề khai báo kích thước cấp phát kề Tuy nhiên, cấp phát liên kết không hỗ trợ truy xuất trực tiếp hiệu trỏ tới khối phân tán với khối qua đĩa cần lấy lại thứ tự Cấp phát lập mục giải vấn đề cách mang tất trỏ vào vị trí: khối mục (index block) Mỗi tập tin có khối mục nó, khối mảng địa khối đĩa Mục từ thứ i khối mục tới khối i tập tin Thư mục chứa địa khối mục (như hình X-8) Để đọc khối i, dùng trỏ mục từ khối mục để tìm đọc khối mong muốn Cơ chế tương tự chế phân trang Hình 0-8 Cấp phát khơng gian đĩa lập mục Khi tập tin tạo, tất trỏ khối mục đặt tới nil Khi khối thứ i viết đầu tiên, khối chứa từ quản lý không gian trống địa đặt mục từ khối mục Cấp phát lập mục hỗ trợ truy xuất trực tiếp, không gặp phải phân mãnh ngồi khối trống đĩa đáp ứng yêu cầu thêm không gian Cấp phát lập mục gặp phải lãng phí khơng gian Chi phí trỏ khối mục thường lớn chi phí trỏ cấp phát liên kết Xét trường hợp thơng thường có tập tin với hai khối Với cấp phát liên kết, không gian trỏ khối (một hay hai trỏ) Với cấp phát lập mục, toàn khối mục phải cấp phát chí hay hai trỏ khác nil Điểm sinh câu hỏi khối mục nên lớn bao nhiêu? Mỗi tập tin phải có khối mục muốn khối mục nhỏ Tuy nhiên, khối mục nhỏ khơng thể quản lý đủ trỏ cho tập tin lớn chế phải sẳn có để giải vấn đề này: Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 234 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 • • • Cơ chế liên kết (linked scheme): khối mục thường khối đĩa Do đó, đọc viết trực tiếp Để cho phép tập tin lớn, liên kết nhiều khối mục với Thí dụ, khối mục chứa header nhỏ cho tên tập tin tập hợp địa 100 khối đĩa Địa (từ cuối khối mục) nil (đối với tập tin nhỏ) hay trỏ tới khối mục khác (cho tập tin lớn) Chỉ mục nhiều cấp (multilevel index): biến dạng biểu diễn liên kết dùng khối mục cấp để tới khối mục cấp Khối cấp tới khối tập tin Để truy xuất khối, hệ điều hành dùng mục cấp để tìm khối mục cấp khối tìm khối liệu mong muốn Tiếp cận tiếp tục tới cấp hay cấp 4, tuỳ thuộc vào kích thước tập tin lớn mong muốn Với khối có kích thước 4,096 bytes, lưu 1,024 trỏ bytes khối mục Chỉ mục hai cấp cho phép 1,048,576 khối liệu, cho phép tập tin có kích thước tới 4GB Cơ chế kết hợp (combined scheme): biến dạng khác dùng UFS giữ 15 trỏ khối mục inode tập tin 12 trỏ 15 trỏ tới khối trực tiếp (direct blocks); nghĩa chúng chứa địa khối mà chứa liệu tập tin Do đó, liệu tập tin nhỏ (không lớn 12 khối) không cần khối mục riêng Nếu kích thước khối KB, tới 48 KB liệu truy xuất trực tiếp trỏ tới khối gián tiếp (indirect blocks) Con trỏ khối gián tiếp thứ địa khối gián tiếp đơn (single indirect blocks) Khối gián tiếp đơn khối mục không chứa liệu chứa địa khối chứa liệu Sau đó, có trỏ khối gián tiếp đôi (double indirect block) chứa địa khối mà khối chứa địa khối chứa trỏ tới khối liệu thật Con trỏ cuối chứa chứa địa khối gián tiếp ba (triple indirect block) Với phương pháp này, số khối cấp phát tới tập tin vượt lượng không gian đánh địa trỏ tập tin bytes hay GB Nhiều cài đặt UNIX gồm Solaris AIX IBM hỗ trợ tới 64 bit trỏ tập tin Các trỏ có kích thước cho phép tập tin hệ thống tập tin có kích thước tới terabytes Một inode hiển thị hình X-9: Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 235 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 Hình 0-9 Inode UNIX Cơ chế cấp phát lập mục gặp số khó khăn lực cấp phát liên kết Đặc biệt, khối mục lưu trữ (cache) nhớ; khối liệu trãi rộng khắp phân khu VI.4 Năng lực Các phương pháp cấp phát khác tính hiệu lưu trữ thời gian truy xuất khối liệu Cả hai yếu tố tiêu chuẩn quan trọng việc chọn phương pháp hợp lý hay phương pháp cho hệ điều hành cài đặt Trước chọn phương pháp, cần xác định hệ thống dùng Một hệ thống với hầu hết truy xuất nên dùng phương pháp khác từ hệ thống với hầu hết truy xuất ngẫu nhiên Đối với loại truy xuất nào, cấp phát kề yêu cầu truy xuất để đạt khối đĩa Vì giữ dễ dàng địa khởi đầu tập tin nhớ, tính địa đĩa khối thứ i (hay khối kế tiếp) đọc trực tiếp Đối với cấp phát liên kết, giữ địa khối nhớ đọc trực tiếp Phương pháp tốt cho truy xuất tuần tự; nhiên, truy xuất trực tiếp truy xuất tới khối thứ i phải yêu cầu đọc I đĩa Vấn đề minh hoạ lý cấp phát liên kết không dùng cho ứng dụng yêu cầu truy xuất trực tiếp Do đó, số hệ thống hỗ trợ tập tin truy xuất trực tiếp cách dùng cấp phát kề truy xuất cấp phát liên kết Đối với hệ thống này, loại truy xuất thực phải khai báo tập tin tạo Một tập tin tạo cho truy xuất liên kết dùng cho truy xuất trực tiếp Một tập tin tạo cho truy xuất trực tiếp kề hỗ trợ hai truy xuất trực tiếp truy xuất chiều dài tối đa phải khai báo Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 236 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 tạo Trong trường hợp này, hệ điều hành phải có cấu trúc liệu hợp lý giải thuật để hỗ trợ hai phương pháp cấp phát Các tập tin chuyển từ kiểu sang kiểu khác cách tạo tập tin loại mong muốn nội dung tập tin cũ chép vào tập tin Sau đó, tập tin cũ bị xố tập tin đổi tên Cấp phát dạng mục phức tạp Nếu khối mục nhớ truy xuất thực trực tiếp Tuy nhiên, giữ khối mục nhớ u cầu khơng gian xem xét Nếu khơng gian nhớ khơng sẳn dùng phải đọc trước khối mục sau khối liệu mong muốn Đối với mục hai cấp, đọc hai khối mục cần thiết Đối với tập tin lớn, truy xuất khối gần cuối tập tin yêu cầu đọc tất khối mục để lần theo chuỗi trỏ trước khối liệu yêu cầu cuối đọc Do đó, lực cấp phát mục phụ thuộc cấu trúc mục kích thước tập tin vị trí khối mong muốn Một số hệ thống kết hợp cấp phát kề cấp phát mục cách dùng cấp phát kề cho tập tin nhỏ (ba hay bốn khối) tự động chuyển tới cấp phát mục tập tin lớn lên Vì hầu hết tập tin nhỏ cấp phát kề hiệu cho tập tin nhỏ, lực trung bình tốt Nhiều tối ưu khác dùng Với chênh lệch tốc độ CPU đĩa, không hợp lý để thêm hàng ngàn thị tới hệ điều hành để tiết kiệm vài di chuyển đầu đọc Ngoài ra, chênh lệch tăng theo thời gian, tới điểm nơi mà hàng trăm hàng ngàn thị phù hợp dùng để tối ưu di chuyển đầu đọc VII Quản lý khơng gian trống Vì khơng gian trống giới hạn nên cần dùng lại không gian từ tập tin bị xoá cho tập tin Để giữ vết khơng gian đĩa trống, hệ thống trì danh sách không gian trống Danh sách không gian trống ghi lại tất khối đĩa trống Để tạo tập tin, tìm danh sách khơng gian trống lượng khơng gian u cầu cấp phát khơng gian tới tập tin Sau đó, khơng gian xố từ danh sách khơng gian trống Khi tập tin bị xố, khơng gian đĩa thêm vào danh sách không gian trống Mặc dù tên danh sách danh sách khơng gian trống khơng cài danh sách VII.1 Bit vector Thường danh sách khơng gian trống cài đặt đồ bit (bit map) hay vector bit (bit vector) Mỗi khối biểu diễn bit Nếu khối trống, bit đặt 1, khối cấp phát bit đặt Thí dụ, xét đĩa khối 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 17, 18, 25, 26, 27 trống khối lại cấp phát Bản đồ bit không gian trống là: 001111001111110001100000011100000… Lợi điểm tiếp cận tính tương đối đơn giản hiệu việc tìm khối trống đầu tiên, hay n khối trống đĩa Một lần nữa, thấy đặc điểm phần cứng định hướng chức phần mềm Tuy nhiên, vector bit khơng đủ trừ tồn vector giữ nhớ Giữ nhớ cho đĩa nhỏ hơn, máy vi tính khơng thể cho máy lớn Một đĩa 1.3 GB với khối 512 Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 237 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Cơng Nghệ Thơng Tin - Giáo Trình Hệ Điều Hành – V1.0 bytes cần đồ bit 332 KB để ghi lại khối trống Gom bốn khối vào nhóm giảm số xuống 83 KB đĩa VII.2 Danh sách liên kết Hình 0-10 danh sách khơng gian trống liên kết đĩa Một tiếp cận khác để quản lý nhớ trống liên kết tất khối trống, giữ trỏ tới khối trống vị trí đặc biệt đĩa lưu nhớ Khối chứa trỏ tới khối đĩa trống tiếp theo, Trong thí dụ trên, giữ trỏ tới khối khối trống Khối chứa trỏ tới khối 3, khối tới khối 4,…(như hình X-10) Tuy nhiên, chế không hiệu để duyệt danh sách, phải đọc khối, yêu cầu thời gian nhập/xuất đáng kể Tuy nhiên, duyệt danh sách trống không hoạt động thường xuyên Thường thì, hệ điều hành cần khối trống cấp phát khối tới tập tin, khối danh sách trống dùng Phương pháp FAT kết hợp với đếm khối trống thành cấu trúc liệu cấp phát VII.3 Nhóm Thay đổi tiếp cận danh sách trống để lưu địa n khối trống khối trống n-1 khối thật khối trống Khối cuối chứa địa n khối trống khác, …Sự quan trọng việc cài đặt địa số lượng lớn khối trống tìm thấy nhanh chóng, khơng giống tiếp cận danh sách liên kết chuẩn VII.4 Bộ đếm Một tiếp cận khác đạt lợi điểm thực tế nhiều khối kề cấp phát giải phóng lúc, đặc biệt không gian cấp phát với giải thuật cấp phát kề hay thơng qua nhóm Do đó, thay giữ danh sách n địa đĩa trống, giữ địa khối trống số n khối kề trống theo sau khối Mỗi mục từ danh sách khơng gian trống sau chứa địa đĩa đếm Mặc dù mục từ yêu cầu nhiều không gian địa đĩa đơn, toàn danh sách ngắn với điều kiện đếm lớn Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 238 https://fb.com/sinhvienzonevn Đại Học Cần Thơ - Khoa Công Nghệ Thông Tin - Giáo Trình Hệ Điều Hành – V1.0 VIII Tóm tắt Hệ thống tập tin định vị không đổi thiết bị lưu trữ phụ thiết kế để quản lý lượng lớn liệu không đổi Phương tiện lưu trữ phụ phổ biến đĩa Đĩa vật lý chia thành nhiều phân khu để điều khiển việc sử dụng phương tiện cho phép nhiều hệ thống tập tin (có thể khác nhau) đĩa Các hệ thống tập tin gắn vào kiến trúc hệ thống tập tin luận lý để làm cho chúng sẳn dùng Các hệ thống tập tin thường cài đặt kiến trúc phân tầng hay module Những cấp thấp giải thuộc tính vật lý thiết bị lưu trữ Cấp cao giải tên tập tin biểu tượng thuộc tính luận lý tập tin Các cấp trung gian ánh xạ khái niệm tập tin luận lý thành thuộc tính thiết bị vật lý Mỗi kiểu hệ thống tập tin có cấu trúc giải thuật khác Một tầng VFS cho phép tầng cao giải kiểu hệ thống tập tin khác cách Ngay hệ thống tập tin xa tích hợp vào cấu trúc thư mục hệ thống hoạt động lời gọi hệ thống chuẩn giao diện VFS Những tập tin khác cấp phát không gian đĩa cách: kề, liên kết hay mục Cấp phát kề gặp phải phân mãnh Truy xuất trực tiếp hiệu với cấp phát liên kết Cấp phát mục yêu cầu chi phí đáng kể cho khối mục Các giải thuật tối ưu nhiều cách Khơng gian kề lớn lên thơng qua đoạn mở rộng để tăng khả linh hoạt giảm phân mãnh Cấp phát mục thực việc nhóm nhiều khối để tăng thơng lượng giảm số lượng mục từ mục yêu cầu Lập mục nhóm tương tự cấp phát kề với đoạn mở rộng Các phương pháp cấp phát không gian trống ảnh hưởng tới tính hiệu khơng gian đĩa, lực hệ thống tập tin khả tin cậy thiết bị lưu trữ phụ Các phương pháp dùng gồm vector bit danh sách liên kết Các tối ưu gồm nhóm, đếm FAT, mà đặt danh sách liên kết vùng kề Biên soạn: Th.s Nguyễn Phú Trường - 09/2005 SinhVienZone.com Trang 239 https://fb.com/sinhvienzonevn ... Điều Hành – V1.0 Nhiều hệ thống tập tin cài đặt Hầu hết hệ điều hành hỗ trợ nhiều hệ thống tập tin Mỗi hệ điều hành có hệ thống tập tin dựa sở đĩa UNIX dùng hệ thống tập tin UNIX (UNIX file system-UFS)... thống tập tin dùng nhiều hệ thống tập tin Mỗi hệ thống tập tin có hệ thống tập tin luận lý module tổ chức tập tin IV Cài đặt hệ thống tập tin Trong phần nghiên cứu cấu trúc thao tác dùng để cài đặt. .. cho phép nhiều loại hệ thống tập tin khác cài đặt cấu trúc, gồm hệ thống tập tin mạng NFS Người dùng truy xuất tập tin chứa nhiều hệ thống tập tin đĩa cục bộ, hay hệ thống tập tin sẳn dùng qua mạng