วันจันทร์ที่ 7 กุมภาพันธ์ พ.ศ. 2554

ระบบแฟ้มข้อมูล

ระบบแฟ้มข้อมูล

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

ที่มา: http://www.tkc.ac.th/osunun/e-booksystem/u7.htm

1. โครงสร้างของแฟ้มข้อมูล

 โครงสร้างของแฟ้มข้อมูล
การจัดโครงสร้างของแฟ้มข้อมูลสามารถจัดได้หลายรูปแบบ แต่ส่วนใหญ่แล้วในทางปฏิบัติ ระบบปฏิบัติการมีวิธีการจัดโครงสร้างที่นิยมใช้งานใน 3 ลักษณะ คือ
                1.  การเก็บข้อมูลแบบไม่มีโครงสร้าง โดยจะเก็บข้อมูลเรียงเป็นลำดับต่อเนื่องกันไปดังแสดงในรูปที่  () โดยแต่ละชิ้นข้อมูลมีขนาดเป็นไบต์ ซึ่งในการเก็บข้อมูลลักษณะนี้ระบบปฏิบัติการจะไม่สนใจว่าในแฟ้มมีข้อมูลอะไรอยู่ จะมองข้อมูลในรูปของไบต์ทั้งหมด ระบบปฏิบัติการดอสและ
ยูนิกซ์ต่างก็มีโครงสร้างแฟ้มข้อมูลในลักษณะนี้ใช้งาน ซึ่งทำให้ผู้เขียนโปรแกรมสามารถจัดเก็บข้อมูลใดๆก็ได้ลงในแฟ้มข้อมูลโดยไม่จำเป็นต้องมีข้อกำหนดพิเศษใดๆ
2. การเก็บข้อมูลแบบมีโครงสร้าง โดยจะเก็บข้อมูลในลักษณะของกลุ่มข้อมูล ซึ่งเรียกว่า เรคอร์ด ดังแสดงในรูปที่  () โดยเรคอร์ดจะมีขนาดคงที่ ในการอ่านหรือบันทึกข้อมูลจะกระทำทีละ เรคอร์ด โดยกระทำกับเรคอร์ดใดในแฟ้มก็ได้
3. การเก็บข้อมูลแบบต้นไม้ ดังแสดงในรูปที่  () วิธีการนี้จะมีการแบ่งส่วนของสื่อบันทึกข้อมูลของเป็นส่วนๆ เรียกว่าบล็อก โดยแต่ละบล็อกจะมีหลายๆ เรคอร์ด และแต่ละ เรคอร์ด
มีคีย์ ( Key ) เพื่อใช้ในการจำแนกเรคอร์ด ในการเข้าถึงข้อมูลในแฟ้มข้อมูลจะไม่ได้เข้าถึงข้อมูลแบบลำดับแต่การเข้าถึงข้อมูล จะเป็นการเข้าถึงโดยอาศัยคีย์ ซึ่งเป็นการเข้าถึงข้อมูลเรคอร์ดนั้นโดยตรง โดยโครงสร้างของต้นไม้จะเรียงลำดับโดยคีย์ ซึ่งทำให้การเข้าถึงข้อมูลทำได้รวดเร็วมากยิ่งขึ้น โดยอาศัยคีย์ในการเข้าถึง
()
()
()
ภาพแสดงโครงสร้างของแฟ้มข้อมูลแบบต่างๆ
                ระบบปฏิบัติการที่มีประสิทธิภาพ จะต้องเป็นสามารถทำให้ผู้ใช้เป็นอิสระจากอุปกรณ์ ( Device Independent ) ดังนั้นการเข้าถึงแฟ้มเพื่อใช้งานข้อมูลของใช้จะต้องเหมือนกันหรือมีรูบแบบเดียวกันหมดไม่ว่าจะเป็นแฟ้มหรืออุปกรณ์ใดๆ เช่น โปรแกรมที่อ่านข้อมูลจากแฟ้ม อินพุตเข้ามาเรียงลำดับข้อมูล และเขียนผลลัพธ์กลับไปที่แฟ้มเอาต์พุต ควรใช้ได้กับแฟ้มบนฟล็อปปี้ดิสก์หรือแฟ้มบนฮาร์ดดิสก์ และควรเขียนเอาต์พุตออกทางแฟ้ม จอภาพ หรือเครื่องพิมพ์ ได้โดยไม่ต้องเขียนโปรแกรมให้ตรวจสอบในแต่ละกรณี 

ที่มา: http://www.tkc.ac.th/osunun/e-booksystem/u7_1.htm

2. ชนิดของแฟ้มข้อมูล

  ชนิดของแฟ้มข้อมูล

