ไฟล์และการจัดการ

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

1. ไฟล์ที่ได้มีนามสกุลใด

2. ได้บันทึกไฟล์ไว้ที่ตำแหน่งใด

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

บางครั้งควรมีการสร้างโฟลเดอร์ เพื่อไว้ใช้ในการจัดเก็บข้อมูล เช่น Folder IMAGE or My Picture ไว้สำหรับเก็บไฟล์ชนิด ภาพ หรือ Folder Music or Media ไว้สำหรับเก็บ ไฟล์ชนิด เพลง หรือ วีดีโอต่างๆ นั่นเอง หากผู้ใช้มีการจัดเก็บข้อมูลที่ดี เข้าใจง่าย ผู้ใช้เองก็สามารถเข้าถึงข้อมูลได้อย่างรวดเร็วและมีความพร้อมใช้ ตอนที่มีความต้องการใช้ เกิดความสะดวกและทันเวลา ดั้งนั้นการจัดหมวดหมู่ไฟล์ที่ดีและง่ายต่อการค้นหา การเข้าถึงในภายหลังก็คือ การสร้าง Directory or Folder ไว้ folder

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

โครงสร้างของไฟล์

การจัดโครงสร้างไฟล์ข้อมูลที่ใช้กันอยู่ทั่วไปมีอยู่ 3 แบบ
–แบบไบต์เรียงต่อกันไป เช่น UNIX และ Windows เวลาอ่าน/เขียนก็จะทำงานทีละไบต์
–แบบเรกคอร์ด (Record) โดยมีขนาดของเรกคอร์ดคงที่ เช่น CP/M เวลาอ่าน/เขียนก็จะทำงานทีละเรกคอร์ด สำหรับเรกคอร์ดสุดท้ายอาจจะไม่เต็มเรกคอร์ดก็ได้
–แบบต้นไม้ (Tree) จะจัดเก็บเป็นบล็อก ในแต่ละบล็อกจะประกอบด้วยเรกคอร์ด โดยขนาดของแต่ละเรกคอร์ดอาจไม่เท่ากัน เช่น OS ในระบบ Mainframe เวลาอ่าน/เขียนก็จะทำงานโดยค้นไปตามการเชื่อมโยงของต้นไม้

การทำงานของระบบไฟล์ (File system Implementation)

•โครงสร้างของระบบไฟล์ (File system layout)
–ภายในดิสก์สามารถแบ่งออกเป็นพาร์ติชัน (Partition) ในการเก็บข้อมูล และแต่ละพาร์ติชั่นมีความเป็นอิสระต่อกัน ทั้งยังสามารถกำหนดให้แต่ละพาร์ติชั่นมี OS ที่ต่างกันได้
–ภายในดิสก์จะถูกแบ่งออกเป็นเซกเตอร์ (Sector) เริ่มต้นจาก  เซกเตอร์ 0 ซึ่งถือว่าเป็น Master boot record (MBR) ที่เก็บค่าเริ่มต้นของ OS สำหรับการบูตเครื่องเมื่อเริ่มใช้งาน ตอนท้ายของเซกเตอร์นี้จะเก็บตารางพาร์ติชั่นซึ่งระบุว่าในแต่ละพาร์ติชั่นมีแอดเดรสเริ่มต้นและสิ้นสุดที่ใด

วิธีจัดเก็บข้อมูลของไฟล์ (Implementation File)

