You are on page 1of 85

บทที่ 6

การจ ัดการไฟล์
(File Management)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 1
การจ
การจั ดการไฟล
ั ดการไฟล์ ์
 ขณะทำงานข้ อมูลจะถูกเก็บอยูใ่ นหน่วยความจำในแอ็ดเดรส
เฉพาะ
 เนื่องจากเมื่อไม่ได้ ใช้ งานข้ อมูลจะสูญหายไปทันทีที่ปิดเครื่ อง จึง

มีความจำเป็ นที่จะต้ องมีสื่อจัดเก็บข้ อมูลเหล่านัน้


 ในการจัดเก็บข้ อมูลจะต้ องมีการกำหนดชื่อเพื่อแทนกลุม ่ ข้ อมูลที่
จัดเก็บ
 ชื่อที่ใช้ แทนกลุม
่ ข้ อมูลก็คือชื่อไฟล์ (File) นัน่ เอง

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 2
ไฟล
ไฟล์ ์
 ไฟล์ข้อมูล (file) หมายถึง สิง่ ที่บรรจุข้อมูลต่าง ๆ ไว้ ในที่เดียวกัน
อาจหมายถึงโปรแกรมหรื ออะไรก็ตามที่ต้องการเก็บไว้ ด้วยกัน
 ระบบปฏิบต ั ิการมีหน้ าที่จดั การให้ ผ้ ใู ช้ ติดต่อไฟล์ โดยผู้ใช้ ไม่ต้อง
อ้ างถึงแอ็ดเดรสของไฟล์นนั ้ ๆ โดยตรง
 ในระบบปฏิบต ั ิการจะมีโอเปอร์ เรชันที่เรี ยกว่า System call เป็ น
ตัวจัดการที่เกี่ยวข้ องกับไฟล์ เช่น การสร้ างไฟล์ การลบไฟล์ การ
อ่าน/เขียนไฟล์ เป็ นต้ น

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 3
ั ง ช่ ่ื อไฟล
การต้ ั ้ งชื อ
การต ไฟล์ ์
 จุดประสงค์ในการออกแบบระบบปฏิบตั ิการอย่างหนึง่ คือต้ องการ
ที่จะให้ ผ้ ใู ช้ เป็ นอิสระจากอุปกรณ์ใด ๆ (device independent)
ดังนันในการเข้
้ าถึงไฟล์ข้อมูลใด ๆ จะต้ องมีรูปแบบเดียวกัน
 ผู้ใช้ ไม่จำเป็ นต้ องกำหนดรายละเอียดเกี่ยวกับแอ็ดเดรส เพียงแค่

ระบุชื่อและนามสกุลของไฟล์ให้ ถกู ต้ องก็เพียงพอแล้ ว


 การกำหนดชื่อของไฟล์ ในแต่ละระบบปฏิบต ั ิการมีความแตกต่าง
กันอยูพ่ อควร แต่สว่ นใหญ่แล้ วจะมีข้อกำหนดที่ใกล้ เคียงกัน

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 4
ั ง ช่ ่ื อไฟล
การต้ ั ้ งชื อ
การต ไฟล์ ์
 ระบบปฏิบตั ิการบางตัวกำหนดให้ การตังชื ้ ่อโดยขึ ้นต้ นด้ วยอักษร และตามด้ วยตัวเลข หรื อตัวอักษรไม่เกิน 8 ตัว
 บางระบบกำหนดการตังชื ้ ่อทำได้ โดยอิสระแต่ไม่เกิน 255 ตัว
 ในบางระบบ การตังชื ้ ่อด้ วยอักษรตัวใหญ่ และตัวเล็กไม่เหมือนกัน เช่นใน UNIX การตังชื ้ ่อถ้ าเป็ นตัวใหญ่ และตัวเล็กจะ
ถือว่าเป็ นคนละชื่อกัน ตัวอย่างเช่น Name, NAME, name กรณีของ UNIX จะถือว่าทัง้ 3 ไฟล์แตกต่างกัน แต่สำหรับ MS-
DOS หรื อ Windows จะหมายถึงไฟล์เดียวกัน
 ระบบส่วนใหญ่ชื่อไฟล์จะมี 2 ส่วนคือชื่อและส่วนขยายโดยคัน่ ด้ วยจุด (.) โดยชื่อจะมีขนาด 1-8 ตัวอักษร เช่น report.doc
เป็ นต้ น แต่บางระบบมีสว่ นขยายได้ มากกว่า 1 ส่วน เช่น prog.c.Z เป็ นต้ น

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 5
ตตั วอย า งช่ ่ื อไฟล
ั วอย่ ่างชื อ ไฟล์ ์

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 6
โครงสร
โครงสร้ า้ างไฟล
งไฟล์ ์
 การจัดโครงสร้ างไฟล์ที่ใช้ กน
ั โดยทัว่ ไปมี 3 วิธี
แบบไบต์ เรี ยงต่ อกัน
มีการเก็บเป็ นไบต์เรี ยงต่อ ๆ กันไป ดังเช่นใน
ระบบปฏิบตั ิการของ UNIX และ Windows การ
เก็บไฟล์ในลักษณะนี ้เป็ นแบบที่ไม่มีโครงสร้ างใน
การจัดเก็บ ไฟล์ที่ถกู สร้ างใหม่จะถูกนำมาเรี ยง
ต่อกันไปเรื่ อย ๆ จนเต็มเนื ้อที่ โดยที่ตวั ระบบ
ปฏิบตั ิการแทบจะไม่ทำหน้ าที่อะไรเลย

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 7
โครงสร
โครงสร้ า้ างไฟล
งไฟล์ ์
เก็บเป็ นเรกคอร์ ด
โดยมีขนาดของเรกคอร์ ดคงที่ ในแต่ละไฟล์จะ
ถูกจัดเก็บอยูใ่ นรูปของเรกคอร์ ดจัดเรี ยงกันไป
ตามลำดับจนถึงเรกคอร์ ดสุดท้ าย ซึง่ ในเรก
คอร์ ดสุดท้ ายอาจจะไม่เต็มเรกคอร์ ดก็ได้ ใน
การอ่านและเขียนจะทำไปทีละเรกคอร์ ด ใน
บางระบบอาจจะกำหนดให้ แต่ละเรกคอร์ ดมี
ขนาดเท่ากับ 80 อักษร ซึง่ เท่ากับ 1 บรรทัด
พอดี เช่นในระบบปฏิบตั ิการ CP/M

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 8
โครงสร
โครงสร้ า้ างไฟล
งไฟล์ ์
เก็บเป็ นแบบต้ นไม้ หรือทรี (tree)
แต่ละบล็อกจะประกอบไปด้ วย
เรกคอร์ ด โดยมีขนาดของเรกคอร์ ด
ขึ ้นอยูก่ บั ปั จจัยหลายประการ เช่น
ขนาดของไฟล์ข้อมูล เวลาที่ใช้ ใน
การเข้ าถึงข้ อมูล (access time)
เป็ นต้ น วิธีนี ้ใช้ ในระบบปฏิบตั ิการ
หลายเครื่ องด้ วยกัน

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 9
ไดเร็
ไดเร็กกทอรี
ทอรี
 ระบบปฏิบตั ิการทุกตัวจะต้ องมีสารบัญที่เก็บรวบรวมรายชื่อของไฟล์
ทังหมดไว้
้ ในที่เดียวกัน เพื่อให้ ผ้ ใู ช้ สามารถตรวจสอบดูไฟล์ต่าง ๆ ได้
 สิง่ ที่ทำหน้ าที่จดั เก็บเรี ยกว่า “ไดเร็กทอรี ” (Directory) ในบางระบบ
อาจจะเรี ยก “โฟลเดอร์ ” (Folder)
 ไดเร็กทอรี เองก็ถือว่าเป็ นไฟล์อีกประเภทหนึง่
 โครงสร้ างในไดเร็ กทอรี ประกอบไปด้ วยหน่วยย่อยหลาย ๆ หน่วย ใน
แต่ละหน่วยก็อาจจะมีโครงสร้ างเดียวกับมันก็ได้ หรื ออาจจะประกอบ
ด้ วยไฟล์เดี่ยวย่อย ๆ อยูภ่ ายในก็ได้

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 10
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 ระบบไดเร็กทอรี เดี่ยว (Single-Level Directory Systems)
 ระบบไดเร็ กทอรี เดี่ยวเป็ นระบบที่มีโครงสร้ างที่งา่ ยที่สดุ
 ภายในระบบจะมีอยูเ่ พียงไดเร็กทอรี เดียวและรวบรวมไฟล์ทกุ ไฟล์
