7 ca-file-system management

33
โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ File-System Structure

Upload: krissapat

Post on 13-Dec-2014

333 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 7 ca-file-system management

โครงสร�างระบบแฟ้�มโครงสร�างระบบแฟ้�มFile-System Structure

Page 2: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 2

Learning Objectives

เพื่��อศึ�กษาหลั�กการจั�ดการระบบแฟ้�ม เพื่��อให�เข้�าใจัถึ�งโครงสร�างข้องแฟ้�ม แลัะสารบบ รวมทั้�"ง ค#ณลั�กษณะ

ประการต่'างๆ ข้องแฟ้�ม แลัะการจั�ดการแฟ้�ม

Page 3: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 3

File-System Management

File Concept

Access Methods

Directory Structure

File System Mounting

File Sharing

Protection

Page 4: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 4

แนวิค�ดเก!"ยวิก�บแฟ้�มFile Concept

แฟ้�ม ค�อ พื่�"นทั้*�อยู่,'เชิ.งต่รรกะทั้*�เร*ยู่งต่'อเน��องก�น (Contiguous logical address space)

Types: แฟ้�มข้�อม,ลั (Data file)

numeric character binary

แฟ้�มโปรแกรม (Program file)

Page 5: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 5

แนวิค�ดเก!"ยวิก�บแฟ้�มFile Concept

ค#ณลั�กษณะข้องแฟ้�ม เชิ'น ชิ��อ , ต่�วระบ# (identifier) , ประเภทั้ , ทั้*�อยู่,' , ข้นาด , การป�องก�น , ว�น

เด�อน ป0 แลัะข้�อม,ลัเก*�ยู่วก�บผู้,�ใชิ� ค2าส��งปฏิ.บ�ต่.การเก*�ยู่วก�บแฟ้�ม

เชิ'น การสร�าง , การเข้*ยู่น , การอ'าน , การยู่�ายู่ต่2าแหน'งภายู่ใน , การลับ , การต่�ดทั้."ง OS บางชิน.ด จัะม* ต่�วชิ*"แฟ้�ม (File pointer ), การน�บการเป4ดแฟ้�ม , ต่2าแหน'งหน'วยู่เก5บแฟ้�ม , ส.ทั้ธิ.การเข้�าถึ�ง (access rights) เป7นต่�น

ประเภทั้ข้องแฟ้�ม ประกอบด�วยู่ชิ��อ (file name) แลัะส'วยู่ข้ยู่ายู่ (file extension)

โครงสร�างแฟ้�ม แลัะแฟ้�มสน�บสน#น โครงสร�างแฟ้�มภายู่ใน

อาจัเป7นต่2าแหน'งข้อง offset, block, sector เพื่��อใชิ�ในการแปลังจัากทั้*�อยู่,'เชิ.งต่รรกะ (logical address) ไปเป7นทั้*�อยู่,'เชิ.งกายู่ภาพื่ (physical address)

Page 6: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 6

Operating System Concepts

File Structure

ไม'ม* (None) – เป7นลั2าด�บข้อง words หร�อ bytes โครงสร�างระเบ*ยู่นอยู่'างง'ายู่ (Simple record structure)

Lines Fixed length Variable length

โครงสร�างซั�บซั�อน (Complex Structures) Formatted document Relocatable load file

ผู้,�ต่�ดส.นเลั�อกโครงสร�างข้องแฟ้�ม Operating system Program

Page 7: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 7

Operating System Concepts

File Attributes

Name – only information kept in human-readable form.

Type – needed for systems that support different types.

Location – pointer to file location on device. Size – current file size. Protection – controls who can do reading,

writing, executing. Time, date, and user identification – data for

protection, security, and usage monitoring. Information about files are kept in the directory

structure, which is maintained on the disk.

Page 8: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 8

Operating System Concepts

File Operations

Create Write Read Reposition within file – file seek Delete Truncate Open(Fi) – search the directory structure on disk

for entry Fi, and move the content of entry to memory.

Close (Fi) – move the content of entry Fi in memory to directory structure on disk.

Page 9: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 9

File Types – Name, Extension

Page 10: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 10

Access Methods

การเข้�าถึ%งโดยล&าด�บ (Sequential Access)read nextwrite next resetno read after last write

(rewrite) การเข้�าถึ%งโดยติรง (Direct Access)

read nwrite nposition to n

read nextwrite next

rewrite nn = relative block number

Page 11: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 11

Sequential-access File

Page 12: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 12

Simulation of Sequential Access on a Direct-access File

Page 13: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 13

Example of Index and Relative Files

Page 14: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 14

Directory Structure

กลั#'มข้องโหนดต่'างๆ ทั้*�บรรจั#ไว�ด�วยู่ข้�อม,ลัเก*�ยู่วก�บแฟ้�มทั้�"งหมด

F 1 F 2F 3

F 4

F n

Directory

Files

ทั้�"ง directory structure แลัะ files ทั้*�อยู่,'บนด.สก:เวลัาส2ารองข้�อม,ลัจัะต่�องเก5บโครงสร�างทั้�"งค,'ไว�บนเทั้ป

Page 15: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 15

A Typical File-system Organization

Page 16: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 16

Information in a Device Directory

Name Type Address Current length Maximum length Date last accessed (for archival) Date last updated (for dump) Owner ID (who pays) Protection information (discuss later)

Page 17: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 17

Operations Performed on Directory

Search for a file Create a file Delete a file List a directory Rename a file Traverse the file system

Page 18: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 18

เกณฑ์�การจั�ดองค�กรสารบบเช�งติรรกะ