ระบบปฏิบัติการโดยทั่วไป จะสนับสนุนการทำงานกับแฟ้มได้หลายชนิด เช่น แฟ้มข้อมูลทั่วไป ไดเรกทอรี่ แฟ้มของอักขระ หรือแฟ้มของกลุ่มข้อมูล เป็นต้น โดยมีรายละเอียดของแฟ้มแต่ละชนิด ดังนี้
dia_pink_8.gif        แฟ้มทั่วไป เป็นแฟ้มที่เก็บข้อมูลต่างๆ ของผู้ใช้ ซึ่งอาจจะเก็บในลักษณะใดลักษณะหนึ่งตามที่ได้แสดงไว้ในรูป
dia_pink_8.gif        ไดเรกทอรี่ เป็นแฟ้มของระบบซึ่งใช้ในการจัดการโครงสร้างของระบบแฟ้มข้อมูล เช่น การจัดกลุ่มของแฟ้มประเภทเดียวกัน หรือมีความเกี่ยวข้องกันไว้ในไดเรกทอรี่เดียวกัน เป็นต้น ซึ่งจะกล่าวถึงรายละเอียดของไดเรกทอรี่ต่อไป
dia_pink_8.gif        แฟ้มอักขระ แฟ้มอักขระจะมีความเกี่ยวข้องกับการรับหรือการแสดงผลข้อมูลผ่านทางพอร์ทอนุกรมซึ่งจะมีการกระทำกับข้อมูลคราวละ 1 อักขระ เช่น แป้นพิมพ์ เป็นต้น
dia_pink_8.gif        แฟ้มของกลุ่มข้อมูล เป็นแฟ้มที่มีการดำเนินการกับข้อมูลในลักษณะ บล็อค หรือกระทำกับข้อมูลในแฟ้มคราวละ 1 กลุ่มข้อมูล เช่น ดิสก์ เป็นต้น
                สำหรับในบทนี้จะกล่าวเน้นเฉพาะแฟ้มทั่วไปเท่านั้น ข้อมูลที่เก็บในแฟ้มทั่วไป อาจจะอยู่ในรูปของรหัสแอสกี หรือที่เรียกว่าแฟ้มแอสกี ( ASCII File )โดยจะมีการเก็บข้อมูลเป็นบรรทัด และแต่ละบรรทัดจะแยกออกจากกันโดยอักขระขึ้นบรรทัดใหม่ ( Carriage Return Character ) หรืออักขระเลื่อนบรรทัด ( Line Feed Character ) และแต่ละบรรทัดก็ไม่จำเป็นที่จะต้องมีจำนวนตัวอักขระเท่ากัน แฟ้มแอสกีนี้สามารถแสดงผลข้อมูลได้เหมือนกับข้อมูลที่มีอยู่ในแฟ้ม กล่าวคือ ข้อมูลที่แสดงผลออกมาไม่ว่าจะโดยอุปกรณ์แสดงผลแบบใด จะมีลักษณะเหมือนกับข้อมูลในแฟ้มนั้นทุกประการ เราสามารถสร้างหรือแก้ไขแฟ้มแอสกีได้โดยใช้อีดิเตอร์ทั่วไป ซึ่งทำได้สะดวกและรวดเร็ว จึงทำให้โปรแกรมใช้งานทั่วๆ ไป นิยมทำงานกับข้อมูลโดยใช้แฟ้มแอสกี นอกจากการที่ทำงานได้ง่าย
และสะดวกแล้ว ยังสามารถย้ายข้อมูลไปทำงานกับโปรแกรมอื่นได้ง่าย สำหรับแฟ้มไบนารี่ ( Binary File ) เป็นแฟ้มที่มีข้อมูลภายในไม่ใช่รหัสแอสกี เป็นแฟ้มที่สามารถปฏิบัติการได้
ภาพแสดงโครงสร้างของแฟ้มปฏิบัติการของระบบปฏิบัติการยูนิกซ์
                อีกรูปแบบหนึ่งของแฟ้มไบนารี่ คือแฟ้มไบนารี่ที่เป็นแฟ้มในการเก็บไลบลารี่ ( Library ) หรือโมดูล ( Module ) ที่ได้รับการคอมไพล์แล้ว แต่ยังไม่มีการลิงก์ ซึ่งแฟ้มเหล่านี้จะถูกใช้งานโดยโปรแกรมอื่นๆ จะทำงานเชื่อมแฟ้มเหล่านี้เข้าเป็นส่วนหนึ่งของโปรแกรมนั้นเพื่อนำไปใช้งาน ระบบปฏิบัติการโดยทั่วไป จะรู้จักแฟ้มปฏิบัติการเพียงหนึ่งหรือสองประเภท เช่น ในระบบปฏิบัติการดอสจะรู้จักแฟ้มปฏิบัติการ 2 ประเภทคือ .com และ .exe 

ที่มา: http://www.tkc.ac.th/osunun/e-booksystem/u7_2.htm

3. การเข้าถึงแฟ้มข้อมูล

3.1 การเข้าถึงข้อมูลแบบเรียงลำดับ (Sequential Access)

การเข้าถึงข้อมูลแบบเรียงลำดับ (Sequential Access) 
ระบบปฏิบัติการรุ่นแรกๆ จะมีการเข้าถึงแฟ้มข้อมูลเพียงแบบเดียวเท่านั้น คือ การเข้าถึงแบบลำดับ ( Sequential Access)โดยจะมีการอ่านหรือบันทึกข้อมูลในแฟ้มเรียงตามลำดับไบต์ หรือเรคอร์ดต่อเนื่องกันไป โดยไม่สามารถข้ามไบต์ใดไบต์หนึ่งหรือเรคอร์ดใดเรกคอร์ดหนึ่งไปได้ ซึ่งมักจะใช้วิธีการเข้าถึงแฟ้มแบบนี้กับสื่อบันทึกข้อมูลที่มีการเข้าถึงแบบลำดับ ( Sequential Access Storage Device : SASD ) เช่น เทปแม่เหล็ก

ที่มา: http://www.tkc.ac.th/osunun/e-booksystem/u7_2.htm

3.2 การเข้าถึงข้อมูลแบบสุ่ม (Random Access)

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


ที่มา: http://www.tkc.ac.th/osunun/e-booksystem/u7_2.htm

4. การจัดระบบแฟ้ม File System

 การจัดระบบแฟ้ม File System

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