ไว้ ที่เดียวกัน
 ทุกไฟล์จะจัดเก็บอยูใ่ นระดับเดียวกัน
 ไม่สะดวกสำหรับผู้ใช้ หลาย ๆ คน แต่ละคนมีหลายไฟล์ ไฟล์หลาก
หลายชนิดต้ องอยูป่ ะปนกันทำให้ ไม่สะดวกในการค้ นหา
 ในกรณีที่มีการสร้ างไฟล์ให้ มีชื่อเดียวกันกับที่มีอยูก่ ่อนนันอาจ

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

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 11
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 ระบบไดเร็กทอรี เดี่ยว (Single-Level Directory Systems)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 12
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 ระบบไดเร็กทอรี 2 ระดับ (Two-Level Directory Systems)
 แก้ ไขปั ญหาของระบบไดเร็กทอรี เดี่ยวได้
 การจัดโครงสร้ างไดเร็กทอรี 2 ระดับ จะกำหนดให้ ผ้ ใู ช้ แต่ละคน
สามารถสร้ างไดเร็กทอรี ยอ่ ยของตนได้ เรี ยกว่า “สับไดเร็กทอรี “
(Sub-directory) หรื อไดเร็กทอรี ยอ่ ย 1 ก็ได้
 แต่ละสับไดเร็ กทอรี จะอยูภ่ ายใต้ ไดเร็กทอรี รากเดียวกัน (root
directory)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 13
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 ระบบไดเร็กทอรี 2 ระดับ (Two-Level Directory Systems)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 14
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 ระบบไดเร็กทอรี หลายระดับ (Hierarchical Directory
Systems)
 สามารถแก้ ปัญหาระบบไดเร็กทอรี ทงั ้ 2 ระบบได้
 อาจจะเรี ยกโครงสร้ างแบบนี ้เป็ น “โครงสร้ างต้ นไม้ ” (Tree
structure) ผู้ใช้ สามารถสร้ างไดเร็กทอรี ขึ ้นมาได้ โดยไม่จำกัดอยูใ่ น
ไดเร็ กทอรี เดียวกัน
 ระบบไฟล์ในปั จจุบนั ใช้ โครงสร้ างไดเร็กทอรี แบบนี ้ เพราะสามารถ
แก้ ปัญหาที่มีอยูไ่ ด้ ทงหมด
ั้

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 15
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 ระบบไดเร็กทอรี หลายระดับ (Hierarchical Directory Systems)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 16
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 ชื่อพาธ (Path name)
 ในการอ้ างถึงไฟล์ใด ๆ จำเป็ นต้ องระบุที่อยูข่ องไฟล์นนั ้ ๆ ให้ ถกู
ต้ อง ว่าอยูใ่ นไดเร็กทอรี หรื อสับไดเร็กทอรี ใด
 การกำหนดที่อยูห่ รื อเส้ นทางที่จะเข้ าไปถึงไฟล์นนั ้ ๆ เรี ยกว่า
“พาธ” (path)
 ปกติคณ ุ สามารถสร้ างชื่อไฟล์ช้ำกันได้ ในกรณีที่ไฟล์เหล่านันอยู้ ่
ต่างไดเร็ กทอรี กนั
 การบอกพาธจะทำให้ ระบบทราบว่าคุณกำลังอ้ างถึงไฟล์ใดและอยู่
ที่ไหนในระบบ

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 17
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 วิธีอ้างถึงชื่อไฟล์นนมี
ั ้ อยู่ 2 วิธี
 การอ้ างชื่อไฟล์แบบสัมบูรณ์ (absolute path name)
 การอ้ างชื่อแบบสัมพัทธ์ (relative path name)

 การอ้ างชื่อไฟล์แบบสัมบูรณ์ เป็ นการอ้ างถึงไฟล์โดยเริ่ มต้ นจากราก


(root) เสมอตามด้ วยชื่อสับไดเร็ กทอรี ยอ่ ยต่าง ๆ ไล่ลงมาตาม
ลำดับชันของไดเร็
้ กทอรี ที่สร้ างขึ ้นจนกระทัง่ ถึงไดเร็ กทอรี ที่ไฟล์บรรจุ
อยู่ และจบลงด้ วยชื่อไฟล์นนั ้
 ใน Windows (MS DOS) \user\lib\dict.doc
 ใน UNIX /user/lib/dict.doc
 ใน MULTICS <user>lib>dict.doc

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 18
รูปแบบโครงสร ้างไดเร็กทอรีของ UNIX
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 19
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 การอ้ างถึงชื่อไฟล์แบบสัมพัทธ์
 ผู้ใช้ จะต้ องทราบไดเร็กทอรี ปัจจุบนั (current directory) ก่อน
 ปกติผ้ ใู ช้ สามารถอ้ างถึงไฟล์ใด ๆ จากไดเร็ กทอรี ปัจจุบน ั ได้ โดยตรงและ
ยังสามารถย้ ายการทำงานจากไดเร็กทอรี ปัจจุบนั ไปยังไดเร็กทอรี ใด ๆ
ของดิสก์ได้
 วิธีการในการอ้ างชื่อพาธแบบสัมพัทธ์ จะเริ่ มต้ นจากไดเร็ กทอรี ปัจจุบน ั ไล่
ไปตามลำดับชันของไดเร็
้ กทอรี ที่ไฟล์นนอยู
ั ้ แ่ ละจบลงด้ วยชื่อไฟล์นนั ้ ๆ
 สมมุติไดเร็ กทอรี ปัจจุบน ั คือ usr (ตามรูป) ถ้ าต้ องการอ้ างถึงไฟล์
dict.doc จะต้ องอ้ างด้ วย lib\dict.doc และถ้ าไดเร็กทอรี ปัจจุบนั คือ lib
คุณสามารถอ้ างชื่อไฟล์ dict.doc โดยตรงได้ เลย

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 20
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 การอ้ างถึงชื่อไฟล์แบบสัมพัทธ์
 ในกรณีทีไฟล์ที่คณ ุ ต้ องการอ้ างถึงไฟล์ที่อยูค่ นละแขนงของทรี จำเป็ นที่จะ
ต้ องใช้ สญ
ั ลักษณ์ .. เข้ ามาช่วย เช่นถ้ าต้ องการอ้ างถึงไฟล์ math.h ใน
ไดเร็กทอรี bin ในขณะที่ไดเร็กทอรี ปัจจุบนั อยู่ที่ lib
 สามารถอ้ างได้ ด้วย ..\..\bin\math.h

 สัญลักษณ์ .. ในกรณีนี ้หมายถึงไดเร็ กทอรี ที่อยูเ่ หนือขึ ้นไปหนึง่ ระดับ


 ส่วนสัญลักษณ์ . จะหมายถึงไดเร็ กทอรี ปัจจุบน ั ตัวอย่างการใช้ ได้ แก่กรณี
ที่ต้องการ copy ไฟล์ math.h มาเก็บไว้ ในไดเร็กทอรี lib ซึง่ เป็ นไดเร็กทอรี
ปั จจุบนั คุณสามารถใช้ คำสัง่ copy \bin\math.h ได้ ทนั ที
 ข้ อสังเกต ถ้ าอ้ างถึงไฟล์โดยตรงจะใช้ \ หรื อ / แต่ถ้าเป็ นการอ้ างแบบ

สัมพัทธ์จะขึ ้นต้ นไดเร็กทอรี ยอ่ ย หรื อชื่อไฟล์โดยตรง

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 21
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 คำสั่งของไดเร็กทอรี (DIRECTORY OPERATIONS)
 คำสัง่ ต่าง ๆ ที่ใช้ เกี่ยวกับไดเร็กทอรี มีอยูม่ ากมายหลายคำสัง่ ทังนี
้ ้
ก็ขึ ้นอยูก่ บั แต่ละระบบปฏิบตั ิการ
 คำสัง่ ต่าง ๆ จะมีชื่อคล้ าย ๆ กัน เช่นในระบบปฏิบตั ิการ UNIX มี
คำสัง่ ต่าง ๆ ที่เกี่ยวกับไดเร็กทอรี เช่น Create, Delete, Opendir,
Closedir, Readdir, Rename หรื อ Link

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 22
การทำงานของระบบไฟล
การทำงานของระบบไฟล์ ์
 มุมมองในระบบไฟล์มองได้ เป็ น 2 มุมมอง
 มุมมองของผู้ใช้ ในมุมมองนี ้ผู้ใช้ ร้ ูเพียง
 จะตังชื ้ ่อไฟล์อย่างไร
 ข้ อกำหนดในการตังชื ้ ่อ ซึง่ ผู้ใช้ จะต้ องข้ อกำหนดในการตังชื
