11.3 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006MỤC TIÊU Để mô tả chi tiết của việc triển khai thực hiện tập tin cục bộ và thư
Trang 1Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007
Chapter 11:Thực hiện hệ thống tập tin
Trang 2Chapter 11: Thực hiện hệ thống tập tin
Cấu trúc hệ thống tập tin
Thực hiện hệ thống tập tin
Thực hiện thư mục
Cấp phát các phương pháp
Quản lý không gian tự do
Hiệu quả và hiệu suất
Trang 311.3 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
MỤC TIÊU
Để mô tả chi tiết của việc triển khai thực hiện tập tin cục bộ và thư mục cấu trúc
Để mô tả việc thực hiện các hệ thống tập tin từ xa
Để thảo luận về phân bổ khối và miễn phí-khối thuật toán và không thích thương mại
Trang 4TẬP TIN – HỆ THỐNG CƠ CẤU
Cấu trúc tập tin
Đơn vị lưu trữ Vật Lý
Tập hợp (của) thông tin liên quan
Hệ tập tin cư trú trên bộ nhớ thứ cấp (đĩa)
Hệ tập tin được tổ chức vào trong những lớp
Kích kiểm soát khối– Bao gồm các cơ cấu lưu trữ
thông tin về một tập tin
Trang 511.5 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Layered hệ thống tập tin
Trang 6Một tiêu biểu khối tập tin kiểm soát
Trang 711.7 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Bộ nhớ trong hệ thống tập tin cấu trúc
Hình sau đây minh họa những cấu trúc hệ tập tin cần thiết do những hệ điều hành cung cấp
Hình 12-3 (a) đề cập đến mở một tập tin.
Hình 12-3 (b) đề cập đến đọc một tập tin.
Trang 8Bộ nhớ trong hệ thống tập tin cấu trúc
Trang 911.9 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Hệ thống tập tin ảo
Hệ thống tệp ảo (vfs) cung cấp một định hướng đối tượng cách triển khai thực hiện hệ thống tập tin.
Vfs cho phép cùng một hệ thống gọi giao diện (API) để được sử dụng cho các loại khác nhau của hệ thống tập tin.
VFS cho phép cùng hệ thống gọi giao diện (API)
sẽ được sử dụng cho những kiểu hệ tập tin khác
Trang 10Schematic xem ảo của hệ thống tập tin
Trang 1111.11 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Thực hiện thư mục
Danh sách Tuyến tính (của) những tên tập tin
với con trỏ tới những khối dữ liệu
đơn giản để lập trình
Hash Bảng– linear danh sách với các cấu trúc
dữ liệu hash.
giảm thời gian tìm kiếm thư mục
sự va chạm – tình huống mà hai tên tập tin
hash vào cùng một vị
kích thước trífixed
Trang 12Những phương pháp Định vị
Một phương pháp phân bổ như thế nào đề cập đến
đĩa khối được phân bố cho các tác phẩm:
Liên tục phân bổ
Liên kết phân bổ
Chỉ số hóa sự phân bổ
Trang 1311.13 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Truy cập ngẫu nhiên
Lãng phí của không gian(năng động lưu vấn đề phân cấp)
trữ- Tệp tin có thể không lớn lên
Trang 1511.15 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Liên tục phân bổ không gian của đĩa
Trang 16Những hệ thống trên nền Phạm vi
Nhiều hệ thống tập tin mới hơn (Ie Veritas tệp hệ thống) sử dụng một chương trình sửa đổi liên tục phân bổ
Mức độ dựa trên hệ thống tập tin phân bổ khối trong đĩa extents
Một mức độ là một khối liên tục của đĩa
Extents được phân bố cho tập tin phân bổ
Một tệp tin bao gồm một hoặc nhiều extents.
Trang 1711.17 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Phân cấp liên kết
Trong tất cả các tập tin liên kết là một danh sách các đĩa khối: khối có thể được rải rác bất cứ nơi nào trên đĩa.
Con trỏ khối =
Trang 18Phân cấp liên kết (cont.)
đơn giản - chỉ cần địa chỉ bắt đầu
Miễn phí-không gian hệ thống quản lý - không có chất thải của không gian
Không có quyền truy cập ngẫu nhiên
Lập bản đồ
Khối để được truy cập là Qth khối trong chuỗi liên kết của khối đại biểu đại diện cho tập tin.
Displacement vào khối = R + 1
-Bảng phân bổ file (FAT) - đĩa-phân bổ không gian được sử
dụng bởi MS-DOS, và OS / 2.
LA/511
Q
R
Trang 1911.19 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Phân cấp liên kết
Trang 20Bảng phân bổ file
Trang 2111.21 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Chỉ số Phân cấp
Mang đến cho tất cả các điểm với nhau vào mục các khối.
Logic xem.
mục các bảng
Trang 22Ví dụ về phân bổ lập chỉ mục
Trang 2311.23 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Phân cấp lập chỉ mục (cont.)
Cần mục các bảng
Truy cập ngẫu nhiên
Năng động bên ngoài mà không có quyền truy cập fragmentation, nhưng có chi phí của khối chỉ mục
Từ logic để lập bản đồ vật lý trong một tập tin của kích thước tối đa 256K từ và kích cỡ của khối 512
từ Chúng tôi chỉ cần 1 khối chỉ mục cho bảng.
LA/512
Q R
Q = thuyên vào mục các bảng
R = thuyên vào khối
Trang 24Q2 = thuyên vào khối chỉ mục của bảng
R thuyên vào khối của tập tin :
Trang 2511.25 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Q1 = thuyên vào bên ngoài-index
R1 được sử dụng như sau:
R1 / 512
Q2
R2
Q2 = thuyên vào khối chỉ mục của bảng
R2 thuyên vào khối của tập tin :
Trang 26Phân cấp lập chỉ mục - Lập bản đồ
(cont.)
Trang 2711.27 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Kết hợp Scheme: UNIX (4K byte cho mỗi
khối)
Trang 28Quản lý Không gian- Tự do
Bit véc tơ (n khối)
Trang 2911.29 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Quản lý Không gian- Tự do ( Cont.)
Bit bản đồ đòi hỏi thêm không gian
Ví dụ :
kích thước khối = 2 12 bytes kích thước đĩa= 2 30 bytes (1 gigabyte)
n = 2 30 /2 12 = 2 18 bits (or 32K bytes)
Dễ dàng để có được liên tục tập tin
Danh sách liên kết (miễn phí danh sách)
Có thể không nhận được liên tục không gian dễ dàng
Không có chất thải của không gian
Nhóm
Đếm
Trang 30Quản lý Không gian- Tự do ( Cont.)
Cần phải bảo vệ:
Trỏ đến danh sách miễn phí
Bit bản đồ
Phải được giữ trên đĩa
Sao chép trong bộ nhớ và đĩa có thể khác nhau
Có thể không cho phép cho khối [i] để có một trường hợp mà bit, [i] = 1 trong bộ nhớ và bit [i] = 0 trên đĩa
Trang 3111.31 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Thực hiện thư mục
Linear danh sách các tệp tin với tên trỏ vào dữ liệu khối
đơn giản để lập trình
thời gian để thực hiện
Hash Bảng– linear danh sách với các cấu trúc dữ liệu hash
giảm thời gian tìm kiếm thư mục
collisions – tình huống mà hai tên tập tin hash
vào cùng một vị trí
kích thước cố định
Trang 32Danh sách liên kết miễn phí không gian
trên đĩa
Trang 3311.33 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Hiệu suất và hiệu quả
Hiệu quả phụ thuộc vào:
phân chia đĩa và thư mục thuật toán
loại dữ liệu lưu giữ trong hồ sơ của giám mục
Trang 34Trang Cache
Một trang bộ nhớ cache caches trang hơn là khối
đĩa bằng cách sử dụng bộ nhớ ảo, kỹ thuật
Ánh xạ bộ nhớ-I / O sử dụng một trang bộ nhớ
cache
Thường lệ I / O thông qua việc sử dụng các hệ
thống tập tin đệm (đĩa) bộ nhớ cache
Điều này đã dẫn tới hình sau đây
Trang 3511.35 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Vào/ra Không có một bộ đệm nhanh Hợp nhất
Trang 36Hợp nhất vùng đệm cache
Một thống nhất, bộ nhớ cache buffer sử dụng cùng các trang cache để cả hai bộ nhớ cache- ánh xạ các trang web bình thường và hệ thống tập tin I / O
Trang 3711.37 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
I / O bằng cách sử dụng thống nhất một vùng đệm
cache
Trang 38Phục hồi
Sự kiểm tra - so sánh dữ liệu trong thư mục cấu
trúc dữ liệu với khối trên đĩa, và cố gắng khắc phục sự bất
Sử dụng các hệ thống chương trình để sao lưu
dữ liệu từ đĩa đến một thiết bị lưu trữ (đĩa mềm, băng từ, các từ đĩa, quang)
Khôi phục tập tin mất hoặc đĩa bằng cách khôi
phục dữ liệu từ sao lưu
Trang 3911.39 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Đăng nhập cấu trúc hệ thống tập tin
Đăng nhập cấu trúc (hoặc journal) ghi lại mỗi hệ
thống tập tin cập nhật của hệ thống tập tin như là một giao dịch
Tất cả các giao dịch được ghi vào một đăng nhập
Một giao dịch được xem là một cam kết sau khi nó được
Nếu các tập tin hệ thống treo, còn lại tất cả các giao dịch
trong nhật ký vẫn phải được thực hiện
Trang 40Hệ tập tin Mạng Mặt trời (NFS)
Một việc triển khai thực hiện và một đặc điểm kỹ thuật của một phần mềm cho các hệ thống truy cập từ xa các tập tin trên LANs (hoặc WANs)
Trong việc triển khai thực hiện là một phần của hệ điều hành SunOS Solaris và chạy hệ điều hành vào lúc Chủ Nhật bằng cách sử dụng một công đoạn không tin cậy được datagram thức (UDP / giao thức IP và Ethernet
Trang 4111.41 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
NFS (Cont.)
Liên kết lại những trạm làm việc được nhìn như một sự đông
cứng (của) những máy độc lập với độc lập cái những hệ tập tin cho phép chia sẻ trong số những hệ tập tin này trong một thái độ trong suốt
Một thư mục từ xa được lên qua Một thư mục hệ tập tin địa
phương
Gắn kết những thư mục hình như một subtree của địa phương,
hệ thống tập tin, thay thế các subtree giảm dần từ các địa phương, thư mục
Đặc điểm kỹ thuật của các thư mục từ xa cho các hoạt động gắn kết là nontransparent; các máy chủ lưu trữ tên của thư mục đã xa để được cung cấp
Những hồ sơ trong thư mục từ xa có thể rồi được truy nhập
trong một cách minh bạch
Tiêu đề để truy cập-quyền công nhận, có khả năng bất kỳ hệ thống tập tin (hoặc thư mục trong một hệ thống tập tin), có thể được gắn kết từ xa trên đầu trang của bất kỳ thư mục địa phương
Trang 42NFS (Cont.)
NFS được thiết kế để hoạt động trong một môi
trường heterogeneous khác nhau của máy móc, hệ điều hành, và kiến trúc mạng; NFS các kỹ thuật độc lập của các phương tiện truyền thông
Điều này là độc lập đạt được thông qua việc sử
dụng các rpc primitives xây dựng trên đầu trang của một bên ngoài Ngày Đại diện (XDR) sử dụng giao thức giữa hai việc triển khai thực hiện giao diện độc lập –
NFS các đặc điểm kỹ thuật phân biệt giữa các dịch
vụ được cung cấp bởi một cơ chế gắn kết và thực
tế xa-truy cập tập tin dịch vụ
Trang 4311.43 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Ba độc lập hệ thống tập tin
Trang 44Sự Cất đặt ở NFS
Mounts Cascading mounts
Trang 4511.45 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
NFS Mount Protocol
Thiết lập kết nối lôgíc ban đầu giữa người phục vụ và khách
hàng
Tên Mount bao gồm các hoạt động của thư mục từ xa để được
gắn kết và tên của máy phục vụ lưu trữ nó
Gắn kết yêu cầu được ánh xạ tới tương ứng rpc và chuyển tiếp
để lắp máy chủ server chạy trên máy tính
Danh mục hàng xuất khẩu– xác định địa phương, hệ thống tập tin rằng phục vụ cho xuất khẩu gắn kết, cùng với tên của các máy móc mà cũng có thể được phép để lắp chúng
Sau đây là một yêu cầu phải phù hợp với danh sách hàng xuất khẩu của nó, các máy chủ sẽ đem lại một hồ sơ xử lý-thêm một chìa khóa cho truy cập
Kích xử lý - một hệ thống tập tin định danh, và một inode số để
xác định thư mục gắn kết trong xuất khẩu hệ thống tập tin
Gắn kết các hoạt động thay đổi chỉ của người sử dụng xem và
không ảnh hưởng đến các máy chủ bên
Trang 46Nghi thức NFS
Cung cấp một bộ các thủ tục các cuộc gọi từ xa cho các hoạt
động tập tin từ xa Các thủ tục hỗ trợ các hoạt động sau đây:
tìm kiếm cho một tập tin trong một thư mục
đọc một bộ các giám mục
liên kết thao và thư mục
truy cập các tập tin thuộc tính
đọc và viết file
NFS server là stateless, mỗi yêu cầu đã cung cấp một bộ đầy đủ lý luận
(NFS V4 là chỉ cần đến, có sẵn - rất khác nhau, Trạng thái)
Sửa đổi dữ liệu phải được cam kết đến server của đĩa trước
khi kết quả được trả lại cho khách hàng (mất lợi thế của bộ nhớ đệm)
Các giao thức NFS, không có gì không cung cấp cho các cơ
chế kiểm soát concurrency
Trang 4711.47 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Ba chính lớp nfs kiến trúc
Hệ thống tập tin Linux và UNIX-giao diện (dựa trên mở, đọc,
viết, và gần các cuộc gọi, và tập tin descriptors)
Hệ thống tệp ảo (vfs) lớp - phân biệt địa phương, các tập tin
từ xa những người thân, và các địa phương, các tập tin
đang có thêm phân biệt theo kiểu hệ thống file
Các vfs kích hoạt hệ thống tập tin cụ thể hoạt động địa phương để xử lý theo yêu cầu của họ hệ thống tập tin kiểu
Cuộc gọi các thủ tục giao thức NFS cho các yêu cầu từ xa
NFS dịch vụ lớp - dưới lớp của các kiến trúc
Implements the NFS protocol
Trang 48Sơ đồ kiến trúc về NFS
Trang 4911.49 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Bản dịch Tên Đường (dẫn) NFS
Thực hiện bởi phạm đường dẫn vào thành phần
tên và thực hiện một cuộc gọi riêng biệt NFS tra cứu cho mỗi đôi phần tên và thư mục vnode
Để thực hiện các tra cứu nhanh hơn, một thư mục
tên bộ nhớ cache tra cứu trên các khách hàng của bên giữ vnodes cho xa tên thư mục
Trang 50Những thao tác Từ xa NFS
Gần phép tương ứng một đối một giữa những sự gọi hệ thống
UNIX bình thường và nghi thức RPCs NFS (trừ mở và đóng những hồ sơ)
NFS tuân thủ xa-cận dịch vụ, nhưng sử dụng bộ nhớ đệm
buffering và kỹ thuật, vì lợi ích của hiệu suất
File-khối bộ nhớ cache - khi một tập tin được mở ra, hạt nhân
kiểm tra với các máy phục vụ cho dù xa để tìm nạp revalidate hoặc các thuộc tính lưu trữ
Những khối hồ sơ Cached được sử dụng chỉ khi Cached thuộc tính tương ứng là tới ngày tháng
File-thuộc tính bộ nhớ cache - thuộc tính cache được cập nhật
bất cứ khi nào thuộc tính mới đến từ các máy chủ
Khách hàng không chậm trễ miễn phí-viết khối phục vụ cho đến
khi xác nhận rằng các dữ liệu đã được ghi vào đĩa
Trang 5111.51 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
NVRAM viết cho bộ nhớ đệm
Tương tự như hệ tập tin Nhanh Berkeley, với những sự cải biến rộng lớn
Trang 52Sơ đồ tập tin WAFL
Trang 5311.53 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006
Snapshots trong WAFL
Trang 54Một khối điều khiển hồ sơ Tiêu biểu
Trang 55Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007
Kết thúc chương11