Professional Documents
Culture Documents
การจ ัดการไฟล์
(File Management)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 1
การจ
การจั ดการไฟล
ั ดการไฟล์ ์
ขณะทำงานข้ อมูลจะถูกเก็บอยูใ่ นหน่วยความจำในแอ็ดเดรส
เฉพาะ
เนื่องจากเมื่อไม่ได้ ใช้ งานข้ อมูลจะสูญหายไปทันทีที่ปิดเครื่ อง จึง
ระบบปฏิบต
ั ก
ิ าร (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)
ระบบปฏิบต
ั ก
ิ าร (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
ระบบปฏิบต
ั ก
ิ าร (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)
ข้ อเสียของการเก็บข้ อมูลแบบนี ้ก็คือ ถ้ าจำนวนไฟล์ข้อมูลเพิ่ม
จำนวนมากขึ ้น หรื อขนาดของข้ อมูลเมื่อมีการแก้ ไขมีขนาดใหญ่ขึ ้น
ทำให้ ไม่สามารถหาเนื ้อที่ในการบรรจุไฟล์ข้อมูลดังกล่าวได้ เนื่องจาก
มีการจัดเก็บแบบต่อเนื่องกันไป
ถ้ ามีการแก้ ไขแล้ วทำให้ ขนาดของไฟล์ใหญ่ขึ ้น ต้ องย้ ายไปเก็บที่อื่น
ระบบปฏิบต
ั ก
ิ าร (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 หมายเลข
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 38
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
ไอโหนด (I-nodes หรือ Index node)
ไฟล์ข้อมูลขนาดไม่เกิน 10 KB
หมายถึงแต่ละหมายเลขจะเก็บหมายเลขของแต่ละบล็อกไว้ 10 บล็อก
ถ้ าแต่ละบล็อก มีขนาด 1 KB ทัง้ 10 หมายเลข จะเก็บข้ อมูลได้ 10 KB
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 39
วิวิธธี กี การจ
ารจั ดเก
ั ดเก็ บ
็ บขข้ อ้ อมูมูลลของไฟล
ของไฟล์ ์
ไอโหนด (I-nodes หรือ Index node)
ไฟล์ข้อมูลขนาดใหญ่กว่า 10 KB แต่ไม่เกิน 266 KB (10+256 KB)
จะมีหมายเลขบล็อกแบบ direct 10 หมายเลข และแบบ single direct
1 หมายเลข
แบบ direct 10 หมายเลข สามารถอ้ างจำนวนบล็อกได้ 10 บล็อก บวก
ระบบปฏิบต
ั ก
ิ าร (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 จะลดจำนวนลิงค์ในไอโหนด ทุก
ระบบปฏิบต
ั ก
ิ าร (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
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 62
ความน่
ความน่าาเชื
เชื่ อ่ อถืถืออของระบบไฟล์
ของระบบไฟล์
ความน่าเชื่อของระบบไฟล์สร้ างความเชื่อมัน่ ให้ กบั ผู้ใช้ งานว่า
ข้ อมูลจะไม่สญ ู หายไปไหน
ไฟล์ข้อมูลมีความสำคัญมากกว่าอุปกรณ์ ฮาร์ ดแวร์
ถ้ าข้ อมูลมีการสูญหายแต่มีการแบ็คอัพข้ อมูลไว้ แล้ วก็สามารถ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 63
ความน่
ความน่าาเชื
เชื่ อ่ อถืถืออของระบบไฟล์
ของระบบไฟล์
ระบบไฟล์ควรมีระบบการป้องกันไฟล์ถกู ทำลาย อาจจะเป็ นทาง
ด้ านฮาร์ ดแวร์ หรื อซอฟต์แวร์ ก็ได้
สื่อที่ใช้ เก็บข้ อมูลอาจจะเกิดความเสียหายในบล็อกที่ใช้ เก็บ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 64
การแบ็
การแบ็คคอัอัพพข้ข้ออมูมูลล (Backups)
(Backups)
การแบ็คอัพข้ อมูลมีความสำคัญ ถึงแม้ จะเสียเวลาบ้ างแต่ก็ดีกว่า
ถ้ าข้ อมูลต้ องสูญหายไป
การทำแบ็คอัพจะบ่อยหรื อไม่ขึ ้นอยูก ่ บั ความสำคัญของข้ อมูล
และมีการแก้ ไขข้ อมูลนันบ่
้ อยหรื อไม่เพียงใด
ปั จจุบนั นอกจากการแบ็คอัพข้ อมูลนอกจากจะใช้ ดิสก์แม่เหล็ก
(เช่น ฮาร์ ดดิสก์, ฟล็อปปี ด้ ิสก์ หรื อ Trumb drive) คุณยัง
สามารถใช้ สื่อดิจิตอล เช่น CD-ROM หรื อ DVD ซึง่ มีราคาถูกลง
เป็ นอย่างมาก ในระบบใหญ่อาจจะมีเทปเพื่อการแบ็คอัพด้ วย)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 65
การแบ็
การแบ็คคอัอัพพข้ข้ออมูมูลล (Backups)
(Backups)
การแบ็คอัพข้ อมูลมีจดุ ประสงค์หลัก 2 ประการคือ
เพื่อป้องกันความเสียหายที่เกิดจากสาเหตุตา่ ง ๆ
เพื่อป้องกันการลบข้ อมูลโดยไม่ได้ ตงใจ
ั ้ หรื อการลบข้ อมูลจากผู้ไม่
ประสงค์ดี
การแบ็คอัพข้ อมูลอาจต้ องใช้ เวลาและงบประมาณในการซื ้ออุปกรณ์
เพิ่มเติม แต่เวลาและงบประมาณที่เสียไปจะช่วยให้ ได้ รับประโยชน์
มาก จะเห็นได้ ชดั เจนเมื่อข้ อมูลเกิดการสูญหาย
การแบ็คอัพข้ อมูลอาจจะทำเฉพาะข้ อมูลที่มีการเปลี่ยนแปลงตลอด
ระบบปฏิบต
ั ก
ิ าร (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