้ ่อไฟล์ของ
แต่ละระบบปฏิบตั ิการ
 ผู้ใช้ จะต้ องรู้ คำสัง่ ต่าง ๆ (Operation) ของไฟล์ว่ามีคำสัง่ อะไรบ้ าง
 โครงสร้ างของไดเร็ กทอรี ของแต่ละระบบไฟล์เป็ นอย่างไร

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 23
การทำงานของระบบไฟล
การทำงานของระบบไฟล์ ์
 มุมมองของผู้สร้ างระบบไฟล์ ในมุมมองนี ้ผู้สร้ างจะต้ อง
 รู้และเข้ าใจว่าไฟล์และไดเร็กทอรี ตา่ ง ๆ ที่สร้ างขึ ้นมาถูกจัดเก็บลงบน
ดิสก์อย่างไร
 ทราบวิธีจด ั สรรเนื ้อที่ดิสก์วา่ เป็ นอย่างไร เพื่อให้ สามารถจัดเก็บข้ อมูล
ได้ มากที่สดุ และคงประสิทธิภาพสูงสุด
 สร้ างความเชื่อมัน่ ให้ กบั ผู้ใช้ ว่าข้ อมูลที่มีการบันทึกใส่ลงบนดิสก์แล้ วจะ
ไม่สญู หายไปไหน
 วิเคราะห์เพื่อหาจุดที่เหมาะสมในการสร้ างระบบแต่ละระบบที่มีตว ั แปร
ต่าง ๆ ที่ไม่เหมือนกัน

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 24
โครงสร
โครงสร้ า้ างระบบไฟล
งระบบไฟล์ ์
 ระบบไฟล์ทกุ ๆ ระบบจำเป็ นต้ องมีการจัดเก็บข้ อมูลลงบนสื่อต่าง ๆ ที่ใช้
เก็บข้ อมูล
 ในปั จจุบนั สื่อเหล่านี ้มีหลายชนิดได้ แก่ แผ่นดิสก์ เทป ซีดีรอม เป็ นต้ น
 สื่อที่เป็ นที่นิยมแพร่หลาย และมีราคาถูก ได้ แก่ ดิสก์
 โครงสร้ างของระบบดิสก์สนับสนุนการเข้ าถึงข้ อมูลแบบสุม่ (Random
access)
 โครงสร้ างดิสก์สามารถแบ่งพาร์ ติชนั ในการเก็บข้ อมูลได้ แต่ละพาร์ ติชนั
มีความเป็ นอิสระต่อกัน
 สามารถกำหนดให้ แต่ละพาร์ ติชนั มีระบบปฏิบตั ิการที่ตา่ งกันได้ อีกด้ วย

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 25
โครงสร
โครงสร้ า้ างระบบไฟล
งระบบไฟล์ ์
 ภายในดิสก์จะถูกแบ่งออกเป็ นเซ็กเตอร์ (Sector) เริ่มต้ นจากเซ็กเตอร์ 0
ซึง่ ถือว่าเป็ น Master Boot Record (MBR) ที่ใช้ เก็บค่าเริ่ มต้ นของระบบ
ปฏิบตั ิการสำหรับการบูตเครื่ องคอมพิวเตอร์ เมื่อเริ่มต้ นใช้ งาน
 ตอนท้ ายของเซ็กเตอร์ ประกอบด้ วยตารางพาร์ ติชนั (Partition table) ซึง่
จะเก็บแอ็ดเดรสเริ่ มต้ น และแอ็ดเดรสสุดท้ ายของแต่ละพาร์ ติชนั เอาไว้
 ในแต่ละพาร์ ติชนั จะประกอบไปด้ วย Boot block โปรแกรมใน Boot
block จะทำหน้ าที่ในการโหลดระบบปฏิบตั ิการในพาร์ ติชนั ออกมา
ทำงาน

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 26
โครงสร
โครงสร้ า้ างระบบไฟล
งระบบไฟล์ ์
 ทุก ๆ พาร์ ติชนั จะมี Boot block เป็ นของตัวเอง แต่ว่าในพาร์ ติชนั อาจจะ
ไม่มีระบบปฏิบตั ิการก็ได้
 โครงสร้ างภายในแต่ละพาร์ ติชนั จะแตกต่างกันขึ ้นอยูก่ บั ระบบปฏิบตั ิ
การที่ใช้ อยูซ่ งึ่ จะกำหนดโครงสร้ างของไฟล์ในดิสก์ในขณะที่ทำการ
ฟอร์ แมตดิสก์

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 27
โครงสร
โครงสร้ า้ างระบบไฟล
งระบบไฟล์ ์

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 28
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 สิง่ สำคัญสำหรับการจัดเก็บไฟล์ข้อมูลลงบนสื่อเก็บข้ อมูลคือ จะต้ อง
ทราบว่าแต่ละไฟล์มีการเก็บอย่างไร เก็บไว้ ที่ไหน และสามารถเรี ยกออก
มาใช้ งานได้ อย่างไร
 ไฟล์ตา่ ง ๆ เหล่านันมี
้ การจัดเก็บทังไฟล์
้ หรื อแต่ละไฟล์ถกู แยกเก็บเป็ น
บล็อก และบล็อกต่าง ๆ เหล่านันจั้ ดเรี ยงกันอย่างไร

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 29
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 การจัดเก็บข้ อมูลแบบต่ อเนื่อง (Contiguous allocation)
 เป็ นวิธีการจัดเก็บข้ อมูลของไฟล์แบบที่งา่ ยที่สดุ
 แต่ละไฟล์จะถูกแบ่งออกเป็ นบล็อก แต่ละบล็อกมีขนาดเท่า ๆ กัน
เพื่อง่ายในการบริหารและการเก็บข้ อมูล
 วิธีการนี ้ไฟล์ข้อมูลจะแบ่งออกเป็ นบล็อกเก็บลงบนดิสก์อย่างต่อ
เนื่องทังไฟล์

 เช่น ถ้ ากำหนดขนาดของบล็อกบนดิสก์ไว้ เท่า ๆ กันที่ 1 KB ถ้ าไฟล์
ข้ อมูล A มีขนาด 50 KB ดังนันสำหรั
้ บไฟล์ข้อมูล A จะต้ องใช้ 50
บล็อก โดยจะเก็บแบบต่อเนื่องเริ่มจากบล็อกที่ 1 ถึงบล็อกที่ 50

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 30
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 การจัดเก็บข้ อมูลแบบต่ อเนื่อง (Contiguous allocation)
 ถ้ าข้ อมูลของไฟล์ใดเก็บในบล็อกสุดท้ ายไม่เต็ม ไฟล์ตอ่ ไปจะต้ อง
เก็บในบล็อกถัดไปเท่านัน้ ไม่สามารถเก็บลงบล็อกของไฟล์อื่นได้
 ข้ อดีในการเก็บข้ อมูลแบบต่อเนื่องที่สำคัญมีอยู่ 2 ประการ คือ
 เป็ นการจัดเก็บข้ อมูลแบบที่งา่ ยที่สดุ และสะดวกที่สดุ เนื่องจากใช้ เนื ้อ
ต่อเนื่องกันไป ระบบสามารถบันทึกการเก็บข้ อมูลด้ วยการบันทึกบล็อก
แรก และบล็อกสุดท้ ายก็เพียงพอแล้ ว ภายในต่อเนื่องกันอยูแ่ ล้ ว
 สร้ างประสิทธิภาพได้ สงู สุดในการค้ นหาข้ อมูล เนื่องจากการจัดเก็บ

บล็อกข้ อมูลเรี ยงต่อเนื่องจึงไม่เสียเวลาในการค้ นหาบล็อกทุก ๆ บล็อก


เพียงแต่หาบล็อกแรกพบก็สามารถอ่านข้ อมูลได้ ทงไฟล์ ั ้ แล้ ว

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 31
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 การจัดเก็บข้ อมูลแบบต่ อเนื่อง (Contiguous allocation)
 ข้ อเสียของการเก็บข้ อมูลแบบนี ้ก็คือ ถ้ าจำนวนไฟล์ข้อมูลเพิ่ม
จำนวนมากขึ ้น หรื อขนาดของข้ อมูลเมื่อมีการแก้ ไขมีขนาดใหญ่ขึ ้น
ทำให้ ไม่สามารถหาเนื ้อที่ในการบรรจุไฟล์ข้อมูลดังกล่าวได้ เนื่องจาก
มีการจัดเก็บแบบต่อเนื่องกันไป
 ถ้ ามีการแก้ ไขแล้ วทำให้ ขนาดของไฟล์ใหญ่ขึ ้น ต้ องย้ ายไปเก็บที่อื่น

 ทำให้ เกิดเนื ้อที่วา


่ งกระจายอยูท่ วั่ ไป (Fragment) ทำให้ ไม่สามารถหา
เนื ้อที่วา่ งในการเก็บข้ อมูล
 การแก้ ไขข้ อเสียดังกล่าวทำได้ โดยการใช้ สื่อประเภทซีดีรอม เนื่องจาก

ยอมให้ จดั เก็บข้ อมูลเพียงครัง้ เดียว (Read Only)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 32
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 33
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 การจัดเก็บข้ อมูลแบบลิงค์ ลิสต์ (Link List Allocation)
 วิธีการนี ้มีการแบ่งไฟล์ออกเป็ นบล็อก ๆ
 การจัดเก็บเนื ้อที่ของแต่ละบล็อกจะไม่ตอ่ เนื่องเหมือนวิธีการจัด
เรี ยงกันอย่างต่อเนื่อง
 แต่ละบล็อกจะถูกเชื่อมโยงกันด้ วยพอยเตอร์ ตังแต่ ้ บล็อกแรกจน
กระทังบล็
้ อกสุดท้ ายของไฟล์ข้อมูลนัน้ ๆ
 ทำให้ ไม่เสียเนื ้อที่วา่ งภายในดิสก์ ยกเว้ นมีเนื ้อที่วา่ งในแต่ละบล็อก
ซึง่ จะมีมากน้ อยเพียงใดขึ ้นอยูก่ บั การหาขนาดที่เหมาะสมของ
บล็อกข้ อมูล และจะเกิดกับบล็อกสุดท้ ายของแต่ละไฟล์เท่านัน้

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 34
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 การจัดเก็บข้ อมูลแบบลิงค์ ลิสต์ (Link List Allocation)
 ข้ อเสียที่สำคัญคือเสียเวลากับการค้ นหาแต่ละบล็อกข้ อมูล
เนื่องจากแต่ละบล็อกอยูก่ ระจัดกระจายทัว่ ไปบนดิสก์
 วิธีการเก็บข้ อมูลแบบนี ้ยังเสียเนื ้อที่ไปกับพอยเตอร์ ที่ทำหน้ าที่ชี ้ไป
ยังบล็อกต่าง ๆ ด้ วย
 ในขณะที่ระบบทำการอ่านข้ อมูลระบบจะต้ องทำการก็อปปี ต้ าราง
บันทึกการจัดเก็บไฟล์ที่เรี ยกว่า FAT (File Allocation Table) ลง
บนหน่วยความจำก่อนที่จะทำการอ่านข้ อมูลจากดิสก์

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 35
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 การจัดเก็บข้ อมูลแบบลิงค์ ลิสต์ (Link List Allocation)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 36
A = 4-7-2-10-12

B = 6-3-11-14

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 37
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 ไอโหนด (I-nodes หรือ Index node)
 ใช้ ในระบบปฏิบตั ิการ UNIX โดยการสร้ างตารางเล็กเรี ยกว่า “ไอ
โหนด” (I-node) ให้ กบั แต่ละไฟล์
 ไอโหนดจะเก็บข้ อมูลต่าง ๆ ที่เกี่ยวข้ องกับไฟล์เอาไว้
 ภายในไอโหนดจะมีหมายเลขบล็อก 4 แบบ
 แบบ direct 10 หมายเลข
 แบบ single direct 1 หมายเลข
 แบบ double direct 1 หมายเลข

 แบบ triple direct 1 หมายเลข

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 38
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 ไอโหนด (I-nodes หรือ Index node)
 ไฟล์ข้อมูลขนาดไม่เกิน 10 KB
 หมายถึงแต่ละหมายเลขจะเก็บหมายเลขของแต่ละบล็อกไว้ 10 บล็อก
 ถ้ าแต่ละบล็อก มีขนาด 1 KB ทัง้ 10 หมายเลข จะเก็บข้ อมูลได้ 10 KB

 ถ้ าขนาดไฟล์ข้อมูลไม่ เกิน 10 KB จะสามารถใช้ ไอโหนดแบบ direct


ก็เพียงพอแล้ ว

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 39
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 ไอโหนด (I-nodes หรือ Index node)
 ไฟล์ข้อมูลขนาดใหญ่กว่า 10 KB แต่ไม่เกิน 266 KB (10+256 KB)
 จะมีหมายเลขบล็อกแบบ direct 10 หมายเลข และแบบ single direct
1 หมายเลข
 แบบ direct 10 หมายเลข สามารถอ้ างจำนวนบล็อกได้ 10 บล็อก บวก

กับ single direct สมมุติวา่ 1 หมายเลขของ single direct มีขนาด 1


KB (1024 byte) แต่ละบล็อกใช้ พอยเตอร์ 4 ไบต์ ในการเชื่อมโยงแต่ละ
บล็อกเป็ นลิงค์ลสิ ต์ของไฟล์ข้อมูลเข้ าด้ วยกัน ดังนันในแต่
้ ละบล็อก
สามารถเก็บจำนวนลิงค์ได้ เท่ากับ 1024 /4 = 256 หมายเลข

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 40
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 ไอโหนด (I-nodes หรือ Index node)
 ไฟล์ข้อมูลขนาดใหญ่กว่า 266 KB แต่ไม่เกิน 65802 KB (10+256
+ (256*256)KB)
 จะมีหมายเลขบล็อกแบบ direct 10 หมายเลข, แบบ single direct 1
หมายเลข และแบบ double direct 1 หมายเลข
 สำหรับแบบ double direct สามารถใช้ เก็บจำนวนบล็อกได้ ถง
ึ 256 *
256 บล็อก

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 41
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
 ไอโหนด (I-nodes หรือ Index node)
 ไฟล์ข้อมูลขนาดใหญ่กว่าเกินกว่า 65802 KB
 ใช้ ไอโหนดแบบ triple direct 1 หมายเลข
 สามารถเพิ่มจำนวนบล็อกได้ อีก 256*256*256 ซึง
่ จะเท่ากับ 16 GB

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 42
โครงสร ้าง I-node ของ Unix
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 43
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 ไดเร็กทอรี ใช้ เป็ นที่เก็บรวบรวมไฟล์ข้อมูลต่าง ๆ เข้ าไว้ ด้วยกัน
 ก่อนที่จะเปิ ดไฟล์เพื่อทำการใด ๆ จะต้ องทราบว่าไฟล์ตา่ ง ๆ เหล่านันเก็ ้ บ
อยูท่ ี่ใด หรื อในไดเร็ กทอรี ใด
 ผู้ใช้ จะต้ องระบุพาธของไดเร็กทอรี นนเสีั ้ ยก่อน เพื่อเป็ นการระบุบล็อกต่าง
ๆ ที่เก็บไว้ ในไดเร็ กทอรี นนั ้
 แต่ละไฟล์ที่เก็บในไดเร็กทอรี สามารถเข้ าถึงบล็อกต่าง ๆ ของไฟล์ได้ โดย
การอ้ างชื่อไฟล์
 ไฟล์หนึง่ ๆ จะมีชื่อเรี ยกได้ เพียงชื่อเดียว หรื อไม่ก็ใช้ น ามสกุลเป็ นการแยก
ประเภทของไฟล์

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 44
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 การสร้ างไฟล์เป็ นการจัดสรรเนื ้อที่บนดิสก์ไห้ กบั ไฟล์นนั ้
 ไดเร็กทอรี จำเป็ นจะต้ องรู้และสามารถตรวจสอบได้ ว่าไฟล์ในไดเร็ กทอรี
ของตัวเองนันเก็
้ บอยู่ที่ใด ทำให้ ต้องมีตารางบันทึกไฟล์ตา่ ง ๆ เอาไว้
 ภายในตารางไดเร็ กทอรี จะประกอบไปด้ วยชื่อไฟล์ และคุณลักษณะไฟล์
(File attribute) ว่าเป็ นไฟล์ประเภทใด เก็บอยูใ่ นบล็อกใด
 รูปแบบการเก็บชื่อไฟล์และคุณลักษณะของไฟล์มี 2 แบบ
 เก็บชื่อไฟล์และคุณลักษณะไฟล์ไว้ ด้วยกัน

 เก็บชื่อไฟล์และพอยเตอร์ ของไฟล์ไปยังบล็อกต่าง ๆ

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 45
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 การเก็บชื่อไฟล์ และคุณลักษณะไฟล์ไว้ ด้วยกันนี ้
 ภายในตารางแต่ละไฟล์จะเก็บชื่อไฟล์ที่มีขนาด
ตามที่กำหนดไว้ ขนาดหนึง่ (ใน MS-DOS 8.3)
ตามด้ วยคุณลักษณะไฟล์จะบอกถึงบล็อกต่าง ๆ
ที่ใช้ เก็บไฟล์มีจำนวนบล็อกเท่าไรจะถูกระบุลงไป
ในตารางด้ วยกัน
 ไฟล์ยิ่งมีขนาดใหญ่ จำนวนบล็อกที่ใช้ ยิ่งเพิ่มขึ ้น
