1 / 66

บทที่ 6 การจัดการแฟ้มข้อมูล (File Management)

บทที่ 6 การจัดการแฟ้มข้อมูล (File Management). วัตถุประสงค์. เรียนรู้โครงสร้างดิสก์ เรียนรู้การจัดเวลาเข้าถึงดิสก์ เรียนรู้หลักการจัดเก็บแฟ้มข้อมูลได้ เรียนรู้หลักการทำงานกับแฟ้มข้อมูลได้ เรียนรู้การเข้าถึงแฟ้มข้อมูลได้ เรียนรู้ระบบไดเร็กทอรี่และโครงสร้างการจัดเก็บไดเร็กทอรี่

hanne
Download Presentation

บทที่ 6 การจัดการแฟ้มข้อมูล (File Management)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 6การจัดการแฟ้มข้อมูล (File Management)

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

  3. หน่วยความจำหลัก (Primary Memory) • มีความเร็วในการอ่านเขียนข้อมูลสูง ต้องการไฟหล่อเลี้ยงตลอด (Valatile) ถ้าปิดเครื่องหรือไฟดับ ข้อมูลในหน่วยความจำจะหายไปทันที เช่น RAM

  4. หน่วยความจำสำรอง (Secondary Memory) • ทำงานช้ากว่าหน่วยความจำหลัก แต่สามารถเก็บข้อมูลได้โดยไม่ต้องใช้ไฟเลี้ยง (Non-valatile)หน้าที่หลักคือ เก็บข้อมูลเมื่อยามปิดเครื่องเช่น ดิสก์, เทปแม่เหล็ก เป็นต้น

  5. High speed High cost Small size Register Cache Main Memory Volatile low speed low cost Big size Non-Volatile Secondary Memory ลำดับการทำงานของหน่วยความจำ

  6. ลำดับการทำงานของหน่วยความจำลำดับการทำงานของหน่วยความจำ • หน่วยความจำประเภทรีจิสเตอร์ในซีพียู, หน่วยความจำแคชที่วางใกล้ซีพียู, แรมหน่วยความจำหลักในระบบ การทำงานของหน่วยความจำทั้งสามจะเป็นแบบ Volatileและถือเป็น Primary Memoryทั้งหมด • ข้อมูลขณะทำงานระบบจะเก็บอยู่ในหน่วยความจำทั้งสาม รีจิสเตอร์เป็นหน่วยความจำที่มีความเร็วสูงที่สุด แต่พื้นที่การจัดเก็บจะน้อย • ข้อมูลในขณะทำงานส่วนใหญ่ รวมถึงระบบปฏิบัติการจะเก็บอยู่ที่แรม ที่ทำงานช้ากว่า แต่มีพื้นที่ให้เก็บข้อมูลมากกว่า ส่วนข้อมูลที่ใช้ในขณะนั้นหรือใช่บ่อย จะถูกเก็บในแคชหรือรีจิสเตอร์ที่ทำงานได้เร็วกว่า • เมื่อการทำงานสิ้นสุด ข้อมูลสุดท้ายจะถูกส่งไปเก็บที่ SecondaryMemoryที่มีขนาดพื้นที่มากที่สุด แต่ทำงานช้าที่สุด ซึ่งข้อมูลจะคง อยู่แม้ปิดเครื่องไปแล้วเพราะทำงานแบบnon-Volatile

  7. โครงสร้างของดิสก์ (Disk Structure) • การจัดเนื้อที่บนดิสก์แม่เหล็กได้มีการจัดแบ่งออกเป็น แทร็ก(Track) และแบบเซคเตอร์(Sector) • ดิสก์แต่ละแผ่น (Platter) ถูกแบ่งออกเป็นวงกลมหลายวงเรียกว่า แทร็ก แต่ละแทร็กแบ่งออกเป็นเซคเตอร์ • ฮาร์ดดิสก์ จะนำเอาดิสก์หลายแผ่นมาวางเรียงซ้อนกัน จะมีแทร็กที่อยู่ตรงกันของดิสก์แต่ละแผ่นเรียกว่า ไซลินเดอร์(Cylinder) การเรียงลำดับหมายเลขของแทร็กและไซลินเดอร์จะเรียงลำดับต่อกันไป โดยเริ่มจากด้านนอกสุดของดิสก์เรื่อยไปจนถึงด้านในสุด

  8. Tracks :การแบ่งพื้นที่บนจานแม่เหล็กในลักษณะวงกลม (เหมือนลู่วิ่ง) Tracksเป็นการแบ่งพื้นที่บนจานแม่เหล็กในลักษณะเป็นวงกลม โดยจำนวนของวงกลมจะขึ้นกับประเภทของความหนาแน่นของแถบแม่เหล็ก แทรกที่อยู่นอกสุดจะเป็นแทรกแรกเรียกว่า แทรกศูนย์ 8

  9. Sector :การแบ่งพื้นที่ในแต่ละ Track ออกเป็นส่วน ๆ (เหมือนชิ้นขนมเค้ก) • Sector - เป็นการแบ่งพื้นที่ในแต่ละ Track ออกเป็นส่วนๆ แต่ละ Sector จะมีหมายเลขกำหนดไว้ โดยเริ่มจาก Sector นอกสุดของTrack ศูนย์ จะเป็น Sector ศูนย์ 9

  10. Cylinder :กลุ่มของ Track ที่มีหมายเลขเดียวกัน แต่ปรากฏอยู่บนจาน (Platter) ที่ต่างกัน Cylinder - ถูกนำมาใช้เพื่อบอกถึงตำแหน่งของ Track เดียวกัน ในแต่ละ Platter ที่อยู่ตำแหน่งที่ตรงกัน 10

  11. โครงสร้างของดิสก์ (Disk Structure) • การนำไปใช้งาน ดิสก์หลายแผ่นที่ถูกวางเรียงซ้อนทับกันโดยมีแกนกลางทำหน้าที่ยึดดิสก์เหล่านี้ไว้ด้วยกัน • แกนกลางทำหน้าที่เป็นแกนหมุน เพื่อให้ข้อมูลบนเซคเตอร์ที่ต้องการเคลื่อนที่มาอยู่ใต้หัวอ่าน-เขียน ขณะที่หัวอ่านเขียนเคลื่อนที่เข้า/ออก เพื่ออ่าน-เขียนเคลื่อนที่ไปยังแทร็กที่ต้องการ เพื่อจะได้อ่านหรือเขียนข้อมูลที่บรรจุบนแทร็กนั้น ๆ ต่อไป

  12. โครงสร้างของดิสก์ (Disk Structure)

  13. เปรียบเทียบขนาดของRead/write Head 13

  14. ความเร็วในการทำงานของดิสก์ (Disk Speed) • ความเร็วในการทำงานของดิสก์ ขึ้นอยู่กับปัจจัย 2 ประการคือ • อัตราเวลาในการโอนย้ายข้อมูล (Transfer Rate)หมายถึงอัตราเวลาที่ใช้ในการโอนย้ายข้อมูลระหว่างหน่วยขับดิสก์(Disk Drive) และซีพียู • อัตราเวลาในการค้นหาตำแหน่ง (Positioning Rate) หมายถึงเวลาที่ใช้ในการหาตำแหน่งข้อมูลที่ต้องการประกอบด้วย • ระยะเวลาการค้นหา (Seek Time)ระยะเวลาที่ใช้ในการเคลื่อนหัวอ่าน-เขียนไปยังไซลินเดอร์ที่มีเซคเตอร์ที่ต้องการ • ระยะเวลาที่ใช้หมุนดิสก์ (Rotational Latency time)หมายถึงระยะเวลาที่รอให้ดิสก์หมุน จนกระทั่งเซคเตอร์ที่ต้องการเคลื่อนมาอยู่ใต้หัวอ่าน-เขียน

  15. การจัดรูปแบบดิสก์ (Disk Formatting) • ก่อนที่ดิสก์จะถูกนำไปใช้งานได้ต้องถูกจัดรูปแบบ(Format) เพื่อเป็นการจัดโครงสร้างของดิสก์ให้อยู่ในรูปแบบที่สามารถบันทึกข้อมูลได้ โดยที่ระบบปฏิบัติการทำหน้าที่เตรียมดิสก์ให้พร้อมสำหรับการใช้งานด้วยวิธีการดังนี้ • การจัดรูปแบบระดับต่ำ (Low Level Format) • การแบ่งดิสก์ (Disk Partition) • การจัดรูปแบบระดับสูง(High Level Format)

  16. การจัดรูปแบบระดับต่ำ (Low Level Format) • ระบบปฏิบัติการทำหน้าที่จัดรูปแบบของดิสก์ในระดับต่ำ หรือการจัดรูปแบบทางกายภาพ (Physical Format) ด้วยการแบ่งดิสก์ออกเป็นแทร็กและเซคเตอร์ เซคเตอร์ของแทร็กที่อยู่ด้านในสุดจะมีขนาดเล็กกว่าเซคเตอร์ของแทร็กที่อยู่ด้านนอกสุด • ดังนั้นบางระบบปฏิบัติการจึงได้มีการจัดรูปแบบของดิสก์เป็น 2 ระดับ เพื่อให้ขนาดของเซคเตอร์บนดิสก์แผ่นเดียวกันมีขนาดเท่ากัน หรือมีขนาดใกล้เคียงกัน

  17. การแบ่งดิสก์ (Disk Partition) • หลังจากที่ดิสก์ถูกจัดรูปแบบในระดับต่ำแล้ว ระบบปฏิบัติการจะแบ่งพื้นที่ของดิสก์ออกเป็นส่วน ๆ เรียกว่า พาร์ติชั่น เพื่อให้เกิดความสะดวกในการเข้าถึงข้อมูลและโปรแกรม ตลอดจนช่วยเพิ่มความปลอดภัยให้กับข้อมูลที่เก็บบนดิสก์ • ในการแบ่งนั้น ดิสก์หนึ่งจะถูกแบ่งเป็นหลายพาร์ติชั่น โดยทั่วไปแล้วจะแบ่งดิสก์ออกเป็นอย่างน้อย 2 พาร์ติชั่น หรือ 2 ไดรว์ คือ C: และ D: (C: ใช้สำหรับติดตั้งโปรแกรมต่าง ๆ ส่วน D: ใช้ติดตั้งข้อมูลและเพื่อการสำรองข้อมูล)

  18. การแบ่งดิสก์ (Disk Partition) • การแบ่งพาร์ติชั่น แบ่งออกเป็น 3 ประเภทคือ พาร์ติชั่นหลัก, พาร์ติชั่นเสริม และพาร์ติชั่นตรรกะ • พาร์ติชั่นหลัก(Primary Partition) เป็นพาร์ติชั่นหลักของระบบคอมพิวเตอร์ ใช้สำหรับการบู๊ต เข้าระบบคอมพิวเตอร์ พาร์ติชั่นหลักจะหมายถึงไดรว์ C: • พาร์ติชั่นเสริม(Extended Partition) ใช้สำหรับเก็บข้อมูลและโปรแกรม เมื่อมีการสร้างพาร์ติชั่นเสริมจะเกิดพาร์ติชั่นตรรกะอัตโนมัติ • พาร์ติชั่นตรรกะ(Logical Partition) เป็นพาร์ติชั่นที่อยู่ภายใต้พาร์ติชั่นเสริมจะเกิดพาร์ติชั่นตรรกะได้ก็ต่อเมื่อ มีการสร้างพาร์ติชั่นเสริมก่อนเท่านั้น

  19. C: 40 MB C: 40 MB D: 40 MB E: 40 MB F: 40 MB G: 40 MB พาร์ติชั่นหลัก พาร์ติชั่นเสริม ตัวอย่างการแบ่งดิสก์ • ให้แบ่งดิสก์ที่มีขนาด 200 MB ออกเป็นพาร์ติชั่นหลัก,พาร์ติชั่นเสริม และพาร์ติชั่นตรรกะ วิธีทำดิสก์ 100% มีขนาด 200MB แบ่งดิสก์ 20% สำหรับพาร์ติชั่นหลัก และแบ่งดิสก์ 80% สำหรับพาร์ติชั่นเสริม โดยแบ่งพาร์ติชั่นตรรกะ 4 พาร์ติชั่น - พาร์ติชั่นหลัก C: แบ่งดิสก์ได้ 200*0.2 = 40 MB - พาร์ติชั่นเสริม 200-40 = 160 MBแบ่งพาร์ติชั่นตรรกะเป็น 4 พาร์ติชั่น160  4 = 40 MB

  20. การจัดรูปแบบระดับสูง (High Level Format) • การจัดรูปแบบระดับสูง หรือการจัดรูปแบบทางตรรกะ เป็นการกำหนดระบบแฟ้มข้อมูลให้แก่ดิสก์ โดยที่การกำหนดชนิดของแฟ้มข้อมูลให้กับดิสก์นั้นขึ้นกับระบบปฏิบัติการที่ระบบเลือกใช้ เช่น • FAT (File Allocation Table)เป็นระบบแฟ้มข้อมูลสำหรับระบบปฏิบัติการของดอส และวินโดวส์ และด้วยเหตุที่ FAT เป็นที่นิยมใช้อย่างกว้างขวางจึงสามารถใช้ร่วมกับระบบปฏิบัติการอื่นเช่น Linux, OS/2 etc. • VFAT (Virtual File Allocation Table)เป็นระบบไฟล์ FAT เวอร์ชั่นที่มีลักษณะเป็น Protected Mode ซึ่งจะถูกใช้โดย Windows 9x

  21. การจัดรูปแบบระดับสูง (High Level Format) • NTFS (NT Files System)เป็นระบบไฟล์ที่ถูกออกแบบมาเพื่อใช้กับ Windows NT โดยให้ประสิทธิภาพที่ดีด้านระบบความปลอดภัยในการเข้าถึงแฟ้มข้อมูล • HPFS (High Performance File System) เป็นระบบที่ออกแบบมาเพื่อใช้กับระบบปฏิบัติการ OS/2 โดยที่ระบบแฟ้มข้อมูล HPFS เหมือน NTFS ที่มีการรักษาระบบความปลอดภัยที่ดีมีความเชื่อถือได้ มีประสิทธิภาพและความเร็วสูงกว่า FAT • FAT32 (32-bit File Allocation Table)ระบบนี้อยู่ใน Windows 95, OSR2 ในเวอร์ชั่นที่มีการติดตั้งจากผู้ผลิต และ Windows98 โดยที่ FAT32 มีการแก้ปัญหาข้อจำกัดของ FAT หลายประการ และไม่สามารถใช้กับระบบปฏิบัติการอื่นนอกจาก Windows 95, OSR2 และ Windows98

  22. การจัดเวลาการใช้ดิสก์ (Disk Scheduling) • ระยะเวลาที่ระบบใช้ในการเข้าถึงดิสก์ (Disk Access Time) หมายถึง ระยะเวลาที่ระบบต้องใช้ในการเคลื่อนหัวอ่าน-เขียนไปยังไซลินเดอร์ที่มีเซคเตอร์ที่ต้องการ จากนั้นรอให้ดิสก์หมุนจนกระทั่งเซคเตอร์ที่ต้องการถูกหมุนให้มาอยู่ใต้หัวอ่าน-เขียน และเวลาที่ใช้ในการโอนย้ายข้อมูลระหว่างหน่วยขับดิสก์(Disk drive) และซีพียู (เวลาในการเข้าถึงข้อมูล= เวลาค้นหา+เวลาที่ใช้หมุนดิสก์+เวลาโอนย้ายข้อมูล) • โดยทั่วไปดิสก์ถูกหมุนด้วยความเร็วสูง ทำให้เวลาที่ใช้หมุนดิสก์มีค่าน้อยมาก เมื่อเทียบกับเวลาส่วนอื่น จึงสามารถตัดเวลาส่วนนี้ทิ้งไปได้ ส่วนเวลาที่ใช้ในการโอนย้ายข้อมูล ขึ้นกับปริมาณข้อมูลที่ระบบต้องการอ่านหรือเขียน และความเร็วของการส่งข้อมูล ซึ่งค่าทั้งสองนี้ไม่อยู่ในการควบคุมของระบบปฏิบัติการ • ดั้งนั้นเฉพาะเวลาการค้นหาเท่านั้นที่ระบบปฏิบัติการควบคุมได้บ้างบางส่วน

  23. การจัดเวลาการใช้ดิสก์ที่สำคัญมีดังนี้การจัดเวลาการใช้ดิสก์ที่สำคัญมีดังนี้ • แบบมาก่อนได้ก่อน (First Come First Serve Scheduling : FCFS) • แบบสั้นที่สุดได้ก่อน (Shortest Seek Time First Scheduling : SSTF) • แบบสแกน (Scan Scheduling : SCAN) • แบบลุค (LOOK) • แบบซี-สแกน (Circular Scan Scheduling : C-SCAN) • แบบซี-ลุค (C-LOOK)

  24. การจัดเวลาแบบมาก่อนได้ก่อน (First Come First Serve Scheduling : FCFS) • เป็นวิธีการจัดเวลาการใช้ดิสก์ที่ง่ายที่สุด โดยจัดสรรดิสก์ให้กับโปรเซสที่ขอใช้ดิสก์ก่อน

  25. การจัดเวลาแบบมาก่อนได้ก่อน (First Come First Serve Scheduling : FCFS) • จากภาพการทำงานของหัวอ่านแบบการจัดเวลาการใช้ดิสก์แบบมาก่อนได้ก่อน หัวอ่าน-เขียน ต้องเคลื่อนที่มาก ทำให้ประสิทธิภาพการทำงานค่อนข้างต่ำ

  26. การจัดเวลาแบบสั้นที่สุดได้ก่อน (Shortest Seek Time First Scheduling : SSTF) • เป็นวิธีการจัดเวลาแบบสั้นที่สุดได้ก่อน จะให้หัวอ่าน-เขียน เคลื่อนไปยังไซลินเดอร์ที่อยู่ใกล้ตำแหน่งปัจจุบันมากที่สุด เป็นผลให้เสียเวลาค้นหาน้อย

  27. การจัดเวลาแบบสั้นที่สุดได้ก่อน (Shortest Seek Time First Scheduling : SSTF) • เวลาที่ได้จากการจัดเวลาแบบสั้นที่สุดได้ก่อน ใช้เวลาน้อยกว่าการจัดแบบมาก่อนได้ก่อน • แต่ปัญหาของการจัดเวลาแบบนี้คือ การอดตาย เป็นการร้องขอใช้ดิสก์ที่ไม่มีโอกาสได้รับจัดสรรให้ใช้ดิสก์ เช่น เมื่อมีการขอใช้ไซลินเดอร์ที่ 67 และ 37 โดยขณะที่กำลังให้บริการการร้องขอไซลินเดอร์ที่ 67 มีการขอใช้ไซลินเดอร์ใหม่ ที่อยู่ใกล้กับไซลินเดอร์ปัจจุบันก็จะได้รับบริการก่อน ทำให้ผลการขอใช้ไซลินเดอร์ที่ 37 ต้องรอ และถ้าหามีไซลินเดอร์ที่ใกล้กับ 67 เข้ามาอีก ก็ต้องมีการรอต่อไปเรื่อย ๆ

  28. การจัดเวลาแบบสแกน (SCAN) • หัวอ่าน-เขียนจะเคลื่อนที่จากตำแหน่งปัจจุบันไปยังไซลินเดอร์ที่อยู่ใกล้ขอบเขตของดิสก์มากที่สุด (ขอบในหรือขอบนอกก็ได้)และต้องเคลื่อนไปจุดขอบในหรือนอกด้วย

  29. การจัดเวลาแบบลุค (LOOK) • หัวอ่าน-เขียนจะเคลื่อนที่จากตำแหน่งปัจจุบันไปยังไซลินเดอร์ที่อยู่ใกล้ขอบเขตของดิสก์มากที่สุด (ขอบในหรือขอบนอกก็ได้) แต่ไม่ต้องไปถึงขอบในหรือนอกจะตรงข้ามกับวิธี SCAN

  30. การจัดเวลาแบบซี-สแกน (C-SCAN) • หัวอ่าน-เขียนจะเคลื่อนที่จากด้านหนึ่งของดิสก์ไปยังอีกด้านหนึ่งของดิสก์ โดยทันทีที่หัวอ่าน-เขียนเคลื่อนที่ไปถึงขอบด้านหนึ่งของดิสก์แล้ว หัวอ่านก็จะเคลื่อนที่กลับไปยังขอบอีกด้านของดิสก์ทันที โดยไม่มีการให้บริการในระหว่างเคลื่อนกลับ

  31. การจัดเวลาแบบซี-ลุค (C-LOOK) • การเคลื่อนตำแหน่งหัวอ่าน-เขียนคล้ายวิธี C-SCAN แต่วิธีนี้หัวอ่านไม่ต้องไปแตะขอบจบที่การเคลื่อนที่ตำแหน่งที่ใกล้สุดก็ให้เลื่อนไปอีกฝั่งและไม่ต้องแตะขอบเช่นกันเลื่อนหัวอ่านเขียนไปที่ตำแหน่งงานต่อไปได้เลย

  32. หลักการจัดการแฟ้มข้อมูล (File Management Concept) • การจัดการแฟ้มข้อมูลเป็นบริการหนึ่งของระบบปฏิบัติการ ซึ่งระบบปฏิบัติการต้องสร้างระบบแฟ้มข้อมูลที่ผู้ใช้จับต้องได้ขึ้นมา • ผู้ใช้จะเห็นเพียงภาพจำลองที่ระบบสร้างขึ้น(Logical View) เพื่อให้มองเห็นภาพและสั่งงานได้ • ระบบปฏิบัติการต้องแปลงงานจากภาพจำลองเป็นการจัดการแฟ้มข้อมูลจริง(Physical View) ที่อยู่บนหน่วยความจำสำรอง • ผู้ใช้สั่งงานผ่านระบบแฟ้มข้อมูลที่ถูกสร้างขึ้น โดยไม่จำเป็นต้องรู้ว่าข้อมูลในหน่วยความจำสำรองจัดเก็บในลักษณะใด

  33. หลักการจัดการแฟ้มข้อมูล (File Management Concept) • Logical View : สภาพจำลองที่ระบบปฏิบัติการสร้างขึ้นมาโดยอ้างอิงจากข้อมูลทางกายภาพ • Physical View : สภาพกายภาพ เป็นสภาพจริงที่ผู้ใช้งานไม่จำเป็นต้องทราบ เพียงสั่งงานทาง logical view ระบบจะจัดการให้เอง • แฟ้มข้อมูล คือชุดข้อมูลที่ถูกสร้างขึ้นให้มีลักษณะเฉพาะตามแบบผู้สร้าง ทั้งตัวโปรแกรมประยุกต์ หรือไฟล์แบบข้อความ หรือไฟล์เสียง ฯลฯ ซึ่งไฟล์ต้องมีชื่อเสมอ(File name) เพื่อใช้อ้างอิงและค้นหา นอกจากนี้ต้องมีชนิดของไฟล์(File type) เวลาที่สร้าง(Create Time) ชื่อผู้สร้าง ความยาวของไฟล์ เป็นต้น

  34. หลักการจัดการแฟ้มข้อมูล (File Management Concept) • ระบบปฏิบัติการต้องรู้โครงสร้างไฟล์ด้วย เช่น ไฟล์โปรแกรม ไฟล์ระบบ หรือไฟล์ Setup โปรแกรม เพื่อสามารถทำงานกับไฟล์ต่าง ๆ ได้ทันที แต่ไม่จำเป็นต้องรู้จักโครงสร้างไฟล์ทุกชนิด เพราะถ้ารู้จักมากไปจะทำให้ระบบปฏิบัติการมีขนาดใหญ่และกินหน่วยความจำมาก • ไฟล์ทุกไฟล์จะเก็บในหน่วยความจำสำรองเสมอ โดยโครงสร้างการจัดเก็บจะมีรูปแบบที่แตกต่างกัน เช่น ถ้าเป็นแบบเทปแม่เหล็กจะจัดเก็บแบบเรียงลำดับ (Sequential access) แต่ถ้าเป็นดิสก์จะเก็บแบบโดยตรง (Direct access) ซึ่งระบบปฏิบัติการต้องทราบและเลือกวิธีในการอ่านเขียนข้อมูลให้ถูกต้อง

  35. หลักการจัดการแฟ้มข้อมูล (File Management Concept) • ในหน่วยความจำสำรองจะแบ่งพื้นที่เป็นบล็อกเพื่อเก็บข้อมูล และในการเก็บข้อมูลสามารถเก็บแบบใช้บล็อกไม่ต่อเนื่องกันได้ การจองบล็อกเพื่อเก็บข้อมูลจะจองเต็มบล็อกเสมอ เช่น ข้อมูลใช้พื้นที่ 3 บล็อกครึ่ง การจองต้องจอง 4 บล็อก เหลือพื้นที่ไม่ใช้ (Wasted space) ครึ่งบล็อก เกิดเป็น Internal fragmentation ส่วนต่างของขนาดไฟล์จริง(size) กับ ขนาดพื้นที่ที่จองไว้เก็บไฟล์ (size on disk) ส่วนต่างคือ Internal fragmentation

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

  37. การทำงานกับแฟ้มข้อมูล (File Management Operations) มีอยู่ 5 ประการที่ระบบต้องสามารถทำได้ในการบริหารจัดการไฟล์ • การสร้างไฟล์ (Creating)มี 2 ขั้นตอนคือ 1)หาที่ว่างเพื่อใช้เก็บแฟ้ม 2) หาที่ว่างที่ใช้เก็บสารบบซึ่งไว้เก็บข้อมูลที่จำเป็นของแฟ้มนั้น • การเขียนข้อมูล (Writing)ระบบต้องรู้ชื่อและตำแหน่งไดเร็กทอรี่ที่เก็บไฟล์ เพื่อค้นหาเมื่อพบจะทำการเปิดไฟล์ โดยที่ปลายสุดของไฟล์ จะมีตัวชี้การเขียน(Write Pointer) ชี้ไว้ เมื่อมีการเขียนข้อมูลต่อไฟล์ ตัวชี้จะเปลี่ยนตำแหน่งไปสุดท้ายของข้อมูลที่เขียนเพิ่ม ทำเช่นนี้ไปเรื่อย ๆ จนหมดข้อมูลที่ต้องการเขียน

  38. การทำงานกับแฟ้มข้อมูล (File Management Operations) • การอ่านข้อมูล (Reading)ระบบจะต้องรู้ชื่อและตำแหน่งไดเร็กทอรี่ที่เก็บไฟล์เพื่อค้นหา เมื่อพบก็ทำการเปิดไฟล์ โดยต้นไฟล์มีตัวชี้การอ่านชี้ไว้(read pointer) เมื่ออ่านข้อมูลเสร็จ ตัวชี้จะเลื่อนไปตำแหน่งสุดท้ายของข้อมูลที่ถูกอ่านออกไป ทำเช่นนี้ไปเรื่อย ๆ จนหมดข้อมูลที่ต้องการอ่าน การอ่านและเขียนไฟล์ ต้องใช้ตัวชี้ 2 ตัว คือ Read Pointer , Write Pointer ซึ่งระบบส่วนใหญ่ใช้เป็นตัวเดียวกันเรียกว่า Current File Position Pointer ใช้ทั้งอ่านและเขียน เพื่อประหยัดและลดความซ้ำซ้อน • การลบไฟล์ (Delete)เมื่อค้นหาในไดเร็กทอรี่พบไฟล์ที่ต้องการ ก็ทำการลบไฟล์นั้นและลบรายการสารบบนั้นทิ้งไป • การย้ายตำแหน่งภายในของแฟ้ม สารบบจะถูกค้นหาไว้เพื่อรายการที่เหมาะสมและตัวชี้ตำแหน่งปัจจุบันจะถูกตั้งค่า การย้ายภายในไม่จำเป็นต้องใช้การปฏิบัติการของ I/O การปฏิบัติการนี้เรียกว่าการแสวงหา (Seek)

  39. การทำงานกับแฟ้มข้อมูล (File Management Operations) • การทำงานทั้ง 5 ประการของระบบปฏิบัติการ ทุกหน้าที่มีการค้นหาไฟล์ ในไดเร็กทอรี่เหมือนกันหมดจะทำอย่างไร? ถ้าสมมติให้เปิดไฟล์ A เพื่ออ่านข้อมูล เสร็จแล้วเขียนข้อมูล และลบไฟล์ข้อมูล จึงต้องค้นหาไฟล์ในไดเร็กทอรี่ถึง 3 ครั้ง และถ้าในไดเร็กทอรี่มีไฟล์เก็บไว้จำนวนมาก จะเปลืองเวลาในการค้นหามากเกินไป Ans.– ระบบปฏิบัติส่วนใหญ่จะใช้ตารางที่เก็บข้อมูลของไฟล์ที่ถูกเปิด(Open files table)เมื่อมีการค้นหาไฟล์ครั้งแรก ข้อมูลไฟล์นั้นจะถูกเก็บลงตาราง และถ้ามีการค้นหาไฟล์นั้นอีกจะใช้ข้อมูลที่เก็บในตารางแทนการค้นหาซ้ำ และถ้าไฟล์ตัวนั้นไม่ได้ถูกใช้สักช่วง ข้อมูลไฟล์นั้นจะถูกลบออก จากตาราง หรือบางระบบปฏิบัติการจะใช้การเปิดไฟล์ค้างไว้และจะปิดไฟล์ ก็ต่อเมื่อโปรแกรมที่เปิดไฟล์นั้นถูกสั่งปิด

  40. ประเภทของแฟ้ม • เนื่องจากแฟ้มมีหลายประเภทและมีความแตกต่างกันมากในระบบปฏิบัติแต่ละระบบ มีเทคนิคในการใช้ประเภทของแฟ้มคือ การรวมประเภทของแฟ้มเข้าไว้เป็นส่วนหนึ่งของชื่อแฟ้ม โดยชื่อจะแบ่งเป็น 2 ส่วน คือ ชื่อ และส่วนขยาย (Extension) หรือที่เรียกว่านามสกุล มักคั่นด้วยเครื่องหมาย “.” โดยที่ความยาวส่วนขยายไม่เกิน 3 อักขระจะมีแฟ้มประเภท .com, .exe และ .bat เท่านั้นสามารถใช้งานได้ทันที • แฟ้มประเภท .com , .exe จะอยู่ในรูปแบบของแฟ้มไบนารีที่สามารถกระทำการได้ (Executable File) ในขณะที่แฟ้มประเภท .bat (Bath File) เป็นแฟ้มรูปแบบแอสกีที่สามารถสั่งการไปยังระบบปฏิบัติการได้

  41. ตัวอย่างของแฟ้มประเภทต่าง

  42. ตัวอย่างของแฟ้มประเภทต่าง

  43. ตัวอย่างของแฟ้มประเภทต่าง

  44. การเข้าถึงแฟ้มข้อมูล (Access Methods) การเข้าถึงแฟ้มข้อมูลหรือการเข้าถึงไฟล์ เพื่อเปิดอ่านข้อมูลจากหน่วยความจำสำรอง ไปเก็บในหน่วยความจำหลักเพื่อทำงาน มีหลายวิธีดังนี้ • ตามลำดับ (Sequential access) การเข้าถึงข้อมูลแบบตามลำดับ เป็นการเข้าถึงข้อมูลของสื่อบันทึกแบบเทป มีลักษณะในการอ่านข้อมูลตามลำดับต่อเนื่อง ในการอ่านไม่จำเป็นต้องอ่านไปเรื่อย ๆ ทุก ๆ ส่วน ส่วนที่ไม่ต้องการก็สามารถกรอข้ามไปข้างหน้าเพื่ออ่านข้อมูลที่ต้องการได้ หรือกรอกลับหลังกรณีที่ต้องการอ่านข้อมูลเดิมซ้ำ ตัวอย่างเช่น เทปเพลง

  45. การเข้าถึงแฟ้มข้อมูล (Access Methods) • โดยตรง (Direct access) การเข้าถึงที่ใช้กับสื่อแบบดิสก์ ลักษณะการอ่านข้อมูลสามารถอ่านได้อย่างอิสระ และเข้าถึงข้อมูลได้โดยตรงโดยไม่ต้องผ่านข้อมูลที่ขวางอยู่ เช่น ซีดีเพลง ถ้าต้องการฟังเพลงที่ 7 ก็สามารถเลือกฟังได้ทันที โดยไม่ต้องผ่านเพลงที่ 1 ถึง 6 เลย บางครั้งเรียกการเข้าถึงแบบนี้ว่า การเข้าถึงแบบสุ่ม (Random Access)

  46. การเข้าถึงแฟ้มข้อมูล (Access Methods) การเข้าถึงโดยตรงของสื่อบันทึกแบบดิสก์ จะใช้การเคลื่อนที่ 2 ทิศทางคือ จานดิสก์ที่หมุนจากซ้ายไปขวาในแนวขวาง และหัวอ่านที่ขยับขึ้นลงในแนวตั้ง ทำให้สามารถเข้าถึงข้อมูลได้โดยตรง โดยใช้ระยะทางที่สั้นที่สุดได้ การเคลื่อนที่ของจานดิสก์ และหัวอ่านในการเข้าถึงข้อมูลแบบโดยตรง

  47. Disk Partition C: Partition D: Files Directory Directory Files ระบบไดเร็กทอรี่ (Directory System) การจัดการไดเร็กทอรี่มีอยู่ 2 ส่วนคือ • พาร์ติชั่น (Partition)หรือ มินิดิสก์(Minidisk) ใน IBM PC และ Volume ในเครื่องแมคอินทอช โดยปกติในดิสก์ต้องมี 1 พาร์ติชั่นเสมอ และแต่ละพาร์ติชั่นจะนับเป็น 1 ไดรว์ ถ้าในดิสก์แบ่งเป็นหลายพาร์ติชั่น ดิสก์นั้นก็จะมีหลายไดรว์ • ไดเร็กทอรี่ (Directory)ในแต่ละพาร์ติชั่นจำเป็นต้องมีไดเร็กทอรี่ ใช้เก็บข้อมูลไฟล์ เช่น ชื่อไฟล์, ตำแหน่ง ขนาดไฟล์ ชนิดของไฟล์ เป็นต้น เรียกส่วนนี้ว่า Device Directory หรือ Volume Table of Contents ก็ได้

  48. บทบาทหน้าที่ของไดเร็กทอรี่บทบาทหน้าที่ของไดเร็กทอรี่ • ค้นหาไฟล์ (Search for a file) • ลบไฟล์ (Delete a file) • สร้างไฟล์ (Create a file) • แสดงรายชื่อ (List of Directory) • เปลี่ยนชื่อไฟล์ (Rename a file) • การสำรอง (Backup)

  49. โครงสร้างของไดเร็กทอรี่ (Directory Structure) การจัดโครงสร้างไดเร็กทอรี่ทำได้หลายวิธี มีข้อดีข้อเสียต่างกันดังนี้ • ไดเร็กทอรี่ 1 ระดับ (Single-Level Directory) • ไดเร็กทอรี่ 2 ระดับ (Two-Level Directory) • ไดเร็กทอรี่แบบต้นไม้ (Tree-Structured Directory) • ไดเร็กทอรี่แบบไม่มีวง (Acyclic-Graph Directory) • ไดเร็กทอรี่แบบกราฟ (General Graph Directory)

  50. ไดเร็กทอรี่ 1 ระดับ (Single-Level Directory) • เป็นโครงสร้างไดเร็กทอรี่อย่างง่าย ไฟล์ทั้งหมดจะเก็บรวมในไดเร็กทอรี่เดียวกัน ไม่มีไดเร็กทอรี่ย่อย การอ้างไฟล์ไม่ต้องระบุไดเร็กทอรี่ เพราะทุกไฟล์อยู่ในไดเร็กทอรี่เดียวกันทั้งหมด เหมาะสำหรับนำมาใช้กับระบบง่าย ๆ ที่มีจำนวนไฟล์ไม่มากนัก • จุดอ่อน คือ การตั้งชื่อสับสน ในกรณีที่มีไฟล์จำนวนมาก การตั้งชื่อไฟล์ให้ไม่ซ้ำ เป็นเรื่องยาก ถึงจะทำได้แต่ชื่อก็ไม่สื่อให้เข้าใจรายละเอียดไฟล์มากนัก เช่น account1.txt,account2.txt,account3.txt เป็นต้น • อีกปัญหาคือ การจัดกลุ่มไฟล์ทำได้ยาก ถึงตั้งชื่อคล้ายกันเพื่อจัดกลุ่มไฟล์ แต่ก็ทำได้ไม่ละเอียดเท่าที่ต้องการ

More Related