42
ating System Concepts with Java – 7 th 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ũng 2.Đào Mạnh Đức 3.Lê Văn Ưng

Ch ương 10: H ệ thống tập tin

  • 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

Page 1: Ch ương  10:   H ệ thống tập tin

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

Page 2: Ch ương  10:   H ệ thống tập tin

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

Page 3: Ch ương  10:   H ệ thống 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.

Page 4: Ch ương  10:   H ệ thống 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

Page 5: Ch ương  10:   H ệ thống tập tin

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

Page 6: Ch ương  10:   H ệ thống tập tin

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.

Page 7: Ch ương  10:   H ệ thống tập tin

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ớ .

Page 8: Ch ương  10:   H ệ thống tập tin

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

Page 9: Ch ương  10:   H ệ thống tập 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ì

Page 10: Ch ương  10:   H ệ thống tập tin

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();

Page 11: Ch ương  10:   H ệ thống tập tin

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();

} }

}

Page 12: Ch ương  10:   H ệ thống tập tin

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

Page 13: Ch ương  10:   H ệ thống tập tin

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

Page 14: Ch ương  10:   H ệ thống tập tin

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:

Page 15: Ch ương  10:   H ệ thống tập tin

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

Page 16: Ch ương  10:   H ệ thống tập tin

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

Page 17: Ch ương  10:   H ệ thống tập tin

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

Page 18: Ch ương  10:   H ệ thống tập tin

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

Page 19: Ch ương  10:   H ệ thống tập tin

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

Page 20: Ch ương  10:   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, …)

Page 21: Ch ương  10:   H ệ thống tập tin

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

Page 22: Ch ương  10:   H ệ thống tập tin

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

Page 23: Ch ương  10:   H ệ thống tập tin

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

Page 24: Ch ương  10:   H ệ thống tập tin

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

Page 25: Ch ương  10:   H ệ thống tập tin

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ư”

Page 26: Ch ương  10:   H ệ thống tập tin

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ẻ

Page 27: Ch ương  10:   H ệ thống tập tin

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

Page 28: Ch ương  10:   H ệ thống 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

Page 29: Ch ương  10:   H ệ thống tập tin

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

Page 30: Ch ương  10:   H ệ thống tập tin

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

Page 31: Ch ương  10:   H ệ thống tập tin

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

Page 32: Ch ương  10:   H ệ thống tập tin

10.32 Silberschatz, Galvin and Gagne ©2007Operating System Concepts with Java – 7th Edition, Nov 15, 2006

Điểm gắn vào

Page 33: Ch ương  10:   H ệ thống tập tin

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

Page 34: Ch ương  10:   H ệ thống tập tin

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

Page 35: Ch ương  10:   H ệ thống tập tin

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

Page 36: Ch ương  10:   H ệ thống tập tin

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.

Page 37: Ch ương  10:   H ệ thống tập tin

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

Page 38: Ch ương  10:   H ệ thống tập tin

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

Page 39: Ch ương  10:   H ệ thống tập tin

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

Page 40: Ch ương  10:   H ệ thống tập tin

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

Page 41: Ch ương  10:   H ệ thống tập tin

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

Page 42: Ch ương  10:   H ệ thống tập tin

Operating System Concepts with Java – 7th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007

Kết thúc chương 10