ตามขนาดของไฟล์
 เกิดปั ญหาว่าจะกำหนดขนาดของตารางนี ้อย่างไร

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 46
โครงสร้
โครงสร้าางไดเร็
งไดเร็กกทอรี
ทอรี
 เก็บชื่อไฟล์และพอยเตอร์ ไฟล์ไว้ ด้วยกัน
 วิธีนี ้ทำให้ ขนาดข้ อมูลในตาราง File
attribute มีขนาดคงที่
 พอยเตอร์ ในตารางจะชี ้ไปยังเนื ้อที่ที่เรี ยก
ว่า “ฮีพ” (heap) ซึง่ ใช้ เก็บบล็อกต่าง ๆ
ของไฟล์ ทำให้ ขนาดของไฟล์ ใหญ่เท่าใด
ก็ได้ จะไม่มีผลต่อการจัดเก็บในตาราง
 เนื ้อที่บริ เวณฮีพเป็ นการจองเนื ้อที่แบบ
ไดนามิก ซึง่ จะมีการจองและคืนเนื ้อที่อยู่
ตลอดเวลา

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 47
การใช
การใช้ ไ้ ไฟล
ฟลร์ ร์ ่ ว่ วมม
 ถ้ ามีผ้ ใู ช้ ไฟล์ในระบบหลาย ๆ คน --> ก็อปปี ไ้ ฟล์เหล่านี ้ให้ ทกุ คน
 วิธีการนี ้ไม่สะดวกและทำให้ เปลืองเนื ้อที่จดั เก็บเป็ นอย่างมาก
 ถ้ ามีผ้ ใู ช้ คนใดคนหนึง่ ต้ องการแก้ ไขไฟล์นี ้ ก็จะต้ องไปบอกกับทุก ๆ คน
ให้ ทำการแก้ ไขตามไปด้ วยหรื อไม่ก็ให้ มาก็อบปี ไ้ ฟล์นี ้ไปใหม่
 ทำให้ เสียเวลา และเกิดความยากลำบากในการทำงาน ถ้ าไม่ประสาน
งานกันให้ ดีจะทำให้ เกิดข้ อผิดพลาดและเกิดความเสียหายได้
 วิธีแก้ ปัญหานี ้คือการใช้ งานในลักษณะ “ไฟล์ ร่วม” (shared files)
 โดยเก็บไฟล์ที่ใช้ งานร่วมกันนี ้ไว้ ในไดเร็กทอรี่ ที่เป็ นส่วนกลางให้ ทกุ คน
สามารถเข้ าถึงได้ --> สะดวกและประหยัดเวลาในการทำงาน

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 48
link

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 49
การใช
การใช้ ไ้ ไฟล
ฟลร์ ร์ ่ ว่ วมม
 ไฟล์ในไดเร็ กทอรี A และในไดเร็กทอรี B จะถูกใช้ ร่วมกันด้ วยการเชื่อม
ต่อระหว่างไดเร็ กทอรี A และไฟล์ในไดเรกทอรี B เรี ยกการ “ลิงค์ ” (link)
 โครงสร้ างของระบบไดเร็กทอรี เปลี่ยนไปไม่เป็ นแบบต้ นไม้
 แต่จะเป็ นโครงสร้ างที่เรี ยกว่า Direct Acyclic Graph หรื อ DAG
 วิธีการลิงค์ขึ ้นอยูกบั โครงสร้ างไดเร็กทอรี ของระบบไฟล์
 ใน UNIX สามารถทำการลิงค์ได้ ง่ายมากด้ วยการกำหนดชื่อไฟล์และก็
อบปี ไ้ อโหนดไปยังไดเร็กทอรี ที่ต้องการใช้ ไฟล์ร่วมกัน พร้ อมกับการเพิ่ม
จำนวนลิงค์ลงไปที่ไอโหนด
 ทำให้ เข้ าถึงไฟล์ข้อมูลเดียวกันได้ ทงหมด
ั้

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 50
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 51
การใช
การใช้ ไ้ ไฟล
ฟลร์ ร์ ่ ว่ วมม
 ใน UNIX ระบบจะทราบว่ามีไดเร็กทอรี จำนวนเท่าไรที่มาใช้ ไฟล์
ร่วมกันโดยค่า count ในไอโหนดจะเพิ่มขึ ้นตามจำนวนลิงค์ที่
เชื่อมเข้ ามาไฟล์นนั ้
 การลบไฟล์ในไฟล์ร่วม UNIX จะลดจำนวนลิงค์ในไอโหนด ทุก

ครัง้ ที่มีการลดจำนวนลิงค์คา่ count ที่อยูใ่ นไอโหนดก็จะลดลง


จนกระทัง่ เป็ น ค่า count= 0 หมายความว่าไม่มีไดเร็ กทอรี ใด
ต้ องการใช้ ไฟล์นนอี
ั ้ กแล้ ว บล็อกข้ อมูลเหล่านันก็
้ ถกู นำไปใช้ กบั
ไฟล์อื่น ๆ อีกต่อไป

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 52
การใช
การใช้ ไ้ ไฟล
ฟลร์ ร์ ่ ว่ วมม
 การลิงค์ไฟล์อีกวิธีหนึง่ คือการลิงค์เชิงสัญลักษณ์ (symbolic
linking )
 สมมติวา ่ B ต้ องการลิ ้งค์ไฟล์ a ซึง่ เป็ นของ A ระบบจะสร้ างไฟล์
ขึ ้นมาใหม่มีชื่อว่า A\a เก็บไว้ โดยมีสว่ นขยายเป็ น Link และถูก
เก็บไว้ ในไดเร็ กทอรี ของ B เมื่อ B ต้ องการเข้ าถึงไฟล์ a ระบบจะ
ทำการเข้ าไปอ่านข้ อมูลในไดเร็กทอรี ซงึ่ เป็ นของ A ตามชื่อพาธที่
ได้ กำหนดในลิงค์

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 53
ั ดการเนื อที่
การจัดการเนื้ ้ อทีว่ วา่ า่ งภายในดิ
การจ งภายในดิสสกก์ ์
 การจัดการเนื ้อที่วา่ งภายในดิสก์เป็ นสิง่ สำคัญในการออกแบบ
ระบบการเก็บข้ อมูล
 การจัดเก็บข้ อมูลที่อยูใ่ นรู ปไฟล์ ได้ 2 วิธีด้วยกันคือ
 การเก็บไฟล์ทงหมดไว้
ั้ ในเนื ้อที่เดียวกัน --> เกิดปั ญหาการขยาย
เนื ้อที่เมื่อไฟล์มีขนาดใหญ่ขึ ้นไม่สามารถเก็บไว้ ตำแหน่งเดิมได้ ไฟล์
ที่อยูข่ ้ างเคียงไม่สามารถเคลื่อนย้ ายได้
 การแบ่งออกเป็ นบล็อก ๆ ละเท่า ๆ กันแล้ วเก็บกระจายในดิสก์ -->
สะดวกกว่าสำหรับการขยายตัวเมื่อไฟล์ใหญ่ขึ ้น

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 54
ั ดการเนื อที่
การจัดการเนื้ ้ อทีว่ วา่ า่ งภายในดิ
การจ งภายในดิสสกก์ ์
 ขนาดของบล็อกเป็ นสิง่ จำเป็ นในการเพิ่มประสิทธิภาพของคอมพิวเตอร์
และทำให้ การใช้ เนื ้อที่ในดิสก์เกิดความคุ้มค่าที่สดุ
 ถ้ าขนาดของบล็อกใหญ่เกินไปแต่ขนาดไฟล์ข้อมูลมีเพียงไม่กี่ไบต์จะ
ทำให้ สิ ้นเปลืองเนื ้อที่มากเพราะในการเก็บข้ อมูลแต่ละครัง้ จะต้ องใช้
เนื ้อที่ทงบล็
ั ้ อก สมมติว่าบล็อกมีขนาด 1 กิโลไบต์ ในขนาดที่ไฟล์ข้อมูลมี
เพียง 100 ไบต์ ทำเสียเนื ้อที่วา่ งภายในดิสก์ไปเกือบ 90 เปอร์ เซ็นต์
 แต่ถ้าถ้ าบล็อกมีขนาด 1 กิโลไบต์ แต่ในขนาดที่ไฟล์ข้อมูลมีถงึ 50 กิโล