•วิธีการจัดเก็บข้อมูลลงบนสื่อจัดเก็บข้อมูลแบ่งออกเป็น   3 แบบ
–การจัดเก็บข้อมูลแบบต่อเนื่อง (Contiguous allocation)
–การจัดเก็บข้อมูลแบบลิงค์ลิสต์ (Link List allocation)
–ไอโหนด (I-nodes หรือ Index nodes)
         การจัดเก็บข้อมูลแบบต่อเนื่อง (Contiguous allocation)
                   เป็นวิธีการจัดเก็บข้อมูลของไฟล์แบบง่ายที่สุด แต่ละไฟล์จะถูกแบ่งออกเป็นบล็อค แต่ละบล็อกมีขนาดเท่ากัน และจะถูกเก็บลงบนดิสก์อย่างต่อเนื่องทั้ง
         ข้อดี

                     • ง่ายและสะดวกในการจัดเก็บ เนื่องจากการจัดเก็บจะจัดเก็บเรียงต่อกันไปจึงไม่ต้องกังวลว่าบล็อกต่อไปจะเก็บตรงไหน OS จะบันทึกเฉพาะแอดเดรสบล็อกแรกและแอดเดรสบล็อกสุดท้ายของแต่ละไฟล์ก็เพียงพอสำหรับการค้นหาข้อมูลทั้งหมดที่อยู่ในไฟล์
                     • สามารถสร้างประสิทธิภาพได้สูงสุดในการค้นหาข้อมูล เนื่องจากการจัดเก็บบล็อกข้อมูลเรียงต่อเนื่องจึงไม่เสียเวลาในการค้นหาบล็อกทุก ๆ บล็อก เพียงแต่หาบล็อกแรกพบก็สามารถอ่านข้อมูลได้ทั้งไฟล์
                      • เหมาะสำหรับสื่อที่มีการจัดเก็บข้อมูลเพียงครั้งเดียว (Read Only Memory) เช่น CD-Rom เป็นต้น
         ข้อเสีย
                      • กรณีมีการแก้ไขข้อมูลเดิม แล้วการแก้ไขทำให้ขนาดของไฟล์มีขนาดใหญ่ขึ้น จึงจำเป็นต้องย้ายไฟล์ไปยังพื้นที่ใหม่ที่มีขนาดใหญ่พอที่จะบรรจุไฟล์ที่แก้ไขแล้ว ซึ่งการทำแบบนี้จะทำให้ต้องเสียเวลาเพิ่มขึ้นในการหาพื้นที่ใหม่
                      • ถ้าเกิดเหตุการณ์ในข้อแรกบ่อย ๆ อาจทำให้เกิดเนื้อที่ว่างมากมายระหว่างไฟล์ข้อมูลบนดิสก์ เมื่อมีการเก็บข้อมูลจนเต็มดิสก์จะทำให้เกิดปัญหาสำหรับไฟล์ขนาดใหญ่ไม่สามารถหาเนื้อที่ว่างในการเก็บข้อมูลได้ แม้จะมีเนื้อที่ว่างมากพอ แต่ไม่สามารถเรียกใช้ได้เพราะเนื้อที่เหล่านั้นกระจัดกระจายกันทั่วทั้งดิสก์

           การจัดเก็บข้อมูลแบบลิงค์ลิสต์ (Link List allocation)

          • วิธีนี้มีการแบ่งไฟล์ออกเป็นบล็อก ๆ เช่นเดียวกัน แต่การจัดเก็บเนื้อที่ของแต่ละบล็อกจะไม่ต่อเนื่องกัน แต่ละบล็อกจะถูกเชื่อมโยงกันด้วยพอยต์เตอร์ ตั้งแต่บล็อกแรกจนถึงบล็อกสุดท้ายของไฟล์ข้อมูลนั้น ๆ
          • วิธีการจัดเก็บแบบนี้ทำให้ไม่เสียเนื้อที่ว่างภายในดิสก์ แต่ยังมีเนื้อที่ว่างภายในบล็อกสำหรับบล็อกสุดท้ายของไฟล์ข้อมูล
          •ข้อเสีย
                    – เสียเวลาในการค้นหาข้อมูลของไฟล์มากกว่าแบบต่อเนื่อง เนื่องจากแต่ละบล็อกอยู่กระจัดกระจายไปทั่วดิสก์
                    – เสียเนื้อที่ไปกับพอยต์เตอร์ที่ทำหน้าที่ชี้ไปยังบล็อกต่าง ๆ

            ไอโหนด (I-nodes หรือ Index nodes)

             • เป็นวิธีการที่ใช้กันใน UNIX โดยจะมีการสร้างตารางเล็กที่เรียกว่า I-nodeให้กับแต่ละไฟล์
             • I-node จะเก็บข้อมูลต่าง ๆ ที่เกี่ยวข้องกับไฟล์ไว้
             • นอกจากนั้นยังมีหมายเลขบล็อกแบบลิงค์ลิสต์ 4 แบบดังนี้
                      – Direct Block ขนาด  10 หมายเลข เก็บจำนวนบล็อกไว้ได้ 10 หมายเลข
                      – Single indirect  ขนาด   1  หมายเลข เก็บจำนวนบล็อกไว้ได้ 256 หมายเลข
                      – Double indirect ขนาด   1  หมายเลข เก็บจำนวนบล็อกไว้ได้ 256*256 หมายเลข
                      – Triple  indirect   ขนาด   1  หมายเลขเก็บจำนวนบล็อกไว้ได้ 256*256*256 หมายเลข

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: