85
1 บบบบบบบบบ บบบบบบบบบ บบบบ บบบบ (File (File System) System)

บทที่ 10 โครงสร้างไฟล์ (File System)

Embed Size (px)

DESCRIPTION

บทที่ 10 โครงสร้างไฟล์ (File System). การจัดการไฟล์. ขณะทำงานข้อมูลจะถูกเก็บอยู่ในหน่วยความจำในแอ็ดเดรสเฉพาะ เนื่องจากเมื่อไม่ได้ใช้งานข้อมูลจะสูญหายไปทันทีที่ปิดเครื่อง จึงมีความจำเป็นที่จะต้องมีสื่อจัดเก็บข้อมูลเหล่านั้น ในการจัดเก็บข้อมูลจะต้องมีการกำหนดชื่อเพื่อแทนกลุ่มข้อมูลที่จัดเก็บ - PowerPoint PPT Presentation

Citation preview

Page 1: บทที่  10 โครงสร้างไฟล์ (File System)

1

บทท�� บทท�� 1010โครงสร�างไฟล์�โครงสร�างไฟล์�

(File System)(File System)

Page 2: บทที่  10 โครงสร้างไฟล์ (File System)

2

การจั�ดการไฟล์การจั�ดการไฟล์การจั�ดการไฟล์การจั�ดการไฟล์ ขณะท�างานข�อมู�ล์จะถู�กเก�บอยู่��ในหน�วยู่ความู

จ�าในแอ�ดเดรสเฉพาะ เน'�องจากเมู'�อไมู�ได�ใช้�งานข�อมู�ล์จะส�ญหายู่ไป

ท+นท�ท��ป,ดเคร'�อง จ-งมู�ความูจ�าเป.นท��จะต้�องมู�ส'�อจ+ดเก�บข�อมู�ล์เหล์�าน+0น

ในการจ+ดเก�บข�อมู�ล์จะต้�องมู�การก�าหนดช้'�อเพ'�อแทนกล์1�มูข�อมู�ล์ท��จ+ดเก�บ

ช้'�อท��ใช้�แทนกล์1�มูข�อมู�ล์ก�ค'อช้'�อไฟล์� (File) น+�นเอง

Page 3: บทที่  10 โครงสร้างไฟล์ (File System)

3

ไฟล์ไฟล์ไฟล์ไฟล์ ไฟล์�ข�อมู�ล์ (file) หมูายู่ถู-ง ส2�งท��บรรจ1ข�อมู�ล์ต้�าง ๆ

ไว�ในท��เด�ยู่วก+น อาจหมูายู่ถู-งโปรแกรมูหร'ออะไรก�ต้ามูท��ต้�องการเก�บไว�ด�วยู่ก+น

ระบบปฏิ2บ+ต้2การมู�หน�าท��จ+ดการให�ผู้��ใช้�ต้2ดต้�อไฟล์� โดยู่ผู้��ใช้�ไมู�ต้�องอ�างถู-งแอ�ดเดรสของไฟล์�น+0น ๆ โดยู่ต้รง

ในระบบปฏิ2บ+ต้2การจะมู�โอเปอร�เรช้+นท��เร�ยู่กว�า System call เป.นต้+วจ+ดการท��เก��ยู่วข�องก+บไฟล์� เช้�น การสร�างไฟล์� การล์บไฟล์� การอ�าน/เข�ยู่นไฟล์� เป.นต้�น

Page 4: บทที่  10 โครงสร้างไฟล์ (File System)

4

การตั้��งชื่��อไฟล์การตั้��งชื่��อไฟล์การตั้��งชื่��อไฟล์การตั้��งชื่��อไฟล์ จ1ดประสงค�ในการออกแบบระบบปฏิ2บ+ต้2การอยู่�าง

หน-�งค'อต้�องการท��จะให�ผู้��ใช้�เป.นอ2สระจากอ1ปกรณ�ใด ๆ (device independent) ด+งน+0นในการเข�าถู-งไฟล์�ข�อมู�ล์ใด ๆ จะต้�องมู�ร�ปแบบเด�ยู่วก+น

ผู้��ใช้�ไมู�จ�าเป.นต้�องก�าหนดรายู่ล์ะเอ�ยู่ดเก��ยู่วก+บแอ�ดเดรส เพ�ยู่งแค�ระบ1ช้'�อแล์ะนามูสก1ล์ของไฟล์�ให�ถู�กต้�องก�เพ�ยู่งพอแล์�ว

การก�าหนดช้'�อของไฟล์� ในแต้�ล์ะระบบปฏิ2บ+ต้2การมู�ความูแต้กต้�างก+นอยู่��พอควร แต้�ส�วนใหญ�แล์�วจะมู�ข�อก�าหนดท��ใกล์�เค�ยู่งก+น

Page 5: บทที่  10 โครงสร้างไฟล์ (File System)

5

การตั้��งชื่��อไฟล์การตั้��งชื่��อไฟล์การตั้��งชื่��อไฟล์การตั้��งชื่��อไฟล์ ระบบปฏิ2บ+ต้2การบางต้+วก�าหนดให�การต้+0งช้'�อโดยู่ข-0นต้�นด�วยู่อ+กษร แล์ะต้ามูด�วยู่ต้+วเล์ข หร'อต้+วอ+กษรไมู�

เก2น 8 ต้+ว บางระบบก�าหนดการต้+0งช้'�อท�าได�โดยู่อ2สระแต้�ไมู�เก2น 255 ต้+ว ในบางระบบ การต้+0งช้'�อด�วยู่อ+กษรต้+วใหญ� แล์ะต้+วเล์�กไมู�เหมู'อนก+น เช้�นใน UNIX การต้+0งช้'�อถู�าเป.นต้+ว

ใหญ� แล์ะต้+วเล์�กจะถู'อว�าเป.นคนล์ะช้'�อก+น ต้+วอยู่�างเช้�น Name, NAME, name กรณ�ของ UNIX จะถู'อว�าท+0ง 3 ไฟล์�แต้กต้�างก+น แต้�ส�าหร+บ MS-DOS หร'อ Windows จะหมูายู่ถู-งไฟล์�เด�ยู่วก+น

ระบบส�วนใหญ�ช้'�อไฟล์�จะมู� 2 ส�วนค'อช้'�อแล์ะส�วนขยู่ายู่โดยู่ค+�นด�วยู่จ1ด (.) โดยู่ช้'�อจะมู�ขนาด 1-8 ต้+วอ+กษร เช้�น report.doc เป.นต้�น แต้�บางระบบมู�ส�วนขยู่ายู่ได�มูากกว�า 1 ส�วน เช้�น prog.c.Z เป.นต้�น

Page 6: บทที่  10 โครงสร้างไฟล์ (File System)

6

ตั้�วอย่�างชื่��อไฟล์ตั้�วอย่�างชื่��อไฟล์ตั้�วอย่�างชื่��อไฟล์ตั้�วอย่�างชื่��อไฟล์

Page 7: บทที่  10 โครงสร้างไฟล์ (File System)

7

โครงสร�างไฟล์โครงสร�างไฟล์โครงสร�างไฟล์โครงสร�างไฟล์

แบบไบตั้เร�ย่งตั้�อก�น มู�การเก�บเป.นไบต้�เร�ยู่งต้�อ ๆ ก+นไป ด+งเช้�นในระบบปฏิ2บ+ต้2การของ UNIX แล์ะ Windows การเก�บไฟล์�ในล์+กษณะน�0เป.นแบบท��ไมู�มู�โครงสร�างในการจ+ดเก�บ ไฟล์�ท��ถู�กสร�างใหมู�จะถู�กน�ามูาเร�ยู่งต้�อก+นไปเร'�อยู่ ๆ จนเต้�มูเน'0อท�� โดยู่ท��ต้+วระบบปฏิ2บ+ต้2การแทบจะไมู�ท�าหน�าท��อะไรเล์ยู่

การจ+ดโครงสร�างไฟล์�ท��ใช้�ก+นโดยู่ท+�วไปมู� 3 ว2ธี�

Page 8: บทที่  10 โครงสร้างไฟล์ (File System)

8

โครงสร�างไฟล์โครงสร�างไฟล์โครงสร�างไฟล์โครงสร�างไฟล์เก�บเป็ นเรกคอรด

โดยู่มู�ขนาดของเรกคอร�ดคงท�� ในแต้�ล์ะไฟล์�จะถู�กจ+ดเก�บอยู่��ในร�ปของเรกคอร�ดจ+ดเร�ยู่งก+นไปต้ามูล์�าด+บจนถู-งเรกคอร�ดส1ดท�ายู่ ซึ่-�งในเรกคอร�ดส1ดท�ายู่อาจจะไมู�เต้�มูเรกคอร�ดก�ได� ในการอ�านแล์ะเข�ยู่นจะท�าไปท�ล์ะเรกคอร�ด ในบางระบบอาจจะก�าหนดให�แต้�ล์ะเรกคอร�ดมู�ขนาดเท�าก+บ 80 อ+กษร ซึ่-�งเท�าก+บ 1 บรรท+ดพอด� เช้�นในระบบปฏิ2บ+ต้2การ CP/M

Page 9: บทที่  10 โครงสร้างไฟล์ (File System)

9

โครงสร�างไฟล์โครงสร�างไฟล์โครงสร�างไฟล์โครงสร�างไฟล์เก�บเป็ นแบบตั้�นไม้�หร�อทร�

(tree) แต้�ล์ะบล์�อกจะประกอบไปด�วยู่ เรกคอร�ด โดยู่มู�ขนาดของเรกคอร�ดข-0นอยู่��ก+บป9จจ+ยู่หล์ายู่ประการ เช้�น ขนาดของไฟล์�ข�อมู�ล์ เวล์าท��ใช้�ในการเข�าถู-งข�อมู�ล์ (access time) เป.นต้�น ว2ธี�น�0ใช้�ในระบบปฏิ2บ+ต้2การหล์ายู่เคร'�องด�วยู่ก+น

Page 10: บทที่  10 โครงสร้างไฟล์ (File System)

10

ไดเร�กทอร�ไดเร�กทอร�ไดเร�กทอร�ไดเร�กทอร� ระบบปฏิ2บ+ต้2การท1กต้+วจะต้�องมู�สารบ+ญท��เก�บรวบรวมูรายู่

ช้'�อของไฟล์�ท+0งหมูดไว�ในท��เด�ยู่วก+น เพ'�อให�ผู้��ใช้�สามูารถูต้รวจสอบด�ไฟล์�ต้�าง ๆ ได�

ส2�งท��ท�าหน�าท��จ+ดเก�บเร�ยู่กว�า “ไดเร�กทอร� ” (Directory) “ ” ในบางระบบอาจจะเร�ยู่ก โฟล์เดอร�(Folder)

