File-System Management
Download
Report
Transcript File-System Management
นงลักษณ์ พรมทอง และวิเชษฐ์ พลายมาศ
การจัดการระบบแฟ้ม
File-System Management
Learning Objectives
ึ ษาหลักการจัดการระบบแฟ้ ม
เพือ
่ ศก
เพือ
่ ให ้เข ้าใจถึงโครงสร ้างของแฟ้ ม และสารบบ รวมทัง้
คุณลักษณะประการต่างๆ ของแฟ้ ม และการจัดการแฟ้ ม
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 2
File-System Management
File Concept
Access Methods
Directory Structure
File System Mounting
File Sharing
Protection
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 3
แนวคิดเกีย
่ วก ับแฟ้ม
File Concept
แฟ้ ม คือ พืน
้ ทีอ
่ ยูเ่ ชงิ ตรรกะทีเ่ รียงต่อเนือ
่ งกัน (Contiguous
logical address space)
Types:
แฟ้ มข ้อมูล (Data file)
numeric
character
binary
แฟ้ มโปรแกรม (Program file)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 4
แนวคิดเกีย
่ วก ับแฟ้ม
File Concept
คุณลักษณะของแฟ้ ม
่ ชอ
ื่ , ตัวระบุ (identifier), ประเภท, ทีอ
เชน
่ ยู,่ ขนาด, การป้ องกัน, วัน
เดือน ปี และข ้อมูลเกีย
่ วกับผู ้ใช ้
ั่ ปฏิบัตก
คาสง
ิ ารเกีย
่ วกับแฟ้ ม
่ การสร ้าง, การเขียน, การอ่าน, การย ้ายตาแหน่งภายใน, การลบ,
เชน
ี้ ฟ้ ม (File pointer), การนับการเปิ ด
การตัดทิง้ OS บางชนิด จะมี ตัวชแ
ิ ธิการเข ้าถึง (access rights) เป็ นต ้น
แฟ้ ม, ตาแหน่งหน่วยเก็บแฟ้ ม, สท
ประเภทของแฟ้ ม
ื่ (file name) และสว่ ยขยาย (file extension)
ประกอบด ้วยชอ
โครงสร ้างแฟ้ ม และแฟ้ มสนั บสนุน
โครงสร ้างแฟ้ มภายใน
้
อาจเป็ นตาแหน่งของ offset, block, sector เพือ
่ ใชในการแปลงจากที
่
อยูเ่ ชงิ ตรรกะ (logical address) ไปเป็ นทีอ
่ ยูเ่ ชงิ กายภาพ (physical
address)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 5
File Structure
ไม่ม ี (None) – เป็ นลาดับของ words หรือ bytes
โครงสร ้างระเบียนอย่างง่าย (Simple record structure)
Lines
Fixed length
Variable length
ั ซอน
้ (Complex Structures)
โครงสร ้างซบ
Formatted document
Relocatable load file
ิ เลือกโครงสร ้างของแฟ้ ม
ผู ้ตัดสน
Operating system
Program
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 6
Operating System
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.
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 7
Operating System
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.
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 8
Operating System
File Types – Name, Extension
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 9
Access Methods
การเข้าถึงโดยลาด ับ (Sequential Access)
read next
write next
reset
no read after last write
(rewrite)
การเข้าถึงโดยตรง (Direct Access)
read n
write n
position to n
read next
write next
rewrite n
n = relative block number
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 10
Sequential-access File
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 11
Simulation of Sequential Access on a Direct-access File
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 12
Example of Index and Relative Files
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 13
Directory Structure
กลุม
่ ของโหนดต่างๆ ทีบ
่ รรจุไว ้ด ้วยข ้อมูลเกีย
่ วกับแฟ้ มทัง้ หมด
Directory
Files
F1
F2
F3
F4
Fn
ทัง้ directory structure และ files ทีอ
่ ยูบ
่ นดิสก์
เวลาสารองข ้อมูลจะต ้องเก็บโครงสร ้างทัง้ คูไ่ ว ้บนเทป
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 14
A Typical File-system Organization
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 15
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)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 16
Operations Performed on Directory
Search for a file
Create a file
Delete a file
List a directory
Rename a file
Traverse the file system
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 17
เกณฑ์การจ ัดองค์กรสารบบเชงิ ตรรกะ
ความสะดวก (Efficiency) – เพือ
่ ให ้ค ้นหาไฟล์ได ้อย่าง
รวดเร็ว
ื่ (Naming) – เพือ
โดยชอ
่ ความสะดวกต่อผู ้ใช ้
โดยกลุม
่ (Grouping) – กลุม
่ เชงิ ตรรกะตามคุณลักษณะของ
่ all Java programs, all games, …
แฟ้ ม เชน
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 18
Single-Level Directory
้ กคน
มีสารบบเดียวสาหรับผู ้ใชทุ
Naming problem
Grouping problem
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 19
Two-Level Directory
้ ละคน
แยกสารบบตามผู ้ใชแต่
Path name
้
ื่ แฟ้ มเหมือนกัน
ผู ้ใชสามารถตั
ง้ ชอ
ง่ายต่อการค ้นหา
ไม่สามารถแบ่งตามความจุทใี่ ช ้
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 20
Tree-Structured Directories
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 21
Tree-Structured Directories (Cont.)
ง่ายต่อการค ้นหา (Efficient searching)
ตามความจุของกลุม
่ (Grouping Capability)
สารบบปั จจุบน
ั (Current directory) สารบบทีท
่ างาน (working
directory)
cd /spell/mail/prog
type list
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 22
Tree-Structured Directories (Cont.)
ั รณ์ (Absolute) หรือเชงิ
ื่ เสนทาง
้
ชอ
(path name) เชงิ สมบู
ั พัทธ์ (relative)
สม
ื่ แฟ้ มเสร็จแล ้วในสารบบปั จจุบน
การสร ้างชอ
ั
Delete a file
rm <file-name>
การสร ้างสารบบย่อยในสารบบปั จจับน
mkdir <dir-name>
Example: if in current directory /mail
mkdir count
mail
prog
copy prt exp count
Deleting “mail” deleting the entire subtree rooted by “mail”.
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 23
สารบบกราฟแบบมีวง
Acyclic-Graph Directories
มีการใชร่้ วมกันของ subdirectories และ files
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 24
Acyclic-Graph Directories (Cont.)
ื่ ทีแ
ื่ พ ้องกัน-aliasing)
มีสองชอ
่ ตกต่างกัน (ชอ
ถ ้า dict ถูกลบไป list จะเป็ นพอนย์เตอร์ลอย (dangling
pointer)
Solutions:
้
ใชพอยน์
เตอร์ย ้อนกล ้บ (Backpointers), จึงสามารถลบทุกพอยน์
เตอร์ได ้
ระเบียนทีม
่ ข
ี นาดแปรผัน (Variable size records) ได ้จะมีปัญหา
้
้
ใชพอยน์
เตอร์ย ้อนกล ้บ (Backpointers) โดยใชการจั
ดองค์กรแบบ
daisy chain organization
Entry-hold-count solution.
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 25
General Graph Directory
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 26
General Graph Directory (Cont.)
ทาอย่างไรจึงรับประกันว่าไม่มวี งกลม (no cycles)?
ยินยอมให ้มีเพียง link ไปยัง files ไม่ใช ่ subdirectories
แต่จะสะสมขยะ
ทุกครัง้ ทีเ่ พิม
่ ลิงก์ใหม่ ให ้ใชอั้ ลกอริธม
ึ การตรวจหาวงกลม (cycle
detection algorithm) เพือ
่ ดูวา่ เกิดปั ญหาหรือไม่
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 27
File System Mounting
้
file system จะต ้องมีการ mounted ก่อนเริม
่ ใชงาน
unmounted file system จะ mounted ณ mount point.
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 28
(a) Existing. (b) Unmounted
Partition
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 29
Mount Point
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 30
การแบ่งปันแฟ้ม
File Sharing
้ มร่วมกันเป็ นสงิ่ ทีต
การใชแฟ้
่ ้องการบนระบบ multi-user
systems
การแบ่งปั นอาจแบ่งปั นผ่าน protection scheme
บนระบบกระจาย (distributed systems) การแบ่งปั นแฟ้ มอาจ
ทาข ้ามเครือข่าย
้
Network File System (NFS) จึงเป็ นวิธก
ี ารทั่วไปทีใ่ ชในการ
แบ่งปั นระบบแฟ้ มบนระบบกระจาย (distributed file-sharing
method)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 31
Protection
เจ ้าของหรือผู ้สร ้างแฟ้ ม (File owner/creator) ควรสามารถ
ควบคุม
สามารถทาอะไรได ้บ ้าง
โดยใคร
ประเภทการเข ้าถึง (Types of access)
Read
Write
Execute
Append
Delete
List
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 32
Access Lists and Groups
โหมดการเข ้าถึง (Mode of access): read, write, execute
ประเภทผู ้ใช ้
a) owner access
7
b) group access
6
RWX
111
RWX
110
RWX
001
name), say G,
c) public access
1
Ask manager to create a group (unique
and add some users to the group.
For a particular file (say game) or subdirectory, define an
appropriate access.
owner
chmod
group
761
public
game
Attach a group to a file
chgrp
G
game
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | การจัดการระบบแฟ้ ม (File-System Management) | 33