ควิามสะดวิก (Efficiency) – เพื่��อให�ค�นหาไฟ้ลั:ได�อยู่'างรวดเร5ว โดยช+"อ (Naming) – เพื่��อความสะดวกต่'อผู้,�ใชิ� โดยกล,-ม (Grouping) – กลั#'มเชิ.งต่รรกะต่ามค#ณลั�กษณะข้อง

แฟ้�ม เชิ'น all Java programs, all games, …

Page 19: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 19

Single-Level Directory

ม*สารบบเด*ยู่วส2าหร�บผู้,�ใชิ�ทั้#กคน

Naming problem

Grouping problem

Page 20: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 20

Two-Level Directory

แยู่กสารบบต่ามผู้,�ใชิ�แต่'ลัะคน

Path name ผู้,�ใชิ�สามารถึต่�"งชิ��อแฟ้�มเหม�อนก�น ง'ายู่ต่'อการค�นหา ไม'สามารถึแบ'งต่ามความจั#ทั้*�ใชิ�

Page 21: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 21

Tree-Structured Directories

Page 22: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 22

Tree-Structured Directories (Cont.)

ง'ายู่ต่'อการค�นหา (Efficient searching)

ต่ามความจั#ข้องกลั#'ม (Grouping Capability)

สารบบป;จัจั#บ�น (Current directory) สารบบทั้*�ทั้2างาน (working directory) cd /spell/mail/prog type list

Page 23: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 23

Tree-Structured Directories (Cont.)

ชิ��อเส�นทั้าง (path name ) เช�งส�มบ.รณ� (Absolute) หร�อเชิ.งส�มพื่�ทั้ธิ: (relative)

การสร�างชิ��อแฟ้�มเสร5จัแลั�วในสารบบป;จัจั#บ�น Delete a file

rm <file-name> การสร�างสารบบยู่'อยู่ในสารบบป;จัจั�บน

mkdir <dir-name>

Example: if in current directory /mailmkdir count

mail

prog copy prt exp count

Deleting “mail” deleting the entire subtree rooted by “mail”.

Page 24: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 24

สารบบกราฟ้แบบม!วิงAcyclic-Graph Directories

ม*การใชิ�ร'วมก�นข้อง subdirectories แลัะ files

Page 25: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 25

Acyclic-Graph Directories (Cont.)

ม*สองชิ��อทั้*�แต่กต่'างก�น (ชิ��อพื่�องก�น-aliasing)

ถึ�า dict ถึ,กลับไป list จัะเป7นพื่อนยู่:เต่อร:ลัอยู่ (dangling pointer)Solutions: ใชิ�พื่อยู่น:เต่อร:ยู่�อนกลั�บ (Backpointers), จั�งสามารถึลับทั้#กพื่อยู่น:

เต่อร:ได� ระเบ*ยู่นทั้*�ม*ข้นาดแปรผู้�น (Variable size records ) ได�จัะม*ป;ญหา

ใชิ�พื่อยู่น:เต่อร:ยู่�อนกลั�บ (Backpointers ) โดยู่ใชิ�การจั�ดองค:กรแบบ daisy chain organization

Entry-hold-count solution.

Page 26: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 26

General Graph Directory

Page 27: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 27

General Graph Directory (Cont.)

ทั้2าอยู่'างไรจั�งร�บประก�นว'าไม'ม*วงกลัม (no cycles)? ยู่.นยู่อมให�ม*เพื่*ยู่ง link ไปยู่�ง files ไม'ใชิ' subdirectories แต่'จัะสะสมข้ยู่ะ ทั้#กคร�"งทั้*�เพื่.�มลั.งก:ใหม' ให�ใชิ�อ�ลักอร.ธิ�มการต่รวจัหาวงกลัม (cycle

detection algorithm) เพื่��อด,ว'าเก.ดป;ญหาหร�อไม'

Page 28: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 28

File System Mounting

file system จัะต่�องม*การ mounted ก'อนเร.�มใชิ�งาน

unmounted file system จัะ mounted ณ mount point.

Page 29: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 29

(a) Existing. (b) Unmounted Partition

Page 30: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 30

Mount Point

Page 31: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 31

การแบ-งป/นแฟ้�ม File Sharing

การใชิ�แฟ้�มร'วมก�นเป7นส.�งทั้*�ต่�องการบนระบบ multi-user systems

การแบ'งป;นอาจัแบ'งป;นผู้'าน protection scheme

บนระบบกระจัายู่ (distributed systems) การแบ'งป;นแฟ้�มอาจัทั้2าข้�ามเคร�อข้'ายู่

Network File System (NFS) จั�งเป7นว.ธิ*การทั้��วไปทั้*�ใชิ�ในการแบ'งป;นระบบแฟ้�มบนระบบกระจัายู่ (distributed file-sharing method)

Page 32: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 32

Protection

เจั�าข้องหร�อผู้,�สร�างแฟ้�ม (File owner/creator) ควรสามารถึควบค#ม สามารถึทั้2าอะไรได�บ�าง โดยู่ใคร

ประเภทั้การเข้�าถึ�ง (Types of access) Read Write Execute Append Delete List

Page 33: 7 ca-file-system management

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 33

Access Lists and Groups โหมดการเข้�าถึ�ง (Mode of access): read, write, execute ประเภทั้ผู้,�ใชิ�

RWXa) owner access 7 1 1 1

RWXb) group access 6 1 1 0

RWXc) public access 1 0 0 1

Ask manager to create a group (unique name), say G, and add some users to the group.

For a particular file (say game) or subdirectory, define an appropriate access.

owner group public

chmod 761 game

Attach a group to a file chgrp G game