ไดเร�กทอร�เองก�ถู'อว�าเป.นไฟล์�อ�กประเภทหน-�ง โครงสร�างในไดเร�กทอร�ประกอบไปด�วยู่หน�วยู่ยู่�อยู่หล์ายู่

ๆ หน�วยู่ ในแต้�ล์ะหน�วยู่ก�อาจจะมู�โครงสร�างเด�ยู่วก+บมู+นก�ได� หร'ออาจจะประกอบด�วยู่ไฟล์�เด��ยู่วยู่�อยู่ ๆ อยู่��ภายู่ในก�ได�

Page 11: บทที่  10 โครงสร้างไฟล์ (File System)

11

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� ระบบไดเร�กทอร�เด��ย่ว (Single-Level

Directory Systems) ระบบไดเร�กทอร�เด��ยู่วเป.นระบบท��มู�โครงสร�างท��ง�ายู่ท��ส1ด ภายู่ในระบบจะมู�อยู่��เพ�ยู่งไดเร�กทอร�เด�ยู่วแล์ะรวบรวมูไฟล์�

ท1กไฟล์�ไว�ท��เด�ยู่วก+น ท1กไฟล์�จะจ+ดเก�บอยู่��ในระด+บเด�ยู่วก+น ไมู�สะดวกส�าหร+บผู้��ใช้�หล์ายู่ ๆ คน แต้�ล์ะคนมู�หล์ายู่ไฟล์� ไฟล์�

หล์ากหล์ายู่ช้น2ดต้�องอยู่��ปะปนก+นท�าให�ไมู�สะดวกในการค�นหา ในกรณ�ท��มู�การสร�างไฟล์�ให�มู�ช้'�อเด�ยู่วก+นก+บท��มู�อยู่��ก�อนน+0น

อาจท�าให�ไฟล์�เก�าถู�กเข�ยู่นท+บล์งไปโดยู่ไมู�ต้+0งใจ ท�าให�ข�อมู�ล์ส�ญหายู่ได�

Page 12: บทที่  10 โครงสร้างไฟล์ (File System)

12

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� ระบบไดเร�กทอร�เด��ย่ว (Single-Level Directory Systems)

Page 13: บทที่  10 โครงสร้างไฟล์ (File System)

13

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� ระบบไดเร�กทอร� 2 ระด�บ (Two-Level

Directory Systems) แก�ไขป9ญหาของระบบไดเร�กทอร�เด��ยู่วได� การจ+ดโครงสร�างไดเร�กทอร� 2 ระด+บ จะ

ก�าหนดให�ผู้��ใช้�แต้�ล์ะคนสามูารถูสร�างไดเร�กทอร�ยู่�อยู่ของต้นได�เร�ยู่กว�า “ส�บไดเร�กทอร�“ (Sub-directory) หร'อไดเร�กทอร�ยู่�อยู่ 1 ก�ได�

แต้�ล์ะส+บไดเร�กทอร� จะอยู่��ภายู่ใต้�ไดเร�กทอร�รากเด�ยู่วก+น (root directory)

Page 14: บทที่  10 โครงสร้างไฟล์ (File System)

14

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� ระบบไดเร�กทอร� 2 ระด�บ (Two-Level Directory Systems)

Page 15: บทที่  10 โครงสร้างไฟล์ (File System)

15

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� ระบบไดเร�กทอร�หล์าย่ระด�บ (Hierarchical

Directory Systems) สามูารถูแก�ป9ญหาระบบไดเร�กทอร�ท+0ง 2 ระบบได� อาจจะเร�ยู่กโครงสร�างแบบน�0เป.น “โครงสร�างตั้�นไม้�”

(Tree structure) ผู้��ใช้�สามูารถูสร�างไดเร�กทอร�ข-0นมูาได�โดยู่ไมู�จ�าก+ดอยู่��ในไดเร�กทอร�เด�ยู่วก+น

ระบบไฟล์�ในป9จจ1บ+นใช้�โครงสร�างไดเร�กทอร�แบบน�0 เพราะสามูารถูแก�ป9ญหาท��มู�อยู่��ได�ท+ 0งหมูด

Page 16: บทที่  10 โครงสร้างไฟล์ (File System)

16

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� ระบบไดเร�กทอร�หล์าย่ระด�บ (Hierarchical

Directory Systems)

Page 17: บทที่  10 โครงสร้างไฟล์ (File System)

17

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� ชื่��อพาธ (Path name)

ในการอ�างถู-งไฟล์�ใด ๆ จ�าเป.นต้�องระบ1ท��อยู่��ของไฟล์�น+0น ๆ ให�ถู�กต้�อง ว�าอยู่��ในไดเร�กทอร� หร'อส+บไดเร�กทอร�ใด

การก�าหนดท��อยู่��หร'อเส�นทางท��จะเข�าไปถู-งไฟล์�น+0น ๆ เร�ยู่กว�า “พาธ” (path)

ปกต้2ค1ณสามูารถูสร�างช้'�อไฟล์�ช้�0าก+นได�ในกรณ�ท��ไฟล์�เหล์�าน+0นอยู่��ต้�างไดเร�กทอร�ก+น

การบอกพาธีจะท�าให�ระบบทราบว�าค1ณก�าล์+งอ�างถู-งไฟล์�ใดแล์ะอยู่��ท��ไหนในระบบ

Page 18: บทที่  10 โครงสร้างไฟล์ (File System)

18

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� ว2ธี�อ�างถู-งช้'�อไฟล์�น+0นมู�อยู่�� 2 ว2ธี�

การอ�างช้'�อไฟล์�แบบส+มูบ�รณ� (absolute path name) การอ�างช้'�อแบบส+มูพ+ทธี� (relative path name)

การอ�างช้'�อไฟล์�แบบส+มูบ�รณ� เป.นการอ�างถู-งไฟล์�โดยู่เร2�มูต้�นจากราก (root) เสมูอต้ามูด�วยู่ช้'�อส+บไดเร�กทอร�ยู่�อยู่ต้�าง ๆ ไล์�ล์งมูาต้ามูล์�าด+บช้+0นของไดเร�กทอร�ท��สร�างข-0นจนกระท+�งถู-งไดเร�กทอร�ท��ไฟล์�บรรจ1อยู่�� แล์ะจบล์งด�วยู่ช้'�อไฟล์�น+0น

ใน Windows (MS DOS) \user\lib\dict.doc ใน UNIX /user/lib/dict.doc ใน MULTICS <user>lib>dict.doc

Page 19: บทที่  10 โครงสร้างไฟล์ (File System)

19

ร�ปแบบโครงสร�างไดเร�กทอร�ของ UNIX

Page 20: บทที่  10 โครงสร้างไฟล์ (File System)

20

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� การอ�างถู-งช้'�อไฟล์�แบบส+มูพ+ทธี�

ผู้��ใช้�จะต้�องทราบไดเร�กทอร�ป9จจ1บ+น (current directory) ก�อน

ปกต้2ผู้��ใช้�สามูารถูอ�างถู-งไฟล์�ใด ๆ จากไดเร�กทอร�ป9จจ1บ+นได�โดยู่ต้รงแล์ะยู่+งสามูารถูยู่�ายู่การท�างานจากไดเร�กทอร�ป9จจ1บ+นไปยู่+งไดเร�กทอร�ใด ๆ ของด2สก�ได�

ว2ธี�การในการอ�างช้'�อพาธีแบบส+มูพ+ทธี�จะเร2�มูต้�นจากไดเร�กทอร�ป9จจ1บ+นไล์�ไปต้ามูล์�าด+บช้+0นของไดเร�กทอร�ท��ไฟล์�น+ 0นอยู่��แล์ะจบล์งด�วยู่ช้'�อไฟล์�น+0น ๆ

สมูมู1ต้2ไดเร�กทอร�ป9จจ1บ+นค'อ usr (ต้ามูร�ป) ถู�าต้�องการอ�างถู-งไฟล์� dict.doc จะต้�องอ�างด�วยู่ lib\dict.doc แล์ะถู�าไดเร�กทอร�ป9จจ1บ+นค'อ lib ค1ณสามูารถูอ�างช้'�อไฟล์� dict.doc โดยู่ต้รงได�เล์ยู่

Page 21: บทที่  10 โครงสร้างไฟล์ (File System)

21

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� การอ�างถู-งช้'�อไฟล์�แบบส+มูพ+ทธี�

ในกรณ�ท�ไฟล์�ท��ค1ณต้�องการอ�างถู-งไฟล์�ท��อยู่��คนล์ะแขนงของทร�จ�าเป.นท��จะต้�องใช้�ส+ญล์+กษณ� .. เข�ามูาช้�วยู่ เช้�นถู�าต้�องการอ�างถู-งไฟล์� math.h ในไดเร�กทอร� bin ในขณะท��ไดเร�กทอร�ป9จจ1บ+นอยู่��ท�� lib

สามูารถูอ�างได�ด�วยู่ ..\..\bin\math.h ส+ญล์+กษณ� .. ในกรณ�น�0หมูายู่ถู-งไดเร�กทอร�ท��อยู่��เหน'อข-0นไปหน-�ง

ระด+บ ส�วนส+ญล์+กษณ� . จะหมูายู่ถู-งไดเร�กทอร�ป9จจ1บ+น ต้+วอยู่�างการใช้�ได�

แก�กรณ�ท��ต้�องการ copy ไฟล์� math.h มูาเก�บไว�ในไดเร�กทอร� lib ซึ่-�งเป.นไดเร�กทอร�ป9จจ1บ+นค1ณสามูารถูใช้�ค�าส+�ง copy \bin\math.h ได�ท+นท�

ข�อส+งเกต้ ถู�าอ�างถู-งไฟล์�โดยู่ต้รงจะใช้� \ หร'อ / แต้�ถู�าเป.นการอ�าง แบบส+มูพ+ทธี�จะข-0นต้�นไดเร�กทอร�ยู่�อยู่ หร'อช้'�อไฟล์�โดยู่ต้รง

Page 22: บทที่  10 โครงสร้างไฟล์ (File System)

