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