ไบต์ จะใช้ เนื ้อที่ในการเก็บข้ อมูลถึงไฟล์ละ 50 บล็อก แต่ละบล็อกไม่ได้
จัดเรี ยงในที่เดียวกันจึงทำให้ เสียเวลาในการหา (seek time) ข้ อมูล

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 55
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 56
เปรียบเทียบการจัดเก็บข ้อมูลแบบ FAT16 และ FAT32

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 57
เปรียบเทียบการจัดเก็บข ้อมูลแบบ FAT16 และ FAT32

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 58
การเก็
การเก็บบรวบรวมเนื
รวบรวมเนือ้ อ้ ทีที่ ว่ ว่ า่ างภายในดิ
งภายในดิสสก์ก์
 หลังจากกำหนดขนาดของบล็อกได้ แล้ ว สิง่ สำคัญอีกประการ
หนึง่ คือการจัดเตรี ยมบล็อกที่วา่ งภายในดิสก์ไว้ สำหรับเก็บไฟล์
ข้ อมูลที่ต้องการ
 วิธีที่ใช้ ในการรวบรวมบล็อกว่างภายในดิสก์มี 2 วิธีคือ
 การใช้ ลงิ ค์ลสิ ต์ (link list)
 การใช้ บิตแม็ป (bit map)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 59
การเก็
การเก็บบรวบรวมเนื
รวบรวมเนือ้ อ้ ทีที่ ว่ ว่ า่ างภายในดิ
งภายในดิสสก์ก์
 การใช้ ลงิ ค์ลสิ ต์ (link list)
 เนื ้อที่วา่ งจะถูกรวบรวมเป็ นสายเพื่อจัดเตรี ยมให้ นำไปจัดสรรเป็ นไฟล์ที่ใช้ เก็บ
ข้ อมูล
 สมมุติแบ่งขนาดของบล็อกไว้ เป็ นขนาดเท่า ๆ กันบล็อกละ 1 KB และกำหนด
ขนาดของหมายเลขประจำบล็อกไว้ เท่ากับ 2 ไบต์
 แต่ละบล็อกใช้ เก็บหมายเลขบล็อก ได้ 1024/2 เท่ากับ 512 บล็อก (ถ้ ามี
จำนวนบล็อกมากกว่า 512 บล็อกจะต้ องใช้ บล็อกเก็บหมายเลขมากกว่า
1 บล็อก)
 ในกรณีที่มี 512 บล็อก จะใช้ เก็บหมายเลขเพียง 511 หมายเลข เนื่องจาก
หมายเลขสุดท้ ายจะใช้ เก็บบล็อกหมายเลขถัดไป

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 60
1 2 3 N
...
แบ่งบล็อกละ 1K ในทีน ่ ใี้ ห ้
บล็อก 1 เป็ นบล็อก
กำหนดหมายเลข สว่ น
บล็อก 2 ถึง N เป็ นบล็อก
เก็บข ้อมูล
1 2 3 511 512

1024/2 = 512 บล็อก


 หมายเลขบล็อกทีม
่ ข
ี นาด 2 ไบต์ จะอ ้างอิงจำนวนบล็อก
ได ้ = 216 = 65536 บล็อก
 ถ ้าแต่ละบล็อกมีขนาด 1K --> ฮาร์ดส ิ ก์ขนาดสูงสุดได ้ = 216
* 210 = 64 MB
 ถ ้ากำหนดขนาดของบล็อกเก็บหมายเลขไว ้ที่ 4 ไบต์ -->
ระบบปฏิ
232 บล็อกบต ั -->ก
ิ เก็
ารบ(Operating
ข ้อมูลได ้ = 232*210 = 4096 GB = 4TB
Systems) 61
การเก็
การเก็บบรวบรวมเนื
รวบรวมเนือ้ อ้ ทีที่ ว่ ว่ า่ างภายในดิ
งภายในดิสสก์ก์
 การใช้ บิตแมป (bit map)
 ดิสก์ถกู แบ่งออกเป็ น n บล็อก โดยจะใช้ n บิตในการตรวจสอบ
 ถ้ าบล็อกใดว่างค่าของบิตจะกำหนดเป็ น 0
 ถ้ าบิตใดใช้ เก็บข้ อมูลค่าของบิตจะกำหนดเป็ น 1
 การใช้ บิตแมปจะประหยัดเนื ้อที่เก็บหมายเลขบล็อกได้ มากกว่าลิงค์ลสิ ต์
 เช่นในดิสก์ขนาด 20MB ถ้ ากำหนดขนาดบล็ออกเท่ากับ 1KB -->ในดิสก์มี
20 กิโลบล็อก
 ถ้ าใช้ บิตแมปจะเสียเนื ้อที่เก็บหมายเลขบล็อกเท่ากับ 20 กิโลบิต = 2.5 KB
 ถ้ าใช้ ลงิ ค์ลสิ ต์จะใช้ เนื ้อที่ในดิสก์ถงึ 16 เท่าถ้ ากำหนดขนาดพอยเตอร์ ไว้ ที่ 2
ไบต์

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 62
ความน่
ความน่าาเชื
เชื่ อ่ อถืถืออของระบบไฟล์
ของระบบไฟล์
 ความน่าเชื่อของระบบไฟล์สร้ างความเชื่อมัน่ ให้ กบั ผู้ใช้ งานว่า
ข้ อมูลจะไม่สญ ู หายไปไหน
 ไฟล์ข้อมูลมีความสำคัญมากกว่าอุปกรณ์ ฮาร์ ดแวร์
 ถ้ าข้ อมูลมีการสูญหายแต่มีการแบ็คอัพข้ อมูลไว้ แล้ วก็สามารถ

นำกลับมาใช้ งานใหม่ได้ แต่ถ้าไม่มีการแบ็คอัพก็จะไม่สามารถ


นำกลับมาใช้ งานได้ อีก
 ถ้ าเป็ นอุปกรณ์ฮาร์ ดแวร์ เสียหายก็สามารถซื ้อมาทดแทนได้
 ตัวอย่าง กล่องดำบนเครื่ องบิน

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 63
ความน่
ความน่าาเชื
เชื่ อ่ อถืถืออของระบบไฟล์
ของระบบไฟล์
 ระบบไฟล์ควรมีระบบการป้องกันไฟล์ถกู ทำลาย อาจจะเป็ นทาง
ด้ านฮาร์ ดแวร์ หรื อซอฟต์แวร์ ก็ได้
 สื่อที่ใช้ เก็บข้ อมูลอาจจะเกิดความเสียหายในบล็อกที่ใช้ เก็บ

ข้ อมูลเมื่อใช้ งานเป็ นเวลานาน


 การแก้ ไขอาจะทำได้ โดยเก็บข้ อมูลบล็อกที่เสียเหล่านันในตาราง

ก่อนการบันทึกข้ อมูลจะต้ องมาทำการตรวจสอบก่อน และต้ องไม่
นำมาใช้ ในการเก็บข้ อมูลอีก
 อีกวิธีหนึง ่ คือเก็บข้ อมูลที่ไม่ต้องการลงในบล็อกที่เสียเหล่านัน้

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 64
การแบ็
การแบ็คคอัอัพพข้ข้ออมูมูลล (Backups)
(Backups)
 การแบ็คอัพข้ อมูลมีความสำคัญ ถึงแม้ จะเสียเวลาบ้ างแต่ก็ดีกว่า
ถ้ าข้ อมูลต้ องสูญหายไป
 การทำแบ็คอัพจะบ่อยหรื อไม่ขึ ้นอยูก ่ บั ความสำคัญของข้ อมูล
และมีการแก้ ไขข้ อมูลนันบ่
้ อยหรื อไม่เพียงใด
 ปั จจุบนั นอกจากการแบ็คอัพข้ อมูลนอกจากจะใช้ ดิสก์แม่เหล็ก
(เช่น ฮาร์ ดดิสก์, ฟล็อปปี ด้ ิสก์ หรื อ Trumb drive) คุณยัง
สามารถใช้ สื่อดิจิตอล เช่น CD-ROM หรื อ DVD ซึง่ มีราคาถูกลง
เป็ นอย่างมาก ในระบบใหญ่อาจจะมีเทปเพื่อการแบ็คอัพด้ วย)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 65
การแบ็
การแบ็คคอัอัพพข้ข้ออมูมูลล (Backups)
(Backups)
 การแบ็คอัพข้ อมูลมีจดุ ประสงค์หลัก 2 ประการคือ
 เพื่อป้องกันความเสียหายที่เกิดจากสาเหตุตา่ ง ๆ
 เพื่อป้องกันการลบข้ อมูลโดยไม่ได้ ตงใจ
ั ้ หรื อการลบข้ อมูลจากผู้ไม่
ประสงค์ดี
 การแบ็คอัพข้ อมูลอาจต้ องใช้ เวลาและงบประมาณในการซื ้ออุปกรณ์