22

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� ค(าส��งของไดเร�กทอร� (DIRECTORY

OPERATIONS) ค�าส+�งต้�าง ๆ ท��ใช้� เก��ยู่วก+บไดเร�กทอร�มู�อยู่��

มูากมูายู่หล์ายู่ค�าส+�ง ท+0งน�0ก�ข-0นอยู่��ก+บแต้�ล์ะระบบปฏิ2บ+ต้2การ

ค�าส+�งต้�าง ๆ จะมู�ช้'�อคล์�ายู่ ๆ ก+น เช้�นในระบบปฏิ2บ+ต้2การ UNIX มู�ค�าส+�งต้�าง ๆ ท��เก��ยู่วก+บไดเร�กทอร� เช้�น Create, Delete, Opendir, Closedir, Readdir, Rename หร'อ Link

Page 23: บทที่  10 โครงสร้างไฟล์ (File System)

23

การท(างานของระบบไฟล์การท(างานของระบบไฟล์การท(างานของระบบไฟล์การท(างานของระบบไฟล์ มู1มูมูองในระบบไฟล์�มูองได�เป.น 2 มู1มูมูอง

ม้*ม้ม้องของผู้,�ใชื่� ในมู1มูมูองน�0ผู้��ใช้�ร� �เพ�ยู่ง จะต้+0งช้'�อไฟล์�อยู่�างไร ข�อก�าหนดในการต้+0งช้'�อ ซึ่-�งผู้��ใช้�จะต้�องข�อก�าหนด

ในการต้+0งช้'�อไฟล์�ของแต้�ล์ะระบบปฏิ2บ+ต้2การ ผู้��ใช้�จะต้�องร� �ค�าส+�งต้�าง ๆ (Operation) ของ

ไฟล์�ว�ามู�ค�าส+�งอะไรบ�าง โครงสร�างของไดเร�กทอร�ของแต้�ล์ะระบบไฟล์�เป.น

อยู่�างไร

Page 24: บทที่  10 โครงสร้างไฟล์ (File System)

24

การท(างานของระบบไฟล์การท(างานของระบบไฟล์การท(างานของระบบไฟล์การท(างานของระบบไฟล์ ม้*ม้ม้องของผู้,�สร�างระบบไฟล์ ในมู1มูมูองน�0ผู้��

สร�างจะต้�อง ร� �แล์ะเข�าใจว�าไฟล์�แล์ะไดเร�กทอร�ต้�าง ๆ ท��สร�างข-0น

มูาถู�กจ+ดเก�บล์งบนด2สก�อยู่�างไร ทราบว2ธี�จ+ดสรรเน'0อท��ด2สก�ว�าเป.นอยู่�างไร เพ'�อให�

สามูารถูจ+ดเก�บข�อมู�ล์ได�มูากท��ส1ดแล์ะคงประส2ทธี2ภาพส�งส1ด

สร�างความูเช้'�อมู+�นให�ก+บผู้��ใช้�ว�าข�อมู�ล์ท��มู�การบ+นท-กใส�ล์งบนด2สก�แล์�วจะไมู�ส�ญหายู่ไปไหน

ว2เคราะห�เพ'�อหาจ1ดท��เหมูาะสมูในการสร�างระบบแต้�ล์ะระบบท��มู�ต้+วแปรต้�าง ๆ ท��ไมู�เหมู'อนก+น

Page 25: บทที่  10 โครงสร้างไฟล์ (File System)

25

โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์ ระบบไฟล์�ท1ก ๆ ระบบจ�าเป.นต้�องมู�การจ+ดเก�บข�อมู�ล์ล์งบน

ส'�อต้�าง ๆ ท��ใช้�เก�บข�อมู�ล์ ในป9จจ1บ+นส'�อเหล์�าน�0มู�หล์ายู่ช้น2ดได�แก� แผู้�นด2สก� เทป ซึ่�ด�

รอมู เป.นต้�น ส'�อท��เป.นท��น2ยู่มูแพร�หล์ายู่ แล์ะมู�ราคาถู�ก ได�แก� ด2สก� โครงสร�างของระบบด2สก�สน+บสน1นการเข�าถู-งข�อมู�ล์แบบ

ส1�มู (Random access) โครงสร�างด2สก�สามูารถูแบ�งพาร�ต้2ช้+นในการเก�บข�อมู�ล์ได�

แต้�ล์ะพาร�ต้2ช้+นมู�ความูเป.นอ2สระต้�อก+น สามูารถูก�าหนดให�แต้�ล์ะพาร�ต้2ช้+นมู�ระบบปฏิ2บ+ต้2การท��ต้�าง

ก+นได�อ�กด�วยู่

Page 26: บทที่  10 โครงสร้างไฟล์ (File System)

26

โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์ ภายู่ในด2สก�จะถู�กแบ�งออกเป.นเซึ่�กเต้อร� (Sector) เร2�มู

ต้�นจากเซึ่�กเต้อร� 0 ซึ่-�งถู'อว�าเป.น Master Boot Record (MBR) ท��ใช้�เก�บค�าเร2�มูต้�นของระบบปฏิ2บ+ต้2การส�าหร+บการบ�ต้เคร'�องคอมูพ2วเต้อร�เมู'�อเร2�มูต้�นใช้�งาน

ต้อนท�ายู่ของเซึ่�กเต้อร�ประกอบด�วยู่ต้ารางพาร�ต้2ช้+น (Partition table) ซึ่-�งจะเก�บแอ�ดเดรสเร2�มูต้�น แล์ะแอ�ดเดรสส1ดท�ายู่ของแต้�ล์ะพาร�ต้2ช้+นเอาไว�

ในแต้�ล์ะพาร�ต้2ช้+นจะประกอบไปด�วยู่ Boot block โปรแกรมูใน Boot block จะท�าหน�าท��ในการโหล์ดระบบปฏิ2บ+ต้2การในพาร�ต้2ช้+นออกมูาท�างาน

Page 27: บทที่  10 โครงสร้างไฟล์ (File System)

27

โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์ ท1ก ๆ พาร�ต้2ช้+นจะมู� Boot block เป.นของต้+วเอง

แต้�ว�าในพาร�ต้2ช้+นอาจจะไมู�มู�ระบบปฏิ2บ+ต้2การก�ได� โครงสร�างภายู่ในแต้�ล์ะพาร�ต้2ช้+นจะแต้กต้�างก+นข-0น

อยู่��ก+บระบบปฏิ2บ+ต้2การท��ใช้�อยู่��ซึ่-�งจะก�าหนดโครงสร�างของไฟล์�ในด2สก�ในขณะท��ท�าการฟอร�แมูต้ด2สก�

Page 28: บทที่  10 โครงสร้างไฟล์ (File System)

28

โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์โครงสร�างระบบไฟล์

Page 29: บทที่  10 โครงสร้างไฟล์ (File System)

29

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ ส2�งส�าค+ญส�าหร+บการจ+ดเก�บไฟล์�ข�อมู�ล์ล์งบนส'�อ

เก�บข�อมู�ล์ค'อ จะต้�องทราบว�าแต้�ล์ะไฟล์�มู�การเก�บอยู่�างไร เก�บไว�ท��ไหน แล์ะสามูารถูเร�ยู่กออกมูาใช้�งานได�อยู่�างไร

ไฟล์�ต้�าง ๆ เหล์�าน+0นมู�การจ+ดเก�บท+0งไฟล์� หร'อแต้�ล์ะไฟล์�ถู�กแยู่กเก�บเป.นบล์�อก แล์ะบล์�อกต้�าง ๆ เหล์�าน+0นจ+ดเร�ยู่งก+นอยู่�างไร

Page 30: บทที่  10 โครงสร้างไฟล์ (File System)

30

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ การจั�ดเก�บข�อม้,ล์แบบตั้�อเน��อง (Contiguous

allocation) เป.นว2ธี�การจ+ดเก�บข�อมู�ล์ของไฟล์�แบบท��ง�ายู่ท��ส1ด แต้�ล์ะไฟล์�จะถู�กแบ�งออกเป.นบล์�อก แต้�ล์ะบล์�อกมู�ขนาด

เท�า ๆ ก+น เพ'�อง�ายู่ในการบร2หารแล์ะการเก�บข�อมู�ล์ ว2ธี�การน�0ไฟล์�ข�อมู�ล์จะแบ�งออกเป.นบล์�อกเก�บล์งบนด2สก�

อยู่�างต้�อเน'�องท+0งไฟล์� เช้�น ถู�าก�าหนดขนาดของบล์�อกบนด2สก�ไว�เท�า ๆ ก+นท�� 1

KB ถู�าไฟล์�ข�อมู�ล์ A มู�ขนาด 50 KB ด+งน+0นส�าหร+บไฟล์�ข�อมู�ล์ A จะต้�องใช้� 50 บล์�อก โดยู่จะเก�บแบบต้�อเน'�องเร2�มูจากบล์�อกท�� 1 ถู-งบล์�อกท�� 50

Page 31: บทที่  10 โครงสร้างไฟล์ (File System)

31

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ การจั�ดเก�บข�อม้,ล์แบบตั้�อเน��อง (Contiguous

allocation) ถู�าข�อมู�ล์ของไฟล์�ใดเก�บในบล์�อกส1ดท�ายู่ไมู�เต้�มู ไฟล์�ต้�อไปจะต้�อง

เก�บในบล์�อกถู+ดไปเท�าน+0น ไมู�สามูารถูเก�บล์งบล์�อกของไฟล์�อ'�นได� ข�อด�ในการเก�บข�อมู�ล์แบบต้�อเน'�องท��ส�าค+ญมู�อยู่�� 2 ประการ ค'อ

เป.นการจ+ดเก�บข�อมู�ล์แบบท��ง�ายู่ท��ส1ด แล์ะสะดวกท��ส1ดเน'�องจากใช้�เน'0อต้�อเน'�องก+นไป ระบบสามูารถูบ+นท-กการเก�บข�อมู�ล์ด�วยู่การบ+นท-กบล์�อกแรก แล์ะบล์�อกส1ดท�ายู่ก�เพ�ยู่งพอแล์�ว ภายู่ในต้�อเน'�องก+นอยู่��แล์�ว

สร�างประส2ทธี2ภาพได�ส�งส1ดในการค�นหาข�อมู�ล์ เน'�องจากการจ+ดเก�บบล์�อกข�อมู�ล์เร�ยู่งต้�อเน'�องจ-งไมู�เส�ยู่เวล์าในการค�นหาบล์�อกท1ก ๆ บล์�อก เพ�ยู่งแต้�หาบล์�อกแรกพบก�สามูารถูอ�านข�อมู�ล์ได�ท+ 0งไฟล์�แล์�ว

Page 32: บทที่  10 โครงสร้างไฟล์ (File System)

32

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ การจั�ดเก�บข�อม้,ล์แบบตั้�อเน��อง (Contiguous

allocation) ข�อเส�ยู่ของการเก�บข�อมู�ล์แบบน�0ก�ค'อ ถู�าจ�านวนไฟล์�ข�อมู�ล์

เพ2�มูจ�านวนมูากข-0น หร'อขนาดของข�อมู�ล์เมู'�อมู�การแก�ไขมู�ขนาดใหญ�ข-0น ท�าให�ไมู�สามูารถูหาเน'0อท��ในการบรรจ1ไฟล์�ข�อมู�ล์ด+งกล์�าวได� เน'�องจากมู�การจ+ดเก�บแบบต้�อเน'�องก+นไป

ถู�ามู�การแก�ไขแล์�วท�าให�ขนาดของไฟล์�ใหญ�ข-0น ต้�องยู่�ายู่ไปเก�บท��อ'�น

ท�าให�เก2ดเน'0อท��ว�างกระจายู่อยู่��ท+ �วไป (Frag ment) ท�าให�ไมู�สามูารถูหาเน'0อท��ว�างในการเก�บข�อมู�ล์

การแก�ไขข�อเส�ยู่ด+งกล์�าวท�าได�โดยู่การใช้�ส'�อประเภทซึ่�ด�รอมู เน'�องจากยู่อมูให�จ+ดเก�บข�อมู�ล์เพ�ยู่งคร+0งเด�ยู่ว (Read Only)

Page 33: บทที่  10 โครงสร้างไฟล์ (File System)

33

Page 34: บทที่  10 โครงสร้างไฟล์ (File System)

34

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ การจั�ดเก�บข�อม้,ล์แบบล์.งคล์.สตั้ (Link List

Allocation) ว2ธี�การน�0มู�การแบ�งไฟล์�ออกเป.นบล์�อก ๆ การจ+ดเก�บเน'0อท��ของแต้�ล์ะบล์�อกจะไมู�ต้�อเน'�องเหมู'อนว2ธี�

การจ+ดเร�ยู่งก+นอยู่�างต้�อเน'�อง แต้�ล์ะบล์�อกจะถู�กเช้'�อมูโยู่งก+นด�วยู่พอยู่เต้อร� ต้+0งแต้�

บล์�อกแรกจนกระท+0งบล์�อกส1ดท�ายู่ของไฟล์�ข�อมู�ล์น+0น ๆ ท�าให�ไมู�เส�ยู่เน'0อท��ว�างภายู่ในด2สก� ยู่กเว�นมู�เน'0อท��ว�างใน

แต้�ล์ะบล์�อก ซึ่-�งจะมู�มูากน�อยู่เพ�ยู่งใดข-0นอยู่��ก+บการหาขนาดท��เหมูาะสมูของบล์�อกข�อมู�ล์ แล์ะจะเก2ดก+บบล์�อกส1ดท�ายู่ของแต้�ล์ะไฟล์�เท�าน+0น

Page 35: บทที่  10 โครงสร้างไฟล์ (File System)

35

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ การจั�ดเก�บข�อม้,ล์แบบล์.งคล์.สตั้ (Link List

Allocation) ข�อเส�ยู่ท��ส�าค+ญค'อเส�ยู่เวล์าก+บการค�นหาแต้�ล์ะบล์�อก

ข�อมู�ล์ เน'�องจากแต้�ล์ะบล์�อกอยู่��กระจ+ดกระจายู่ท+�วไปบนด2สก�

ว2ธี�การเก�บข�อมู�ล์แบบน�0ยู่+งเส�ยู่เน'0อท��ไปก+บพอยู่เต้อร�ท��ท�าหน�าท��ช้�0ไปยู่+งบล์�อกต้�าง ๆ ด�วยู่

ในขณะท��ระบบท�าการอ�านข�อมู�ล์ระบบจะต้�องท�าการก�อปป;0 ต้ารางบ+นท-กการจ+ดเก�บไฟล์�ท��เร�ยู่กว�า FAT (File Allocation Table) ล์งบนหน�วยู่ความูจ�าก�อนท��จะท�าการอ�านข�อมู�ล์จากด2สก�

Page 36: บทที่  10 โครงสร้างไฟล์ (File System)

36

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ การจั�ดเก�บข�อม้,ล์แบบล์.งคล์.สตั้ (Link List Allocation)

Page 37: บทที่  10 โครงสร้างไฟล์ (File System)

37

A = 4-7-2-10-12

B = 6-3-11-14

Page 38: บทที่  10 โครงสร้างไฟล์ (File System)

38

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ ไอโหนด (I-nodes หร�อ Index node)

ใช้�ในระบบปฏิ2บ+ต้2การ UNIX โดยู่การสร�างต้ารางเล์�กเร�ยู่กว�า “ไอโหนด” (I-node) ให�ก+บแต้�ล์ะไฟล์�

ไอโหนดจะเก�บข�อมู�ล์ต้�าง ๆ ท��เก��ยู่วข�องก+บไฟล์�เอาไว� ภายู่ในไอโหนดจะมู�หมูายู่เล์ขบล์�อก 4 แบบ

แบบ direct 10 หมูายู่เล์ข แบบ single direct 1 หมูายู่เล์ข แบบ double direct 1 หมูายู่เล์ข แบบ triple direct 1 หมูายู่เล์ข

Page 39: บทที่  10 โครงสร้างไฟล์ (File System)

39

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ ไอโหนด (I-nodes หร�อ Index

node) ไฟล์�ข�อมู�ล์ขนาดไมู�เก2น 10 KB

หมูายู่ถู-งแต้�ล์ะหมูายู่เล์ขจะเก�บหมูายู่เล์ขของแต้�ล์ะบล์�อกไว� 10 บล์�อก

ถู�าแต้�ล์ะบล์�อก มู�ขนาด 1 KB ท+0ง 10 หมูายู่เล์ข จะเก�บข�อมู�ล์ได� 10 KB

ถู�าขนาดไฟล์�ข�อมู�ล์ไมู� เก2น 10 KB จะสามูารถูใช้� ไอโหนดแบบ direct ก�เพ�ยู่งพอแล์�ว

Page 40: บทที่  10 โครงสร้างไฟล์ (File System)

40

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ ไอโหนด (I-nodes หร�อ Index node)

ไฟล์�ข�อมู�ล์ขนาดใหญ�กว�า 10 KB แต้�ไมู�เก2น 266 KB (10+256 KB)

จะมู�หมูายู่เล์ขบล์�อกแบบ direct 10 หมูายู่เล์ข แล์ะแบบ single direct 1 หมูายู่เล์ข

แบบ direct 10 หมูายู่เล์ข สามูารถูอ�างจ�านวนบล์�อกได� 10 บล์�อก บวกก+บ single direct สมูมู1ต้2ว�า 1

หมูายู่เล์ขของ single direct มู�ขนาด 1 KB (1024 byte) แต้�ล์ะบล์�อกใช้�พอยู่เต้อร� 4 ไบต้� ในการเช้'�อมูโยู่งแต้�ล์ะบล์�อกเป.นล์2งค�ล์2สต้�ของไฟล์�ข�อมู�ล์เข�าด�วยู่ก+น ด+งน+0นในแต้�ล์ะบล์�อกสามูารถูเก�บจ�านวนล์2งค�ได�เท�าก+บ 102

44 = 256 หมูายู่เล์ข

Page 41: บทที่  10 โครงสร้างไฟล์ (File System)

41

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ ไอโหนด (I-nodes หร�อ Index node)

ไฟล์�ข�อมู�ล์ขนาดใหญ�กว�า 266 KB แต้�ไมู�เก2น 65802 KB (10+256 + (256*256)KB)

จะมู�หมูายู่เล์ขบล์�อกแบบ direct 10 หมูายู่เล์ข ,แบบ single direct 1 หมูายู่เล์ข แล์ะแบบ double direct 1 หมูายู่เล์ข

ส�าหร+บแบบ double direct สามูารถูใช้�เก�บจ�านวนบล์�อกได�ถู-ง 256*256

บล์�อก

Page 42: บทที่  10 โครงสร้างไฟล์ (File System)

42

ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ว.ธ�การจั�ดเก�บข�อม้,ล์ของไฟล์ ไอโหนด (I-nodes หร�อ Index node)

ไฟล์�ข�อมู�ล์ขนาดใหญ�กว�าเก2นกว�า 65802 KB

ใช้�ไอโหนดแบบ triple direct 1 หมูายู่เล์ข สามูารถูเพ2�มูจ�านวนบล์�อกได�อ�ก

256*256*256 ซึ่-�งจะเท�าก+บ 16 GB

Page 43: บทที่  10 โครงสร้างไฟล์ (File System)

43

โครงสร�าง I-node ของ Unix

Page 44: บทที่  10 โครงสร้างไฟล์ (File System)

44

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� ไดเร�กทอร�ใช้�เป.นท��เก�บรวบรวมูไฟล์�ข�อมู�ล์ต้�าง ๆ เข�า

ไว�ด�วยู่ก+น ก�อนท��จะเป,ดไฟล์�เพ'�อท�าการใด ๆ จะต้�องทราบว�าไฟล์�

ต้�าง ๆ เหล์�าน+0นเก�บอยู่��ท��ใด หร'อในไดเร�กทอร�ใด ผู้��ใช้�จะต้�องระบ1พาธีของไดเร�กทอร�น+0นเส�ยู่ก�อน เพ'�อ

เป.นการระบ1บล์�อกต้�าง ๆ ท��เก�บไว�ในไดเร�กทอร�น+0น แต้�ล์ะไฟล์�ท��เก�บในไดเร�กทอร�สามูารถูเข�าถู-งบล์�อกต้�าง

ๆ ของไฟล์�ได�โดยู่การอ�างช้'�อไฟล์� ไฟล์�หน-�ง ๆ จะมู�ช้'�อเร�ยู่กได�เพ�ยู่งช้'�อเด�ยู่ว หร'อไมู�ก�ใช้�

นามูสก1ล์เป.นการแยู่กประเภทของไฟล์�

Page 45: บทที่  10 โครงสร้างไฟล์ (File System)

45

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� การสร�างไฟล์�เป.นการจ+ดสรรเน'0อท��บนด2สก�ไห�ก+บไฟล์�น+0น ไดเร�กทอร�จ�าเป.นจะต้�องร� �แล์ะสามูารถูต้รวจสอบได�ว�าไฟล์�

ในไดเร�กทอร�ของต้+วเองน+0นเก�บอยู่��ท��ใด ท�าให�ต้�องมู�ต้ารางบ+นท-กไฟล์�ต้�าง ๆ เอาไว�

ภายู่ในต้ารางไดเร�กทอร�จะประกอบไปด�วยู่ช้'�อไฟล์� แล์ะค1ณล์+กษณะไฟล์� (File attribute) ว�าเป.นไฟล์�ประเภทใด เก�บอยู่��ในบล์�อกใด

ร�ปแบบการเก�บช้'�อไฟล์�แล์ะค1ณล์+กษณะของไฟล์�มู� 2 แบบ เก�บช้'�อไฟล์�แล์ะค1ณล์+กษณะไฟล์�ไว�ด�วยู่ก+น เก�บช้'�อไฟล์�แล์ะพอยู่เต้อร�ของไฟล์�ไปยู่+งบล์�อกต้�าง ๆ

Page 46: บทที่  10 โครงสร้างไฟล์ (File System)

46

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� การเก�บช้'�อไฟล์� แล์ะค1ณล์+กษณะไฟล์�

ไว�ด�วยู่ก+นน�0 ภายู่ในต้ารางแต้�ล์ะไฟล์�จะเก�บช้'�อไฟล์�ท��

มู�ขนาดต้ามูท��ก�าหนดไว�ขนาดหน-�ง (ใน MS-DOS 8.3 ) ต้ามูด�วยู่ค1ณล์+กษณะไฟล์�จะบอกถู-งบล์�อกต้�าง ๆ ท��ใช้�เก�บไฟล์�มู�จ�านวนบล์�อกเท�าไรจะถู�กระบ1ล์งไปในต้ารางด�วยู่ก+น

ไฟล์�ยู่2�งมู�ขนาดใหญ� จ�านวนบล์�อกท��ใช้�ยู่2�งเพ2�มูข-0นต้ามูขนาดของไฟล์�

เก2ดป9ญหาว�าจะก�าหนดขนาดของต้ารางน�0อยู่�างไร

Page 47: บทที่  10 โครงสร้างไฟล์ (File System)

47

โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร�โครงสร�างไดเร�กทอร� เก�บช้'�อไฟล์�แล์ะพอยู่เต้อร�ไฟล์�ไว�

ด�วยู่ก+น ว2ธี�น�0ท�าให�ขนาดข�อมู�ล์ในต้าราง

File attribute มู�ขนาดคงท�� พอยู่เต้อร�ในต้ารางจะช้�0ไปยู่+งเน'0อท��

ท��เร�ยู่กว�า “ฮี�พ” (heap) ซึ่-�งใช้�เก�บบล์�อกต้�าง ๆ ของไฟล์� ท�าให�ขนาดของไฟล์� ใหญ�เท�าใดก�ได�จะไมู�มู�ผู้ล์ต้�อการจ+ดเก�บในต้าราง

เน'0อท��บร2เวณฮี�พเป.นการจองเน'0อท��แบบไดนามู2ก ซึ่-�งจะมู�การจองแล์ะค'นเน'0อท��อยู่��ต้ล์อดเวล์า

Page 48: บทที่  10 โครงสร้างไฟล์ (File System)

48

การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้ ถู�ามู�ผู้��ใช้�ไฟล์�ในระบบหล์ายู่ ๆ คน --> ก�อปป;0 ไฟล์�เหล์�าน�0ให�ท1กคน ว2ธี�การน�0ไมู�สะดวกแล์ะท�าให�เปล์'องเน'0อท��จ+ดเก�บเป.นอยู่�างมูาก ถู�ามู�ผู้��ใช้�คนใดคนหน-�งต้�องการแก�ไขไฟล์�น�0 ก�จะต้�องไปบอกก+บท1ก

ๆ คนให�ท�าการแก�ไขต้ามูไปด�วยู่หร'อไมู�ก�ให�มูาก�อบป;0 ไฟล์�น�0ไปใหมู� ท�าให�เส�ยู่เวล์า แล์ะเก2ดความูยู่ากล์�าบากในการท�างาน ถู�าไมู�

ประสานงานก+นให�ด�จะท�าให�เก2ดข�อผู้2ดพล์าดแล์ะเก2ดความูเส�ยู่หายู่ได�

ว2ธี�แก�ป9ญหาน�0ค'อการใช้�งานในล์+กษณะ “ไฟล์ร�วม้” (shared files)

โดยู่เก�บไฟล์�ท��ใช้�งานร�วมูก+นน�0ไว�ในไดเร�กทอร��ท��เป.นส�วนกล์างให�ท1กคนสามูารถูเข�าถู-งได� --> สะดวกแล์ะประหยู่+ดเวล์าในการท�างาน

Page 49: บทที่  10 โครงสร้างไฟล์ (File System)

49

link

Page 50: บทที่  10 โครงสร้างไฟล์ (File System)

50

การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้ ไฟล์�ในไดเร�กทอร� A แล์ะในไดเร�กทอร� B จะถู�กใช้�ร�วมูก+นด�วยู่

การเช้'�อมูต้�อระหว�างไดเร�กทอร� A แล์ะไฟล์�ในไดเรกทอร� B เร�ยู่กการ “ล์.งค” (link)

โครงสร�างของระบบไดเร�กทอร�เปล์��ยู่นไปไมู�เป.นแบบต้�นไมู� แต้�จะเป.นโครงสร�างท��เร�ยู่กว�า Direct Acyclic Graph

หร'อ DAG ว2ธี�การล์2งค�ข-0นอยู่�ก+บโครงสร�างไดเร�กทอร�ของระบบไฟล์� ใน UNIX สามูารถูท�าการล์2งค�ได�ง�ายู่มูากด�วยู่การก�าหนดช้'�อ

ไฟล์�แล์ะก�อบป;0 ไอโหนดไปยู่+งไดเร�กทอร�ท��ต้�องการใช้�ไฟล์�ร�วมูก+น พร�อมูก+บการเพ2�มูจ�านวนล์2งค�ล์งไปท��ไอโหนด

ท�าให�เข�าถู-งไฟล์�ข�อมู�ล์เด�ยู่วก+นได�ท+0งหมูด

Page 51: บทที่  10 โครงสร้างไฟล์ (File System)

51

Page 52: บทที่  10 โครงสร้างไฟล์ (File System)

52

การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้ ใน UNIX ระบบจะทราบว�ามู�ไดเร�กทอร�จ�านวน

เท�าไรท��มูาใช้�ไฟล์�ร�วมูก+นโดยู่ค�า count ในไอโหนดจะเพ2�มูข-0นต้ามูจ�านวนล์2งค�ท��เช้'�อมูเข�ามูาไฟล์�น+0น

การล์บไฟล์�ในไฟล์�ร�วมู UNIX จะล์ดจ�านวนล์2งค�ในไอโหนด ท1กคร+0งท��มู�การล์ดจ�านวนล์2งค�ค�า count ท��อยู่��ในไอโหนดก�จะล์ดล์งจนกระท+�งเป.น ค�า count= 0 หมูายู่ความูว�าไมู�มู�ไดเร�กทอร�ใดต้�องการใช้�ไฟล์�น+0นอ�กแล์�ว บล์�อกข�อมู�ล์เหล์�าน+0นก�ถู�กน�าไปใช้�ก+บไฟล์�อ'�น ๆ อ�กต้�อไป

Page 53: บทที่  10 โครงสร้างไฟล์ (File System)

53

การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้การใชื่�ไฟล์ร�วม้ การล์2งค�ไฟล์�อ�กว2ธี�หน-�งค'อการล์2งค�เช้2ง

ส+ญล์+กษณ� (symbolic linking ) สมูมูต้2ว�า B ต้�องการล์20งค�ไฟล์� a ซึ่-�งเป.นของ A

ระบบจะสร�างไฟล์�ข-0นมูาใหมู�มู�ช้'�อว�า A\a เก�บไว�โดยู่มู�ส�วนขยู่ายู่เป.น Link แล์ะถู�กเก�บไว�ในไดเร�กทอร�ของ B เมู'�อ B ต้�องการเข�าถู-งไฟล์� a ระบบจะท�าการเข�าไปอ�านข�อมู�ล์ในไดเร�กทอร�ซึ่-�งเป.นของ A ต้ามูช้'�อพาธีท��ได�ก�าหนดในล์2งค�

Page 54: บทที่  10 โครงสร้างไฟล์ (File System)

54

การจั�ดการเน��อท��ว�างภาย่ในด.สกการจั�ดการเน��อท��ว�างภาย่ในด.สกการจั�ดการเน��อท��ว�างภาย่ในด.สกการจั�ดการเน��อท��ว�างภาย่ในด.สก การจ+ดการเน'0อท��ว�างภายู่ในด2สก�เป.นส2�งส�าค+ญในการ

ออกแบบระบบการเก�บข�อมู�ล์ การจ+ดเก�บข�อมู�ล์ท��อยู่��ในร�ปไฟล์� ได� 2 ว2ธี�ด�วยู่ก+นค'อ

การเก�บไฟล์�ท+0งหมูดไว�ในเน'0อท��เด�ยู่วก+น --> เก2ดป9ญหาการขยู่ายู่เน'0อท��เมู'�อไฟล์�มู�ขนาดใหญ�ข-0นไมู�สามูารถูเก�บไว�ต้�าแหน�งเด2มูได� ไฟล์�ท��อยู่��ข�างเค�ยู่งไมู�สามูารถูเคล์'�อนยู่�ายู่ได�

การแบ�งออกเป.นบล์�อก ๆ ล์ะเท�า ๆ ก+นแล์�วเก�บกระจายู่ในด2สก� --> สะดวกกว�าส�าหร+บการขยู่ายู่ต้+วเมู'�อไฟล์�ใหญ�ข-0น

Page 55: บทที่  10 โครงสร้างไฟล์ (File System)

55

การจั�ดการเน��อท��ว�างภาย่ในด.สกการจั�ดการเน��อท��ว�างภาย่ในด.สกการจั�ดการเน��อท��ว�างภาย่ในด.สกการจั�ดการเน��อท��ว�างภาย่ในด.สก ขนาดของบล์�อกเป.นส2�งจ�าเป.นในการเพ2�มูประส2ทธี2ภาพของ

คอมูพ2วเต้อร� แล์ะท�าให�การใช้�เน'0อท��ในด2สก�เก2ดความูค1�มูค�าท��ส1ด ถู�าขนาดของบล์�อกใหญ�เก2นไปแต้�ขนาดไฟล์�ข�อมู�ล์มู�เพ�ยู่งไมู�ก��

ไบต้�จะท�าให�ส20นเปล์'องเน'0อท��มูากเพราะในการเก�บข�อมู�ล์แต้�ล์ะคร+0งจะต้�องใช้�เน'0อท��ท+ 0งบล์�อก สมูมูต้2ว�าบล์�อกมู�ขนาด 1 ก2โล์ไบต้� ในขนาดท��ไฟล์�ข�อมู�ล์มู�เพ�ยู่ง 100 ไบต้� ท�าเส�ยู่เน'0อท��ว�างภายู่ในด2สก�ไปเก'อบ 90 เปอร�เซึ่�นต้�

แต้�ถู�าถู�าบล์�อกมู�ขนาด 1 ก2โล์ไบต้� แต้�ในขนาดท��ไฟล์�ข�อมู�ล์มู�ถู-ง 50 ก2โล์ไบต้� จะใช้�เน'0อท��ในการเก�บข�อมู�ล์ถู-งไฟล์�ล์ะ

50 บล์�อก แต้�ล์ะบล์�อกไมู�ได�จ+ดเร�ยู่งในท��เด�ยู่วก+นจ-งท�าให�เส�ยู่เวล์าในการหา (seek time) ข�อมู�ล์

Page 56: บทที่  10 โครงสร้างไฟล์ (File System)

56

Page 57: บทที่  10 โครงสร้างไฟล์ (File System)

57

เปร�ยู่บเท�ยู่บการจ+ดเก�บข�อมู�ล์แบบ FAT16 แล์ะ FAT32

Page 58: บทที่  10 โครงสร้างไฟล์ (File System)

58

เปร�ยู่บเท�ยู่บการจ+ดเก�บข�อมู�ล์แบบ FAT16 แล์ะ FAT32

Page 59: บทที่  10 โครงสร้างไฟล์ (File System)

59

การเก�บรวบรวม้เน��อท��ว�างภาย่ในการเก�บรวบรวม้เน��อท��ว�างภาย่ในด.สกด.สก

การเก�บรวบรวม้เน��อท��ว�างภาย่ในการเก�บรวบรวม้เน��อท��ว�างภาย่ในด.สกด.สก

หล์+งจากก�าหนดขนาดของบล์�อกได�แล์�ว ส2�งส�าค+ญอ�กประการหน-�งค'อการจ+ดเต้ร�ยู่มูบล์�อกท��ว�างภายู่ในด2สก�ไว�ส�าหร+บเก�บไฟล์�ข�อมู�ล์ท��ต้�องการ

ว2ธี�ท��ใช้�ในการรวบรวมูบล์�อกว�างภายู่ในด2สก�มู� 2 ว2ธี�ค'อ

การใช้�ล์2งค�ล์2สต้� (link list) การใช้�บ2ต้แมู�ป (bit map)

Page 60: บทที่  10 โครงสร้างไฟล์ (File System)

60

การเก�บรวบรวม้เน��อท��ว�างภาย่ในการเก�บรวบรวม้เน��อท��ว�างภาย่ในด.สกด.สก

การเก�บรวบรวม้เน��อท��ว�างภาย่ในการเก�บรวบรวม้เน��อท��ว�างภาย่ในด.สกด.สก

การใช้�ล์2งค�ล์2สต้� (link list) เน'0อท��ว�างจะถู�กรวบรวมูเป.นสายู่เพ'�อจ+ดเต้ร�ยู่มูให�น�าไปจ+ดสรร

เป.นไฟล์�ท��ใช้�เก�บข�อมู�ล์ สมูมู1ต้2แบ�งขนาดของบล์�อกไว�เป.นขนาดเท�า ๆ ก+นบล์�อกล์ะ 1

KB แล์ะก�าหนดขนาดของหมูายู่เล์ขประจ�าบล์�อกไว�เท�าก+บ 2ไบต้�

แต้�ล์ะบล์�อกใช้�เก�บหมูายู่เล์ขบล์�อก ได� 10242 เท�าก+บ 512 บล์�อก (ถู�ามู�จ�านวนบล์�อกมูากกว�า 512 บล์�อก

จะต้�องใช้�บล์�อกเก�บหมูายู่เล์ขมูากกว�า 1 บล์�อก ) ในกรณ�ท��มู� 512 บล์�อก จะใช้�เก�บหมูายู่เล์ขเพ�ยู่ง 511

หมูายู่เล์ข เน'�องจากหมูายู่เล์ขส1ดท�ายู่จะใช้�เก�บบล์�อกหมูายู่เล์ขถู+ดไป

Page 61: บทที่  10 โครงสร้างไฟล์ (File System)

61

1 2 3 N...แบ�งบล์�อกล์ะ 1K ในท��น�0ให�

บล์�อก 1 เป.นบล์�อก ก�าหนดหมูายู่เล์ข ส�วน

บล์�อก 2 ถู-ง N เป.นบล์�อกเก�บข�อมู�ล์

1 2 3 512511

1024/2 = 512 บล์�อก หมูายู่เล์ขบล์�อกท��มู�ขนาด 2 ไบต้� จะอ�างอ2งจ�านวนบล์�อก

ได� = 216 = 65536 บล์�อก ถู�าแต้�ล์ะบล์�อกมู�ขนาด 1K --> ฮีาร�ด2สก�ขนาดส�งส1ดได� =

216 * 210 = 64 MB ถู�าก�าหนดขนาดของบล์�อกเก�บหมูายู่เล์ขไว�ท�� 4 ไบต้� -->

232 บล์�อก --> เก�บข�อมู�ล์ได� = 232*210 = 4096 GB = 4TB

Page 62: บทที่  10 โครงสร้างไฟล์ (File System)

62

การเก�บรวบรวม้เน��อท��ว�างภาย่ในการเก�บรวบรวม้เน��อท��ว�างภาย่ในด.สกด.สก

การเก�บรวบรวม้เน��อท��ว�างภาย่ในการเก�บรวบรวม้เน��อท��ว�างภาย่ในด.สกด.สก

การใช้�บ2ต้แมูป (bit map) ด2สก�ถู�กแบ�งออกเป.น n บล์�อก โดยู่จะใช้� n บ2ต้ในการต้รวจสอบ ถู�าบล์�อกใดว�างค�าของบ2ต้จะก�าหนดเป.น 0 ถู�าบ2ต้ใดใช้�เก�บข�อมู�ล์ค�าของบ2ต้จะก�าหนดเป.น 1 การใช้�บ2ต้แมูปจะประหยู่+ดเน'0อท��เก�บหมูายู่เล์ขบล์�อกได�มูากกว�า

ล์2งค�ล์2สต้� เช้�นในด2สก�ขนาด 20MB ถู�าก�าหนดขนาดบล์�ออกเท�าก+บ 1KB

-->ในด2สก�มู� 20 ก2โล์บล์�อก ถู�าใช้�บ2ต้แมูปจะเส�ยู่เน'0อท��เก�บหมูายู่เล์ขบล์�อกเท�าก+บ 20 ก2โล์

บ2ต้ = 2.5 KB ถู�าใช้�ล์2งค�ล์2สต้�จะใช้�เน'0อท��ในด2สก�ถู-ง 16 เท�าถู�าก�าหนดขนาด

พอยู่เต้อร�ไว�ท�� 2 ไบต้�

Page 63: บทที่  10 โครงสร้างไฟล์ (File System)

63

ความ้น�าเชื่��อถื�อของระบบไฟล์ความ้น�าเชื่��อถื�อของระบบไฟล์ความ้น�าเชื่��อถื�อของระบบไฟล์ความ้น�าเชื่��อถื�อของระบบไฟล์ ความูน�าเช้'�อของระบบไฟล์�สร�างความูเช้'�อมู+�นให�ก+บ

ผู้��ใช้�งานว�าข�อมู�ล์จะไมู�ส�ญหายู่ไปไหน ไฟล์�ข�อมู�ล์มู�ความูส�าค+ญมูากกว�าอ1ปกรณ�ฮีาร�ดแวร� ถู�าข�อมู�ล์มู�การส�ญหายู่แต้�มู�การแบ�คอ+พข�อมู�ล์ไว�

แล์�วก�สามูารถูน�ากล์+บมูาใช้�งานใหมู�ได� แต้�ถู�าไมู�มู�การแบ�คอ+พก�จะไมู�สามูารถูน�ากล์+บมูาใช้�งานได�อ�ก

ถู�าเป.นอ1ปกรณ�ฮีาร�ดแวร�เส�ยู่หายู่ก�สามูารถูซึ่'0อมูาทดแทนได�

ต้+วอยู่�าง กล์�องด�าบนเคร'�องบ2น

Page 64: บทที่  10 โครงสร้างไฟล์ (File System)

64

ความ้น�าเชื่��อถื�อของระบบไฟล์ความ้น�าเชื่��อถื�อของระบบไฟล์ความ้น�าเชื่��อถื�อของระบบไฟล์ความ้น�าเชื่��อถื�อของระบบไฟล์ ระบบไฟล์�ควรมู�ระบบการป=องก+นไฟล์�ถู�กท�าล์ายู่ อาจ

จะเป.นทางด�านฮีาร�ดแวร�หร'อซึ่อฟต้�แวร�ก�ได� ส'�อท��ใช้�เก�บข�อมู�ล์อาจจะเก2ดความูเส�ยู่หายู่ในบล์�อกท��

ใช้�เก�บข�อมู�ล์เมู'�อใช้�งานเป.นเวล์านาน การแก�ไขอาจะท�าได�โดยู่เก�บข�อมู�ล์บล์�อกท��เส�ยู่เหล์�า

น+0นในต้าราง ก�อนการบ+นท-กข�อมู�ล์จะต้�องมูาท�าการต้รวจสอบก�อน แล์ะต้�องไมู�น�ามูาใช้�ในการเก�บข�อมู�ล์อ�ก

อ�กว2ธี�หน-�งค'อเก�บข�อมู�ล์ท��ไมู�ต้�องการล์งในบล์�อกท��เส�ยู่เหล์�าน+0น

Page 65: บทที่  10 โครงสร้างไฟล์ (File System)

65

การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups)การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups) การแบ�คอ+พข�อมู�ล์มู�ความูส�าค+ญ ถู-งแมู�จะเส�ยู่เวล์า

บ�างแต้�ก�ด�กว�าถู�าข�อมู�ล์ต้�องส�ญหายู่ไป การท�าแบ�คอ+พจะบ�อยู่หร'อไมู�ข-0นอยู่��ก+บความูส�าค+ญ

ของข�อมู�ล์ แล์ะมู�การแก�ไขข�อมู�ล์น+0นบ�อยู่หร'อไมู�เพ�ยู่งใด

ป9จจ1บ+นนอกจากการแบ�คอ+พข�อมู�ล์นอกจากจะใช้�ด2สก�แมู�เหล์�ก (เช้�น ฮีาร�ดด2สก� , ฟล์�อปป;0 ด2สก� หร'อ Trumb drive ) ค1ณยู่+งสามูารถูใช้�ส'�อด2จ2ต้อล์ เช้�น CD-ROM หร'อ DVD ซึ่-�งมู�ราคาถู�กล์งเป.นอยู่�างมูาก ในระบบใหญ�อาจจะมู�เทปเพ'�อการแบ�คอ+พด�วยู่)

Page 66: บทที่  10 โครงสร้างไฟล์ (File System)

66

การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups)การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups) การแบ�คอ+พข�อมู�ล์มู�จ1ดประสงค�หล์+ก 2 ประการค'อ

เพ'�อป=องก+นความูเส�ยู่หายู่ท��เก2ดจากสาเหต้1ต้�าง ๆ เพ'�อป=องก+นการล์บข�อมู�ล์โดยู่ไมู�ได�ต้+ 0งใจ หร'อการล์บข�อมู�ล์จาก

ผู้��ไมู�ประสงค�ด� การแบ�คอ+พข�อมู�ล์อาจต้�องใช้�เวล์าแล์ะงบประมูาณในการ

ซึ่'0ออ1ปกรณ�เพ2�มูเต้2มู แต้�เวล์าแล์ะงบประมูาณท��เส�ยู่ไปจะช้�วยู่ให�ได�ร+บประโยู่ช้น�มูาก จะเห�นได�ช้+ดเจนเมู'�อข�อมู�ล์เก2ดการส�ญหายู่

การแบ�คอ+พข�อมู�ล์อาจจะท�าเฉพาะข�อมู�ล์ท��มู�การเปล์��ยู่นแปล์งต้ล์อดเวล์า เช้�น ระบบธีนาคารท��ข�อมู�ล์เปล์��ยู่นแปล์งท1กว+น

Page 67: บทที่  10 โครงสร้างไฟล์ (File System)

67

การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups)การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups) การบ�บอ+ดข�อมู�ล์ก�อนการแบ�คอ+พข�อมู�ล์ก�จะช้�วยู่ล์ดเวล์าใน

การท�างาน ซึ่-�งป9จจ1บ+นมู�อ1ปกรณ�หร'อซึ่อฟต้�แวร�ท��ใช้�ในการบ�บอ+ดข�อมู�ล์ให�เล์'อกใช้�งานเป.นจ�านวนมูาก แต้�ต้�องมู+�นใจว�าเมู'�อท�าการบ�บอ+ดข�อมู�ล์ล์งไปแล์�วจะต้�องสามูารถูขยู่ายู่ข�อมู�ล์กล์+บมูาใช้�งานได�

การแบ�คอ+พล์งเทปจะไมู�สามูารถูท�าได�ในขณะท��ก�าล์+งแก�ไขข�อมู�ล์ ด+งน+0นในบางระบบจ-งต้�องมู�การแบ�คอ+พข�อมู�ล์เมู'�อเล์2กงานแล์�ว

ไมู�ว�าการแบ�คอ+พข�อมู�ล์จะด�เพ�ยู่งใดจะไมู�เก2ดประโยู่ช้น�ถู�าการร+กษาความูปล์อดภ+ยู่ของข�อมู�ล์ไมู�ด� เช้�น การถู�กขโมูยู่ หร'อเหต้1การณ�ต้�าง ๆ เช้�น ไฟไหมู� น�0าท�วมู เป.นต้�น

Page 68: บทที่  10 โครงสร้างไฟล์ (File System)

68

การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups)การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups) การแบ�คอ+พข�อมู�ล์จากด2สก�ล์งเทป มู� 2 ว2ธี�หล์+ก ๆ

ค'อ การแบ�คอ+พข�อมู�ล์ด�วยู่ว2ธี�ทางกายู่ภาพ

แบ�คอ+พข�อมู�ล์ต้+0งแต้�บล์�อกแรกไปต้ามูล์�าด+บจนถู-งบล์�อกส1ดท�ายู่แล์�วจ+ดเก�บล์งเทป

ข�อด�ค'อสะดวกแล์ะง�ายู่ ข�อเส�ยู่ค'อจะเส�ยู่เวล์ามูากเพราะแบ�คอ+พข�อมู�ล์ท1กบล์�อกถู-ง

แมู�จะเป.นบล์�อกว�าง บล์�อกท��เส�ยู่จะท�าให�เก2ดป9ญหาในการท�างานของระบบปฏิ2บ+ต้2

การในการอ�านข�อมู�ล์ ข�อมู�ล์ท��ยู่+งไมู�ได�ท�า defragment เมู'�อแบ�คอ+พจะกระจายู่

เหมู'อนเด2มู

Page 69: บทที่  10 โครงสร้างไฟล์ (File System)

69

การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups)การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups) การแบ�คอ+พข�อมู�ล์จากด2สก�ล์งเทป มู� 2 ว2ธี�หล์+ก ๆ ค'อ

การแบ�คอ+พข�อมู�ล์ด�วยู่ว2ธี�ทางต้รรกภาพ (Logical dump)

เล์'อกเฉพาะไดเร�กทอร�หร'อไฟล์�ท��ต้�องการแบ�คอ+พได� โดยู่ปกต้2จะท�าการแบ�คอ+พเฉพาะไฟล์�ท��มู�การเปล์��ยู่นแปล์ง

ข�อด�ค'อล์ดเน'0อท��ของส'�อท��ใช้�แบ�คอ+พ ข�อเส�ยู่ค'อการท�างานจะเส�ยู่เวล์าในการต้รวจสอบ แล์ะระบบจะ

ต้�องมู�การท�างานท��ถู�กต้�อง ในระบบ UNIX ใช้�การเก�บบล์�อกแบบไอโหนด ระบบปฏิ2บ+ต้2การ

ต้+0งสมูมู1ต้2ฐานว�ามู�การแบ�คอ+พข�อมู�ล์ท+0งหมูด ในรอบแรกจะต้รวจสอบท1กไดเร�กทอร�แล์ะท1กไฟล์�เพ'�อด�ว+นท��ล์�าส1ด ถู�าไฟล์�ใดเป.นว+นท��ล์�าส1ดจะเก�บไว� ส�วนว+นท��ก�อนหน�าน+0นจะข�ามูไปก�อน

