Upload
bern
View
58
Download
1
Embed Size (px)
DESCRIPTION
Ch ương 10: H ệ thống tập tin. Danh sách nhóm : 1.Phạm Đinh Tiến Dũng 2.Đào Mạnh Đức 3.Lê Văn Ưng. Chương 10: Hệ thống tập tin. Khái niệm tập tin Phương thức truy xuất Cấu trúc thư mục Phát triển hệ thống tập tin Chia sẻ tập tin Bảo vệ tập tin. Mục đích. - PowerPoint PPT Presentation
Citation preview
Operating System Concepts with Java – 7th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007
Chương 10: Hệ thống tập tin
Danh sách nhóm:1.Phạm Đinh Tiến Dũng2.Đào Mạnh Đức3.Lê Văn Ưng
10.2 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Chương 10: Hệ thống tập tin
Khái niệm tập tin Phương thức truy xuất Cấu trúc thư mục Phát triển hệ thống tập tin Chia sẻ tập tin Bảo vệ tập tin
10.3 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Mục đích Hiểu các chức năng của tập tin hệ thống Hiểu giao diện cuả tập tin hệ thống Hiểu cách sắp xếp của tập tin hệ thống, bao gồm
phương thức truy xuất, chia sẻ tập tin, khoá tập tin, và cấu trúc thư mục.
Hiểu cơ chế bảo vệ tập tin.
10.4 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Khái niệm tập tin Một tập tin là một tập thông tin có liên quan
với nhau Kiểu:
Dữ liệu Số Ký tự số Nhị phân
Chương trình
10.5 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cấu trúc tâp tin Không có cấu trúc Cấu trúc đơn giản
Đường thẳng Chiều dài cố định Chiều dài thay đổi
Cấu trúc phức tạp Văn bản Tập tin đang xây dựng lại
Có thể mô phỏng hai lần cuối cùng với phương thức đầu tiên bằng cách chèn ký tự điều khiển thích hợp
Cái gì quyết đinh : Hệ thống điều khiển Chương trình
10.6 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Thuộc tính tập tin Tên – tên tập tin chỉ là thông tin được lưu ở dạng mà người
dùng có thể đọc. Định danh – là thẻ duy nhất(thường là số) xác định tập tin
trong hệ thống tập tin. Kiểu – thông tin này được yêu cầu cho hệ thống hỗ trợ các
kiểu khác nhau Vị trí – thông tin này là một con trỏ chỉ tới vị trí tập tin trên
thiết bị đó Kích thước – kích thước hiện hành của tập tin Bảo vệ – quản lý người sử dụng có thể đọc, viết và thực
hiện Giờ, ngày, và định danh người dùng – dữ liệu này có ích
cho việc bảo vệ, bảo mật và kiểm soát việc dùng. Thông tin về tất cả tập tin được giữ trong cấu trúc thư mục
được lưu trữ trên đĩa.
10.7 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Thao tác tập tin Tập tin là kiểu dữ liệu trừu tượng Tạo tập tin Ghi Đọc Lấy thuộc tính Xoá Đổi tên Mở – tìm kiếm nội dung của tập tin trong cấu trúc
thư mục được lưu giữ trên đĩa, và đưa nội dung của tập tin vào bộ nhớ
Đóng – khi chấm dứt truy xuất, nội dung của tập tin sẽ được đóng lại để giải phóng vùng nhớ .
10.8 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Mở tập tin
Một số vùng dữ liệu được yêu cầu để mở tập tin: Con trỏ file: trỏ tới vị trí đọc/viết cuối cùng, mỗi
tiến trình mà tập tin mở Bộ đếm tập tin: đếm số lần tập tin được
mở,cho phép di chuyển dữ liệu từ tập tin mở khi tiến trình cuối cùng đóng nó.
Vị trí tập tin trên đĩa: nơi dấu thông tin của dữ liệu truyền vào
Truy cập đúng: mỗi tiến trình truy cập một chế độ thông tin
10.9 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Mở tập tin bị khoá
Cung cấp bởi một số hệ thống điều khiển và hệ thống tập tin
Gián tiếp truy cập vào tập tin Bắt buộc và tư vấn:
Bắt buộc – tiến trình bị phủ nhận dựa trên tâp tin bị khoá và yêu cầu
Tư vấn– tiến trình có thể tìm ra tình trạng của tập tin bị khoá và quyết định nên làm gì
10.10 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Ví dụ về tập tin bị khoá – Java API(application program interface - hệ giao tiếp lập trình ứng dụng)
import java.io.*;import java.nio.channels.*;public class LockingExample {
public static final boolean EXCLUSIVE = false;public static final boolean SHARED = true;public static void main(String arsg[]) throws IOException {
FileLock sharedLock = null;FileLock exclusiveLock = null;try { RandomAccessFile raf = new RandomAccessFile("file.txt", "rw");
// get the channel for the fileFileChannel ch = raf.getChannel();// this locks the first half of the file - exclusiveexclusiveLock = ch.lock(0, raf.length()/2, EXCLUSIVE);/** Now modify the data . . . */// release the lockexclusiveLock.release();
10.11 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Ví dụ về tập tin bị khoá – Java API (tiếp)
// this locks the second half of the file - sharedsharedLock = ch.lock(raf.length()/2+1, raf.length(),
SHARED);/** Now read the data . . . */// release the lockexclusiveLock.release();
} catch (java.io.IOException ioe) { System.err.println(ioe);
}finally { if (exclusiveLock != null)exclusiveLock.release();if (sharedLock != null)sharedLock.release();
} }
}
10.12 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Kiểu tập tin – Tên, đuôi
10.13 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Phương thức truy xuất Truy xuất tuần tự
đọc tiếpviết tiếp khởi động lạikhông đọc sau lần viết cuối cùng(viết lại)
Truy xuất trực tiếpđọc nviết ndi chuyển tới nđọc tiếpviết tiếp viết lại nn = số giới hạn
10.14 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Truy xuất tuần tự được mô tả như sau:
10.15 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Mô phỏng truy xuất tuần tự trên truy xuất trực tiếp
10.16 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Thí dụ về chỉ mục và các tập tin liên quan
10.17 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cấu trúc thư mục Một tập hợp những nút chứa đựng toàn bộ dữ liệu của tất cả các tập tin
F 1 F 2F 3
F 4
F n
Thư mục
Tập tin
Cấu trúc thư mục và tập tin đều được lưu giữ trên đĩa
10.18 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Tổ chức hệ thống tập tin điển hình
10.19 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Các thao tác được thực hiện trên thư mục
Tìm kiếm tập tin Tạo tập tin Xoá tập tin Liệt kê thư mục Đổi tên tập tin Duyệt hệ thống tập tin
10.20 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Tổ chức thư mục (hợp lý) thành các mục từ
Hiệu lực – tìm vị trí tập tin một cách nhanh chóng Tên – thuận tiện cho người dùng
Hai người dùng có thể có tên giống nhau cho những tập tin khác nhau
Một tên giống nhau có thể có một vài tên khác nhau
Nhóm – nhóm tập tin hợp lý bởi tính chất, ( như tất cả chương trình Java, tất cả trò chơi, …)
10.21 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cấu trúc thư mục dạng đơn cấp
Thư mục đơn cấp
Vấn đề tênVấn đề nhóm
10.22 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cấu trúc thư mục dạng hai cấp
Cấu trúc riêng biệt cho mỗi người sử dụng
Tên tập tin Có thể có một số tên giống nhau cho nhiều người sử
dụng khác nhau Đường dẫn tìm kiếm Ko tạo được nhóm
10.23 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cấu trúc thư mục dạng cây
10.24 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cấu trúc thư mục dạng cây (Tiếp)
Đường dẫn tìm kiếm Tạo nhóm Đường dẫn hiện thời( thư mục đang làm
việc) cd /spell/mail/prog Kiểu danh sách
10.25 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cấu trúc thư mục dạng cây (tiếp) Đường dẫn tuyệt đối và đường dẫn tương đối Tạo một tập tin mới được làm việc trong thư mục
hiện thời Xoá một tập tin rm <file-name> Tạo một thư mục con được làm việc trong thư mục hiện thời
mkdir <dir-name>Ví dụ: nếu trong thư mục hiện thời /mail mkdir count mail
prog copy prt exp count
Xoá “thư” xoá toàn bộ cây con gốc bằng “thư”
10.26 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cấu trúc đồ thị không chứa chu trình
Có thư mục con và các tập tin được chia sẻ
10.27 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Cấu trúc đồ thị không chứa chu trình(tiếp) Hai tên khác nhau (bí danh) Nếu không hữu ích xoá danh sách mất con trỏ
Giải pháp: Trỏ trở lại, vì vậy ta có thể xoá tất cả các con trỏ
mang những dữ liệu có vấn đề Trỏ trở lại sử dụng chuỗi cấu tạo tốt nhất Vào-giữ-giải pháp đếm
Danh mục các loại mới Liên kết – một tên khác ( con trỏ) đến tập tin hiện
thời Giải quyết liên kết – theo con trỏ để xác định vị trí
tập tin
10.28 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Thư mục đồ thị tổng quát
10.29 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Thư mục đồ thị tổng quát (tiếp)
Làm thế nào để đảm bảo rằng không có chu trình trong đồ thị? Chỉ cho phép liên kết với tập tin không có tập
con Cơ chế thu dọn rác Mỗi khi một liên kết mới được thêm vào sử
dụng chu trình nhận ra thuật toán để xác định xem nó là ĐÚNG
10.30 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Gắn hệ thống tập tin
Một hệ thống tập tin phải được gắn kết trước khi nó có thể được truy cập
Một hệ thống tập tin chưa gắn (ví dụ hình 11-11(b)) sẽ được gắn kết vào một điểm gắn
10.31 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
(a) Đã tồn tại. (b) Phân khu chưa được gắn
10.32 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Điểm gắn vào
10.33 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Chia sẻ tập tin
Chia sẻ nhiều tập tin trên hệ thống nhiều người sử dụng là điều mong muốn
Chia sẻ có thể được thực hiện thông qua một chương trình bảo vệ
Trên hệ thống phân phối, tập tin có thể được chia sẻ qua kết nối mạng
Mạng lưới hệ thống tập tin (Network file system) là một phương thức chia sẻ tập tin phổ biến nhất
10.34 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Chia sẻ tập tin – nhiều người dùng
Thẻ(IDs) của người dùng nhận ra người dùng, chấp nhận và bảo vệ đối với mỗi người dùng
Thẻ(IDs) của nhóm cho phép người dùng vào nhóm, và được hưởng những quyền lợi khi truy cập của nhóm
10.35 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Chia sẻ tập tin – Hệ thống tập tin ở xa Sự phát triển của mạng cho phép giao tiếp giữa các máy tính ở xa
Người dùng truyền tập tin giữa các máy tính bằng chương trình gọi là FTP(file transfer protocol)–giao thức truyền tập tin
Tự động, liền mạch sử dụng hệ thống tập tin phân tán Bán tự động qua thế giới web
Mô hình khách hàng-máy chủ cho phép khách hàng kết nối hệ thống tập tin ở xa từ máy chủ Khách hàng và người sử dụng-trên-khách hàng xác định là
đơn giản hay phức tạp NFS là tiêu chuẩn UNIX giao thức chia sẻ tập tin khách hàng-
máy chủ CIFS là tiêu chuẩn giao thức Windows Hệ thống tổ chức tập tin chuẩn gọi là đạt được các truy xuất
tập tin từ xa Hệ thống phân tán thông tin( phân phối dịch vụ đặt tên) như
LDAP, DNS, NIS, Active Directory triển khai thực hiện thống nhất để truy cập thông tin cần thiết cho máy tính ở xa
10.36 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Chia sẻ tập tin – Chế độ thất bại
Hệ thống tập tin ở xa thêm chế độ mới không thành công, dẫn đến kết nối bị thất bại, máy chủ bị thất bại
Phục hồi thất bại có thể bao gồm thông tin về tình trạng của mỗi yêu cầu từ xa
Giao thức không được công nhận như NFS(network file system)- Hệ thống tập tin Mạng bao gồm tất cả thông tin của mỗi yêu cầu, cho phép dễ dàng phục hồi nhưng ít an toàn.
10.37 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Chia sẻ tập tin – Tính vững về nghĩa Tính vững về nghĩa nói lên tình trạng khi nhiều người dùng
cùng truy cập vào một tập tin chia sẻ cùng một lúc như thế nào
Ch 7 tương tự với quá trình đồng bộ hóa các thuật toán Có xu hướng ít phức tạp đến đĩa I / O(hệ thống vào ra)
và mạng lưới latency (từ xa cho các hệ thống tập tin) Hệ thống tập tin Andrew (AFS) - andrew file system thực
hiện chia sẻ tập tin từ xa phức tạp về nghĩa Hệ thống tập tin Unix (UFS) thực hiện:
Viết để mở một tập tin dễ nhìn ra ngay lập tức cho những người dùng khác mở cùng tập tin
Chia sẻ con trỏ tập tin để cho phép nhiều người dùng sử dụng để đọc và viết đồng thời
AFS có sự liên tưởng về nghĩa Chỉ viết đến phiên bắt đầu sau khi tập tin bị đóng
10.38 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Bảo vệ Chủ sở hữu/người cài đặt tập tin nên có để điều
khiển Điều gì có thể được làm Bởi ai
Kiểu truy cập Đọc Viết Thực thi Chèn Xoá Liệt kê danh sách
10.39 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Danh sách truy cập và nhóm Chế độ truy cập: đọc, viết, thực thi Ba lớp người sử dụng
RWXa) chủ truy cập 7 1 1 1RWXb) nhóm truy cập 6 1 1 0RWXc) truy cập chung 1 0 0 1
Yêu cầu quản lý tạo ra một nhóm (tên riêng biệt), gọi là G, và thêm vào một số người dùng vào nhóm đó
Cho một tập tin đặc biệt (gọi là game) hoặc thư mục con, xác định một truy cập thích hợp.
chủ nhóm chung
chmod 761 game
Đính kèm một nhóm đến một tập tin chgrp G game
10.40 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Danh sách điều khiển truy cập của Windows XP
10.41 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006
Mẫu danh sách thư mục trong UNIX
Operating System Concepts with Java – 7th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007
Kết thúc chương 10