เพิ่มเติม แต่เวลาและงบประมาณที่เสียไปจะช่วยให้ ได้ รับประโยชน์
มาก จะเห็นได้ ชดั เจนเมื่อข้ อมูลเกิดการสูญหาย
 การแบ็คอัพข้ อมูลอาจจะทำเฉพาะข้ อมูลที่มีการเปลี่ยนแปลงตลอด

เวลา เช่น ระบบธนาคารที่ข้อมูลเปลี่ยนแปลงทุกวัน


ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 66
การแบ็
การแบ็คคอัอัพพข้ข้ออมูมูลล (Backups)
(Backups)
 การบีบอัดข้ อมูลก่อนการแบ็คอัพข้ อมูลก็จะช่วยลดเวลาในการทำงาน ซึง่
ปั จจุบนั มีอปุ กรณ์หรื อซอฟต์แวร์ ที่ใช้ ในการบีบอัดข้ อมูลให้ เลือกใช้ งาน
เป็ นจำนวนมาก แต่ต้องมัน่ ใจว่าเมื่อทำการบีบอัดข้ อมูลลงไปแล้ วจะต้ อง
สามารถขยายข้ อมูลกลับมาใช้ งานได้
 การแบ็คอัพลงเทปจะไม่สามารถทำได้ ในขณะที่กำลังแก้ ไขข้ อมูล ดังนัน้
ในบางระบบจึงต้ องมีการแบ็คอัพข้ อมูลเมื่อเลิกงานแล้ ว
 ไม่วา่ การแบ็คอัพข้ อมูลจะดีเพียงใดจะไม่เกิดประโยชน์ถ้าการรักษา
ความปลอดภัยของข้ อมูลไม่ดี เช่น การถูกขโมย หรื อเหตุการณ์ตา่ ง ๆ
เช่น ไฟไหม้ น้ำท่วม เป็ นต้ น

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 67
การแบ็
การแบ็คคอัอัพพข้ข้ออมูมูลล (Backups)
(Backups)
 การแบ็คอัพข้ อมูลจากดิสก์ลงเทป มี 2 วิธีหลัก ๆ คือ
 การแบ็คอัพข้ อมูลด้ วยวิธีทางกายภาพ
 แบ็คอัพข้ อมูลตังแต่ ้ บล็อกแรกไปตามลำดับจนถึงบล็อกสุดท้ ายแล้ วจัด
เก็บลงเทป
 ข้ อดีคือสะดวกและง่าย
 ข้ อเสียคือจะเสียเวลามากเพราะแบ็คอัพข้ อมูลทุกบล็อกถึงแม้ จะเป็ น

บล็อกว่าง
 บล็อกที่เสียจะทำให้ เกิดปั ญหาในการทำงานของระบบปฏิบต ั ิการใน
การอ่านข้ อมูล
 ข้ อมูลที่ยงั ไม่ได้ ทำ defragment เมื่อแบ็คอัพจะกระจายเหมือนเดิม

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 68
การแบ็
การแบ็คคอัอัพพข้ข้ออมูมูลล (Backups)
(Backups)
 การแบ็คอัพข้ อมูลจากดิสก์ลงเทป มี 2 วิธีหลัก ๆ คือ
 การแบ็คอัพข้ อมูลด้ วยวิธีทางตรรกภาพ (Logical dump)
 เลือกเฉพาะไดเร็กทอรี หรื อไฟล์ที่ต้องการแบ็คอัพได้ โดยปกติจะทำการแบ็
คอัพเฉพาะไฟล์ที่มีการเปลี่ยนแปลง
 ข้ อดีคือลดเนื ้อที่ของสื่อที่ใช้ แบ็คอัพ

 ข้ อเสียคือการทำงานจะเสียเวลาในการตรวจสอบ และระบบจะต้ องมีการ

ทำงานที่ถกู ต้ อง
 ในระบบ UNIX ใช้ การเก็บบล็อกแบบไอโหนด ระบบปฏิบต ั ิการตังสมมุ
้ ติฐาน
ว่ามีการแบ็คอัพข้ อมูลทังหมด ้ ในรอบแรกจะตรวจสอบทุกไดเร็กทอรี และทุก
ไฟล์เพื่อดูวนั ที่ลา่ สุด ถ้ าไฟล์ใดเป็ นวันที่ลา่ สุดจะเก็บไว้ ส่วนวันที่ก่อนหน้ านัน้
จะข้ ามไปก่อน

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 69
การแบ็
การแบ็คคอัอัพพข้ข้ออมูมูลล (Backups)
(Backups)
 การแบ็คอัพข้ อมูลจากดิสก์ลงเทป มี 2 วิธีหลัก ๆ คือ
 การแบ็คอัพข้ อมูลด้ วยวิธีทางตรรกภาพ (Logical dump)
 หลังจากนันจะมี
้ การตรวจสอบในรอบที่สอง โดยจะข้ ามไฟล์ที่มีการ
ตรวจสอบไปแล้ ว เมื่อผ่านรอบที่สองระบบจะได้ ไฟล์ที่มีการอัปเดท
ล่าสุด และทำการแบ็คอัพไฟล์เหล่านันตามต้
้ องการ

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 70
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 ความเร็ วในการอ่านข้ อมูลจากฮาร์ ดดิสก์ กับแผ่นฟล็อปปี ด้ ิสก์มี
ความแตกต่างกัน
 ฮาร์ ดดิสก์อ่านข้ อมูลในอัตรา 10 MB/sec (7200 rpm)
 แผ่นฟล็อปปี ด้ ิสก์อ่านข้ อมูลในอัตรา 0.5-1 MB/sec (300 rpm)
 ระบบจึงได้ มีการออกแบบเพื่อให้ มีประสิทธิภาพสูงสุด ดังนี ้
 การใช้ แคช (Caching)
 การอ่านบล็อกข้ อมูลไว้ ลว่ งหน้ า (Block Read Ahead)
 การลดการเคลื่อนที่ของหัวอ่าน (Reducing Disk Arm Motion)
 Log-Structure File Systems

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 71
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 72
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 การใช้ แคช (Caching)
 ลดเวลาที่ใช้ ในการอ่านข้ อมูล
 อ่านจากหน่วยความจำแทนที่จะอ่านจากดิสก์โดยตรง
 แคช มาจากภาษาฝรั่งเศส Cacher แปลว่าหลบซ่อน หรื อกับดัก
 ในคอมพิวเตอร์ จะใช้ เก็บรวมรวมสิง่ ที่ใช้ งานบ่อย ๆ
 การใช้ งานแต่ละครัง้ จะมาตรวจสอบที่หน่วยความจำส่วนนันก่
้ อน
 ถ้ าไม่พบจะอ่านจากดิสก์มาเก็บไว้ ในแคชก่อน

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 73
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 การใช้ แคช (Caching)
 ข้ อมูลที่มกั มีการเรี ยกใช้ เป็ นประจำมักจะเป็ นข้ อมูลชุดเดิม ๆ
ตัวอย่างเช่น การค้ นหาข้ อมูลทางอินเทอร์ เน็ต
 การใช้ แคชจึงได้ ผล และเมื่อรวมกับเทคนิคอื่น ๆ ทำให้
ประสิทธิภาพสูงขึ ้น
 การนำตาราง Hash Table มาใช้ เป็ นเทคนิคอันหนึง่ ที่ใช้ ได้ ผล
 ข้ อมูลชุดหนึง่ ๆ ที่ต้องการใช้ งาน อาจจะเป็ นข้ อมูลขนาดใหญ่ ทำให้
ต้ องเก็บในหลาย ๆ บล็อก แล้ วแต่ขนาดของไฟล์
 ตาราง Hash Table จะเก็บลิงค์ของข้ อมูลแต่ละชุด ทำให้ อา ่ นข้ อมูล
ง่าย และรวดเร็ว เพราะไม่ต้องเสียเวลาในการหาบล็อกที่ตอ่ เนื่องกัน

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 74
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 การใช้ แคช (Caching)
 บล็อกที่เรี ยกใช้ เป็ นประจำมักจะอยูท่ างด้ านท้ ายของหน่วยความจำแคช
บริ เวณนี ้เองที่ถกู เรี ยกว่า MRU (Most Recently Used block)
 บล็อกที่ถกู อ่านเข้ ามาใหม่หรื อที่ไม่คอ่ ยถูกใช้ งาน เรี ยกว่า LRU (Least
Recently Used block )

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 75
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 การใช้ แคช (Caching)
 ปั ญหาการใช้ หน่วยความจำแคช
 ในกรณีข้อมูลที่เรี ยกครัง้ แรกและมีการแก้ ไขข้ อมูลดังกล่าวภายใน
บล็อกนัน้ ๆ อาจถูกย้ ายออกจากหน่วยความจำแคชทันที โดยไม่ได้
บันทึกข้ อมูลล่าสุดกลับลงดิสก์ก่อน
 ข้ อมูลภายในบล็อกนัน ้ ใช้ เพียงครัง้ เดียว และตำแหน่งของบล็อกนัน้
เป็ นตำแหน่งแรก พร้ อมที่จะถูกย้ ายออกไป เมื่อมีบล็อกใหม่ถกู อ่าน
เข้ ามาแทน ในหน่วยความจำแคช
 ทำให้ เกิดปั ญหาความน่าเชื่อถือของระบบไฟล์ ลดลงไป

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 76
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 การใช้ แคช (Caching)
 วิธีการปั ญหาในเรื่ องความน่าเชื่อถือของระบบ
 ใช้ วิธีการเก็บข้ อมูลในหน่วยความจำแคชให้ นานขึ ้น
 หรื อเก็บข้ อมูลไว้ ในหน่วยความจำแคช จนกระทัง่ ปิ ดเครื่ อง
 วิธีการนี ้อาจจะไม่ได้ ผลเพราะขนาดของหน่วยความจำแคชมีน้อย

มากเมื่อเทียบกับหน่วยความจำที่มีอยู่
 วิธีอื่นก็คือ การเขียนข้ อมูลล่าสุดที่แก้ ไขแล้ วลงในดิสก์ ทน
ั ที ซึง่
เป็ นการแก้ ปัญหานี ้ได้ ดีที่สดุ และมีใช้ ในระบบปฏิบตั ิการหลาย ๆ
ระบบ เช่น ในระบบของ UNIX และ MS-DOS

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 77
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 การอ่านบล็อกข้ อมูลไว้ ลว่ งหน้ า (Block Read Ahead)
 วิธีการนี ้อาศัยสมมุติฐานที่วา่ ข้ อมูลที่ต้องการมักจะถูกเก็บอยูใ่ น
หลาย ๆ บล็อกที่ตอ่ เนื่องกัน
 การเก็บข้ อมูลแบบเรี ยงลำดับเป็ นไปได้ วา่ บล็อกที่ต้องการจะอยูใ่ น
บล็อกถัดไป ดังนันการอ่
้ านบล็อกล่วงหน้ า 1 บล็อก จะมีโอกาส ได้
ข้ อมูลซึง่ เป็ นบล็อกที่ต้องการ เนื่องจากเวลาที่ใช้ ในการหาบล็อก
มากกว่าการอ่านข้ อมูลจากบล็อกหลายเท่า ทำให้ เกิดประสิทธิภาพ
 สำหรับระบบการจัดเก็บไฟล์อื่น ๆ เช่น การเข้ าถึงแบบสุม่ การอ่าน
บล็อกล่วงหน้ าจะใช้ ไม่ได้ ผล เพราะบล็อกดังกล่าวไม่ใช่ข้อมูลที่
ต้ องการ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 78
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 การลดการเคลื่อนที่ของหัวอ่าน (Reducing Disk Arm Motion)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 79
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 การลดการเคลื่อนที่ของหัวอ่าน (Reducing Disk Arm Motion)
 ใช้ การควบคุมควบคูไ่ ปกับกลไกทางด้ านฮาร์ ดแวร์
 โดยการควบคุมหัวอ่านให้ มีการเคลื่อนที่น้อยที่สดุ วิธีการนี ้ต้ อง
อาศัยการเก็บไฟล์ข้อมูลควบคูก่ นั การจัดเก็บข้ อมูลลงไฟล์ จะเก็บ
ให้ อยูใ่ น Cylinder เดียวกัน หัวอ่านจะได้ ไม่ต้องเคลื่อนที่
 ตัวแผ่นดิสก์ซงึ่ หมุนอยูต่ ลอดเวลาสามารถอ่าน และเขียนได้ ถ้า
บล็อกต่าง ๆ เหล่านันอยู
้ ่ บนเส้ นรอบวงอันเดียวกัน ทำให้ วิธีการนี ้
สามารถลดเวลาในการค้ นหาข้ อมูลได้ และลดการเคลื่อนที่ของหัว
อ่านด้ วย

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 80
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 การลดการเคลื่อนที่ของหัวอ่าน (Reducing Disk Arm Motion)
 อาจใช้ เทคนิคอื่น ๆ เช่น การกำหนดขนาดของบล็อกให้ ใหญ่ขึ ้น
 ปกติระบบจะเสียเวลาไปกับการค้ นหาข้ อมูลไปกว่า 80 เปอร์ เซ็นต์
 ขนาดบล็อกที่ใหญ่ขึ ้นทำให้ สามารถลดเวลาในการค้ นข้ อมูล (seek time) ได้ มาก
ขึ ้น ตัวอย่างเช่น ถ้ าเดิมขนาดขอบล็อกที่กำหนดไว้ เท่ากับ 1 KB ถ้ าเพิ่มเป็ น 2 เท่า
เป็ น 2KB สามารถลดเวลาในการค้ นข้ อมูล ได้ 1 ครัง้
 สมมุติไฟล์ที่ต้องการอ่านมีขนาด 12 KB ไฟล์นี ้ต้ องการเนื ้อที่ในการเก็บเท่ากับ 12
บล็อก ซึง่ จากเดิมต้ องใช้ เวลาค้ นหาถึง 12 ครัง้ ก็จะเหลือเพียง 6 ครัง้ เท่านัน้
เป็ นต้ น
 แต่ถ้าขนาดของบล็อกใหญ่เกินไป จะมีผลกระทบทางด้ านอื่น ๆ เช่นกัน โดยเฉพาะ
ทำให้ เกิดเนื ้อที่วา่ งภายในบล็อกสุดท้ ายของไฟล์ข้อมูล

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 81
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 Log-Structure File Systems
 เน้ นวิธีการแอ็กเซสข้ อมูลให้ เร็วที่สดุ
 เนื่องจากมีการพัฒนาความเร็วซีพียู หน่วยความจำ และหน่วย
ความจำแคช ซึง่ ล้ วนแต่มีความเร็วสูงกว่าดิสก์ทงนั
ั ้ น้
 ระบบนี ้อาศัยความได้ เปรี ยบของความเร็วอุปกรณ์
 โดยการอ่านกลุม่ ข้ อมูลที่ต้องการลงมาในหน่วยความจำไว้ ลว่ ง
หน้ าที่เรี ยกว่า Log
 ทำให้ ไม่เสียเวลาในการหาข้ อมูลจากดิสก์

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 82
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 Log-Structure File Systems
 ระบบไฟล์ทวั่ ไป อ่าน/เขียนข้ อมูล=50 ไมโครวินาที,
หาข้ อมูล=10 มิลลิวินที และการย้ ายหัวอ่าน=4 มิลลิวินาที
 การรวบรวมบล็อกข้ อมูลไว้ เป็ นก้ อนเดียวกันจะช่วยเพิ่ม
ประสิทธิภาพให้ กบั ระบบ
 LFS จึงถูกนำมาใช้ ในระบบปฏิบตั ิการต่าง ๆ เช่น UNIX จะใช้ หลักา
รดังกล่าว โดยก็อปปี บ้ ล็อกข้ อมูลเป็ นชุดใหม่ให้ รวมเป็ น log
เดียวกัน (โดยเก็บไว้ ในหน่วยความจำที่วา่ ง) การรวบรวมบล็อก
เหล่านี ้ดูได้ จากตารางไอโหนด

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 83
ประสิ
ประสิททธิธิภภาพของระบบไฟล์
าพของระบบไฟล์
 Log-Structure File Systems
 การเอ็กเซสไฟล์ข้อมูลเกิดขึ ้นตลอดเวลาทำให้ ขนาดของ log
เปลี่ยนแปลงได้ ตลอดเวลา และอาจจะไม่เพียงพอในการใช้ งาน
อย่างต่อเนื่อง
 เนื ้อที่ Log สามารถหมุนเวียนนำกลับมาใช้ ใหม่ได้ ตลอดเวลา
 ทุกครัง้ ที่มีการหมุนเวียน ข้ อมูลที่อยูใ่ น Log ที่แก้ ไข จะถูกเขียน
กลับในดิสก์ทนั ที ทำให้ ระบบไฟล์เกิดความน่าเชื่อถือตลอดเวลา

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 84
ตัตัววอย่
อย่าางระบบไฟล์
งระบบไฟล์
 ระบบไฟล์ของซีดีรอม (CD-ROM File System)
 ระบบไฟล์ของ Windows 98
 ระบบไฟล์ของ UNIX

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 85

You might also like