Page 70: บทที่  10 โครงสร้างไฟล์ (File System)

70

การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups)การแบ�คอ�พข�อม้,ล์ การแบ�คอ�พข�อม้,ล์ (Backups)(Backups) การแบ�คอ+พข�อมู�ล์จากด2สก�ล์งเทป มู� 2 ว2ธี�

หล์+ก ๆ ค'อ การแบ�คอ+พข�อมู�ล์ด�วยู่ว2ธี�ทางต้รรกภาพ

(Logical dump) หล์+งจากน+0นจะมู�การต้รวจสอบในรอบท��สอง โดยู่

จะข�ามูไฟล์�ท��มู�การต้รวจสอบไปแล์�ว เมู'�อผู้�านรอบท��สองระบบจะได�ไฟล์�ท��มู�การอ+ปเดทล์�าส1ด แล์ะท�าการแบ�คอ+พไฟล์�เหล์�าน+0นต้ามูต้�องการ

Page 71: บทที่  10 โครงสร้างไฟล์ (File System)

71

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ ความูเร�วในการอ�านข�อมู�ล์จากฮีาร�ดด2สก� ก+บแผู้�น

ฟล์�อปป;0 ด2สก�มู�ความูแต้กต้�างก+น ฮีาร�ดด2สก�อ�านข�อมู�ล์ในอ+ต้รา 10 MB/sec (7200 rpm) แผู้�นฟล์�อปป;0 ด2สก�อ�านข�อมู�ล์ในอ+ต้รา 0.5-1 MB/sec (300

rpm) ระบบจ-งได�มู�การออกแบบเพ'�อให�มู�ประส2ทธี2ภาพส�งส1ด ด+งน�0

