7 ca-file-system management
DESCRIPTION
TRANSCRIPT
โครงสร�างระบบแฟ้�มโครงสร�างระบบแฟ้�มFile-System Structure
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 2
Learning Objectives
เพื่��อศึ�กษาหลั�กการจั�ดการระบบแฟ้�ม เพื่��อให�เข้�าใจัถึ�งโครงสร�างข้องแฟ้�ม แลัะสารบบ รวมทั้�"ง ค#ณลั�กษณะ
ประการต่'างๆ ข้องแฟ้�ม แลัะการจั�ดการแฟ้�ม
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 3
File-System Management
File Concept
Access Methods
Directory Structure
File System Mounting
File Sharing
Protection
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 4
แนวิค�ดเก!"ยวิก�บแฟ้�มFile Concept
แฟ้�ม ค�อ พื่�"นทั้*�อยู่,'เชิ.งต่รรกะทั้*�เร*ยู่งต่'อเน��องก�น (Contiguous logical address space)
Types: แฟ้�มข้�อม,ลั (Data file)
numeric character binary
แฟ้�มโปรแกรม (Program file)
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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)
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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.
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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.
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 9
File Types – Name, Extension
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 11
Sequential-access File
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 12
Simulation of Sequential Access on a Direct-access File
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 13
Example of Index and Relative Files
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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บโครงสร�างทั้�"งค,'ไว�บนเทั้ป
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 15
A Typical File-system Organization
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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)
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 18
เกณฑ์�การจั�ดองค�กรสารบบเช�งติรรกะ
ควิามสะดวิก (Efficiency) – เพื่��อให�ค�นหาไฟ้ลั:ได�อยู่'างรวดเร5ว โดยช+"อ (Naming) – เพื่��อความสะดวกต่'อผู้,�ใชิ� โดยกล,-ม (Grouping) – กลั#'มเชิ.งต่รรกะต่ามค#ณลั�กษณะข้อง
แฟ้�ม เชิ'น all Java programs, all games, …
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 19
Single-Level Directory
ม*สารบบเด*ยู่วส2าหร�บผู้,�ใชิ�ทั้#กคน
Naming problem
Grouping problem
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 20
Two-Level Directory
แยู่กสารบบต่ามผู้,�ใชิ�แต่'ลัะคน
Path name ผู้,�ใชิ�สามารถึต่�"งชิ��อแฟ้�มเหม�อนก�น ง'ายู่ต่'อการค�นหา ไม'สามารถึแบ'งต่ามความจั#ทั้*�ใชิ�
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 21
Tree-Structured Directories
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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
prog copy prt exp count
Deleting “mail” deleting the entire subtree rooted by “mail”.
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 24
สารบบกราฟ้แบบม!วิงAcyclic-Graph Directories
ม*การใชิ�ร'วมก�นข้อง subdirectories แลัะ files
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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.
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 26
General Graph Directory
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 27
General Graph Directory (Cont.)
ทั้2าอยู่'างไรจั�งร�บประก�นว'าไม'ม*วงกลัม (no cycles)? ยู่.นยู่อมให�ม*เพื่*ยู่ง link ไปยู่�ง files ไม'ใชิ' subdirectories แต่'จัะสะสมข้ยู่ะ ทั้#กคร�"งทั้*�เพื่.�มลั.งก:ใหม' ให�ใชิ�อ�ลักอร.ธิ�มการต่รวจัหาวงกลัม (cycle
detection algorithm) เพื่��อด,ว'าเก.ดป;ญหาหร�อไม'
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 28
File System Mounting
file system จัะต่�องม*การ mounted ก'อนเร.�มใชิ�งาน
unmounted file system จัะ mounted ณ mount point.
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 29
(a) Existing. (b) Unmounted Partition
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 30
Mount Point
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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)
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (OS: Operating Systems) | การจั�ดการระบบแฟ้�ม (File-System Management) | 32
Protection
เจั�าข้องหร�อผู้,�สร�างแฟ้�ม (File owner/creator) ควรสามารถึควบค#ม สามารถึทั้2าอะไรได�บ�าง โดยู่ใคร
ประเภทั้การเข้�าถึ�ง (Types of access) Read Write Execute Append Delete List
วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บ�ติ�การ (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