การใช้�แคช้ (Caching) การอ�านบล์�อกข�อมู�ล์ไว�ล์�วงหน�า (Block Read Ahead) การล์ดการเคล์'�อนท��ของห+วอ�าน (Reducing Disk Arm

Motion) Log-Structure File Systems

Page 72: บทที่  10 โครงสร้างไฟล์ (File System)

72

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์

Page 73: บทที่  10 โครงสร้างไฟล์ (File System)

73

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ การใช้�แคช้ (Caching)

ล์ดเวล์าท��ใช้�ในการอ�านข�อมู�ล์ อ�านจากหน�วยู่ความูจ�าแทนท��จะอ�านจากด2สก�

โดยู่ต้รง แคช้ มูาจากภาษาฝร+�งเศส Cacher แปล์ว�าหล์บ

ซึ่�อน หร'อก+บด+ก ในคอมูพ2วเต้อร�จะใช้�เก�บรวมูรวมูส2�งท��ใช้�งานบ�อยู่

ๆ การใช้�งานแต้�ล์ะคร+0งจะมูาต้รวจสอบท��หน�วยู่ความู

จ�าส�วนน+0นก�อน ถู�าไมู�พบจะอ�านจากด2สก�มูาเก�บไว�ในแคช้ก�อน

Page 74: บทที่  10 โครงสร้างไฟล์ (File System)

74

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ การใช้�แคช้ (Caching)

ข�อมู�ล์ท��มู+กมู�การเร�ยู่กใช้�เป.นประจ�ามู+กจะเป.นข�อมู�ล์ช้1ดเด2มู ๆ ต้+วอยู่�างเช้�น การค�นหาข�อมู�ล์ทางอ2นเทอร�เน�ต้

การใช้�แคช้จ-งได�ผู้ล์ แล์ะเมู'�อรวมูก+บเทคน2คอ'�น ๆ ท�าให�ประส2ทธี2ภาพส�งข-0น

การน�าต้าราง Hash Table มูาใช้�เป.นเทคน2คอ+นหน-�งท��ใช้�ได�ผู้ล์

ข�อมู�ล์ช้1ดหน-�ง ๆ ท��ต้�องการใช้�งาน อาจจะเป.นข�อมู�ล์ขนาดใหญ� ท�าให�ต้�องเก�บในหล์ายู่ ๆ บล์�อก แล์�วแต้�ขนาดของไฟล์�

ต้าราง Hash Table จะเก�บล์2งค�ของข�อมู�ล์แต้�ล์ะช้1ด ท�าให�อ�านข�อมู�ล์ง�ายู่ แล์ะรวดเร�ว เพราะไมู�ต้�องเส�ยู่เวล์าในการหาบล์�อกท��ต้�อเน'�องก+น

Page 75: บทที่  10 โครงสร้างไฟล์ (File System)

75

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ การใช้�แคช้ (Caching)

บล์�อกท��เร�ยู่กใช้�เป.นประจ�ามู+กจะอยู่��ทางด�านท�ายู่ของหน�วยู่ความูจ�าแคช้ บร2เวณน�0เองท��ถู�กเร�ยู่กว�า MRU (Most Recently Used block)

บล์�อกท��ถู�กอ�านเข�ามูาใหมู�หร'อท��ไมู�ค�อยู่ถู�กใช้�งาน เร�ยู่กว�า LRU (Least Recently Used block )

Page 76: บทที่  10 โครงสร้างไฟล์ (File System)

76

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ การใช้�แคช้ (Caching)

ป9ญหาการใช้�หน�วยู่ความูจ�าแคช้ ในกรณ�ข�อมู�ล์ท��เร�ยู่กคร+0งแรกแล์ะมู�การแก�ไขข�อมู�ล์

ด+งกล์�าวภายู่ในบล์�อกน+0น ๆ อาจถู�กยู่�ายู่ออกจากหน�วยู่ความูจ�าแคช้ท+นท� โดยู่ไมู�ได�บ+นท-กข�อมู�ล์ล์�าส1ดกล์+บล์งด2สก�ก�อน

ข�อมู�ล์ภายู่ในบล์�อกน+0น ใช้�เพ�ยู่งคร+0งเด�ยู่ว แล์ะต้�าแหน�งของบล์�อกน+0นเป.นต้�าแหน�งแรก พร�อมูท��จะถู�กยู่�ายู่ออกไป เมู'�อมู�บล์�อกใหมู�ถู�กอ�านเข�ามูาแทน ในหน�วยู่ความูจ�าแคช้

ท�าให�เก2ดป9ญหาความูน�าเช้'�อถู'อของระบบไฟล์� ล์ดล์งไป

Page 77: บทที่  10 โครงสร้างไฟล์ (File System)

77

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ การใช้�แคช้ (Caching)

ว2ธี�การป9ญหาในเร'�องความูน�าเช้'�อถู'อของระบบ ใช้�ว2ธี�การเก�บข�อมู�ล์ในหน�วยู่ความูจ�าแคช้ให�นานข-0น หร'อเก�บข�อมู�ล์ไว�ในหน�วยู่ความูจ�าแคช้ จนกระท+�ง

ป,ดเคร'�อง ว2ธี�การน�0อาจจะไมู�ได�ผู้ล์เพราะขนาดของหน�วยู่ความู

จ�าแคช้มู�น�อยู่มูากเมู'�อเท�ยู่บก+บหน�วยู่ความูจ�าท��มู�อยู่��

ว2ธี�อ'�นก�ค'อ การเข�ยู่นข�อมู�ล์ล์�าส1ดท��แก�ไขแล์�วล์งในด2สก�ท+นท� ซึ่-�งเป.นการแก�ป9ญหาน�0ได�ด�ท��ส1ด แล์ะมู�ใช้�ในระบบปฏิ2บ+ต้2การหล์ายู่ ๆ ระบบ เช้�น ในระบบของ UNIX แล์ะ MS-DOS

Page 78: บทที่  10 โครงสร้างไฟล์ (File System)

78

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ การอ�านบล์�อกข�อมู�ล์ไว�ล์�วงหน�า (Block Read

Ahead) ว2ธี�การน�0อาศ+ยู่สมูมู1ต้2ฐานท��ว�าข�อมู�ล์ท��ต้�องการมู+กจะถู�ก

เก�บอยู่��ในหล์ายู่ ๆ บล์�อกท��ต้�อเน'�องก+น การเก�บข�อมู�ล์แบบเร�ยู่งล์�าด+บเป.นไปได�ว�าบล์�อกท��ต้�องการ

จะอยู่��ในบล์�อกถู+ดไป ด+งน+0นการอ�านบล์�อกล์�วงหน�า 1บล์�อก จะมู�โอกาส ได�ข�อมู�ล์ซึ่-�งเป.นบล์�อกท��ต้�องการ เน'�องจากเวล์าท��ใช้�ในการหาบล์�อกมูากกว�าการอ�านข�อมู�ล์จากบล์�อกหล์ายู่เท�า ท�าให�เก2ดประส2ทธี2ภาพ

ส�าหร+บระบบการจ+ดเก�บไฟล์�อ'�น ๆ เช้�น การเข�าถู-งแบบส1�มู การอ�านบล์�อกล์�วงหน�าจะใช้�ไมู�ได�ผู้ล์ เพราะบล์�อกด+งกล์�าวไมู�ใช้�ข�อมู�ล์ท��ต้�องการ

Page 79: บทที่  10 โครงสร้างไฟล์ (File System)

79

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ การล์ดการเคล์'�อนท��ของห+วอ�าน (Reducing

Disk Arm Motion)

Page 80: บทที่  10 โครงสร้างไฟล์ (File System)

80

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ การล์ดการเคล์'�อนท��ของห+วอ�าน (Reducing Disk

Arm Motion) ใช้�การควบค1มูควบค��ไปก+บกล์ไกทางด�านฮีาร�ดแวร� โดยู่การควบค1มูห+วอ�านให�มู�การเคล์'�อนท��น�อยู่ท��ส1ด ว2ธี�การน�0

ต้�องอาศ+ยู่การเก�บไฟล์�ข�อมู�ล์ควบค��ก+น การจ+ดเก�บข�อมู�ล์ล์งไฟล์� จะเก�บให�อยู่��ใน Cylinder เด�ยู่วก+น ห+วอ�านจะได�ไมู�ต้�องเคล์'�อนท��

ต้+วแผู้�นด2สก�ซึ่-�งหมู1นอยู่��ต้ล์อดเวล์าสามูารถูอ�าน แล์ะเข�ยู่นได�ถู�าบล์�อกต้�าง ๆ เหล์�าน+0นอยู่�� บนเส�นรอบวงอ+นเด�ยู่วก+น ท�าให�ว2ธี�การน�0สามูารถูล์ดเวล์าในการค�นหาข�อมู�ล์ได� แล์ะล์ดการเคล์'�อนท��ของห+วอ�านด�วยู่

Page 81: บทที่  10 โครงสร้างไฟล์ (File System)

81

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ การล์ดการเคล์'�อนท��ของห+วอ�าน (Reducing Disk Arm

Motion) อาจใช้�เทคน2คอ'�น ๆ เช้�น การก�าหนดขนาดของบล์�อกให�ใหญ�ข-0น ปกต้2ระบบจะเส�ยู่เวล์าไปก+บการค�นหาข�อมู�ล์ไปกว�า 80 เปอร�เซึ่�นต้� ขนาดบล์�อกท��ใหญ�ข-0นท�าให�สามูารถูล์ดเวล์าในการค�นข�อมู�ล์ (seek

time) ได�มูากข-0น ต้+วอยู่�างเช้�น ถู�าเด2มูขนาดขอบล์�อกท��ก�าหนดไว�เท�าก+บ 1 KB ถู�าเพ2�มูเป.น 2 เท�า เป.น 2 KB สามูารถูล์ดเวล์าในการค�นข�อมู�ล์ ได� 1 คร+0ง

สมูมู1ต้2ไฟล์�ท��ต้�องการอ�านมู�ขนาด 12 KB ไฟล์�น�0ต้�องการเน'0อท��ในการเก�บเท�าก+บ 12 บล์�อก ซึ่-�งจากเด2มูต้�องใช้�เวล์าค�นหาถู-ง 12

คร+0ง ก�จะเหล์'อเพ�ยู่ง 6 คร+0งเท�าน+0น เป.นต้�น แต้�ถู�าขนาดของบล์�อกใหญ�เก2นไป จะมู�ผู้ล์กระทบทางด�านอ'�น ๆ เช้�นก+น

โดยู่เฉพาะท�าให�เก2ดเน'0อท��ว�างภายู่ในบล์�อกส1ดท�ายู่ของไฟล์�ข�อมู�ล์

Page 82: บทที่  10 โครงสร้างไฟล์ (File System)

82

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ Log-Structure File Systems

เน�นว2ธี�การแอ�กเซึ่สข�อมู�ล์ให�เร�วท��ส1ด เน'�องจากมู�การพ+ฒนาความูเร�วซึ่�พ�ยู่� หน�วยู่ความู

จ�า แล์ะหน�วยู่ความูจ�าแคช้ ซึ่-�งล์�วนแต้�มู�ความูเร�วส�งกว�าด2สก�ท+0งน+0น

ระบบน�0อาศ+ยู่ความูได�เปร�ยู่บของความูเร�วอ1ปกรณ� โดยู่การอ�านกล์1�มูข�อมู�ล์ท��ต้�องการล์งมูาในหน�วยู่

ความูจ�าไว�ล์�วงหน�าท��เร�ยู่กว�า Log ท�าให�ไมู�เส�ยู่เวล์าในการหาข�อมู�ล์จากด2สก�

Page 83: บทที่  10 โครงสร้างไฟล์ (File System)

83

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ Log-Structure File Systems

ระบบไฟล์�ท+�วไป อ�าน/เข�ยู่นข�อมู�ล์= 50 ไมูโครว2นาท� , หาข�อมู�ล์= 10 มู2ล์ล์2ว2นท� แล์ะการยู่�ายู่ห+วอ�าน= 4 มู2ล์ล์2ว2นาท�

การรวบรวมูบล์�อกข�อมู�ล์ไว�เป.นก�อนเด�ยู่วก+นจะช้�วยู่เพ2�มูประส2ทธี2ภาพให�ก+บระบบ

LFS จ-งถู�กน�ามูาใช้�ในระบบปฏิ2บ+ต้2การต้�าง ๆ เช้�น UNIX จะใช้�หล์+การด+งกล์�าว โดยู่ก�อปป;0 บล์�อกข�อมู�ล์เป.นช้1ดใหมู�ให�รวมูเป.น log เด�ยู่วก+น (โดยู่เก�บไว�ในหน�วยู่ความูจ�าท��ว�าง ) การรวบรวมูบล์�อกเหล์�าน�0ด�ได�จากต้ารางไอโหนด

Page 84: บทที่  10 โครงสร้างไฟล์ (File System)

84

ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ป็ระส.ทธ.ภาพของระบบไฟล์ Log-Structure File Systems

การเอ�กเซึ่สไฟล์�ข�อมู�ล์เก2ดข-0นต้ล์อดเวล์าท�าให�ขนาดของ log เปล์��ยู่นแปล์งได�ต้ล์อดเวล์า แล์ะอาจจะไมู�เพ�ยู่งพอในการใช้�งานอยู่�างต้�อเน'�อง

เน'0อท�� Log สามูารถูหมู1นเว�ยู่นน�ากล์+บมูาใช้�ใหมู�ได�ต้ล์อดเวล์า

ท1กคร+0งท��มู�การหมู1นเว�ยู่น ข�อมู�ล์ท��อยู่��ใน Log ท��แก�ไข จะถู�กเข�ยู่นกล์+บในด2สก�ท+นท� ท�าให�ระบบไฟล์�เก2ดความูน�าเช้'�อถู'อต้ล์อดเวล์า

Page 85: บทที่  10 โครงสร้างไฟล์ (File System)

85

ตั้�วอย่�างระบบไฟล์ตั้�วอย่�างระบบไฟล์ตั้�วอย่�างระบบไฟล์ตั้�วอย่�างระบบไฟล์ ระบบไฟล์�ของซึ่�ด�รอมู (CD-ROM File

System) ระบบไฟล์�ของ Windows 98 ระบบไฟล์�ของ UNIX