Please enable JavaScript.
Coggle requires JavaScript to display documents.
บทที่9 การจัดการ แฟ้มข้อมูล - Coggle Diagram
บทที่9 การจัดการ
แฟ้มข้อมูล
แนวคิดเกี่ยวกับ
แฟ้มข้อมูล
แฟ้มข้อมูล
แฟ้มข้อมูลถูก
กำหนดเป็นโครงสร้างตามชนิดของข้อมูลดังนี้
Source File
คือ ลำดับของโปรแกรมย่อย (Subroutine) และฟังก์ชัน
Object File
คือ ลำดับของไบต์ ที่จัดเรียงในบล็อคที่ตัวเชื่อมโยง (Linker) ของระบบเข้า
Text File
คือ ลำดับของตัวอักษรที่เรียงกันในบรรทัด (หรือหน้า)
Executable File
คือ ลำดับของส่วนของรหัสโปรแกรมซึ่งตัว Load โปรแกรม (Loader)นำเข้ามายังหน่วยความจำและสั่งให้ทำงาน (Execute)
คือ ชื่อของสารสนเทศที่สัมพันธ์กัน ซึ่งถูกบันทึกไว้ในหน่วยเก็บข้อมูลสำรอง
(Secondary storage)
ในมุมมองของผู้ใช้แฟ้มข้อมูลคือการจัดสรรที่เล็กที่สุดของหน่วยเก็บข้อมูลสำรอง
ซึ่งข้อมูลนี้ไม่สามารถเขียนไปยังหน่วยความจำหลักได้เว้นแต่จะถูกจัดเก็บภายในแฟ้มของข้อมูล
คุณลักษณะของ
แฟ้มข้อมูล (File Attributes)
ประเภท (Type)
ข้อมูลนี้จำเป็นสำหรับระบบที่สนับสนุนประเภทต่าง ๆ ของแฟ้มข้อมูล
ตำแหน่ง (Location)
ข้อมูลนี้เป็นตัวชี้ไปยังอุปกรณ์และตำแหน่งของแฟ้มที่อยู่ในฮาร์ดดิสก์
คุณลักษณะของ
แฟ้มข้อมูลที่แตกต่างกันขึ้นอยู่กับระบบปฏิบัติการ แต่โดยปกติจะประกอบด้วยสิ่งเหล่านี้
ขนาด (Size)
จะบอกขนาดปัจจุบันของแฟ้มข้อมูล (หน่วยเป็นไบต์) ซึ่งขนาดสูงสุดจะถูกกำหนดเอาไว้
การป้องกัน (Protection)
จะใช้ควบคุมสิทธิ์ในการเข้าถึงแฟ้มข้อมูลต่าง ๆ
วันเวลาของผู้ใช้(Time, Date, and User Identification)
ข้อมูลนี้จะถูกเก็บไว้เมื่อมีการ
แก้ไขแฟ้มข้อมูลนี้ในครั้งล่าสุด
การดำเนินการกับ
แฟ้มข้อมูล (File Operations)
การสร้างแฟ้มข้อมูล (Creating a file)
การเขียนแฟ้มข้อมูล (Writing a file)
อ่านแฟ้มข้อมูล (Reading a file)
ที่เก็บแฟ้มข้อมูลภายในแฟ้ม (Repositioning within a file)
การลบแฟ้มข้อมูล (Deleting a file)
การตัดทอนแฟ้มข้อมูล (Truncating a file)
การเปิดแฟ้มข้อมูล
ตัวชี้แฟ้มข้อมูล (File pointer)
การนับการเปิดแฟ้มข้อมูล (File-open count)
สิทธิ์ในการเข้าใช้(Access rights)
ตำแหน่งของแฟ้มข้อมูลบนดิสก์ (Disk location of the file)
ประเภทของ
แฟ้มข้อมูล (File types)
เมื่อเรามีการออกแบบระบบแฟ้มควรรู้จักและสนับสนุนแฟ้มข้อมูลประเภทไหน
ที่สามารถทำงานร่วมกับแฟ้มข้อมูลในลักษณะที่เหมาสมได้
โครงสร้างของแฟ้ม (File Structure)
โครงสร้างข้อมูล
หมายถึง ลักษณะการจัดแบ่งพิกัดต่าง ๆ ของข้อมูลสำหรับแต่ละระเบียน(Record) ในแฟ้มข้อมูลเพื่อให้คอมพิวเตอร์สามารถรับไปประมวลผลได้
ประกอบด้วยส่วนต่างดังนี้
3. เขตข้อมูล (Field)
หรือคำ (Word) คือ หน่วยของข้อมูลที่เกิดจากการนำอักขระหลาย ๆ ตัวมารวมกัน
4. ระเบียน (Record)
คือ หน่วยของข้อมูลที่มีการน าเขตข้อมูลหลาย ๆ เขตข้อมูล ที่มีความสัมพันธ์กันมารวมกัน
2. ไบต์(Byte)
หรือ ตัวอักขระ (Character) คือ หน่วยของข้อมูลที่นำบิตหลาย ๆ บิตมารวมกันแทนตัวอักษรแต่ละตัว
1. บิต (Bit : Binary Digit)
คือ หน่วยของข้อมูลที่เล็กที่สุดที่เก็บอยู่ในหน่วยความจำภายในคอมพิวเตอร์ซึ่งบิตจะแทนด้วยตัวเลข 0 และ1
5. แฟ้มข้อมูล (File)
คือ หน่วยของข้อมูลที่มีการน าระเบียนหลาย ๆ ระเบียนที่มีความสัมพันธ์กันมารวมกัน
6. ฐานข้อมูล (Database)
คือ หน่วยของข้อมูลที่มีการน าแฟ้มข้อมูลหลาย ๆ แฟ้มข้อมูล ที่มีความสัมพันธ์กันมารวมกัน
โครงสร้างของแฟ้มข้อมูลภายใน (Internal File Structure)
การเข้าใช้พื้นที่ในดิสก์ทั้งหมด
(Disk I/O) ถูกแบ่งเป็นหน่วยของบล็อกมีขนาดเท่ากัน โดย Physical record จะต้องตรงกับความยาวของ logical record การห่อจำนวนของ Logical recordไปสู่ Physical block เป็นวิธีโดยทั่วไปในการแก้ปัญหานี้
แฟ้มข้อมูลอาจถูกพิจารณาเป็นบล็อกแบบเรียงลำดับฟังก์ชัน I/O พื้นฐานทั้งหมดจะทำงานในแบบของบล็อก การแปลงจาก Logical record ไปเป็น Physical block คือปัญหาอย่างง่ายของซอฟแวร์
ขนาดของ Logical record ขนาดของ Physical block และเทคนิคการห่อ เป็นตัวกำหนดว่าLogical record จำนวนเท่าไรที่จะอยู่ในแต่ละ Physical block การห่อสามารถทำได้โดยโปรแกรมประยุกต์ของผู้ใช้หรือโดยระบบปฏิบัติการ
วิธีการเข้า
ถึงแฟ้มข้อมูล
วิธีเข้าถึงโดยลำดับ (Sequential Access)
เพื่อให้สามารถเรียกมาใช้ได้อย่างมีประสิทธิภาพ ใช้ใน
โปรแกรมประเภทคลังข้อมูล การเข้าถึงหน่วยเก็บข้อมูลหรือสื่อบางชนิด
เช่น แถบแม่เหล็ก (Tape) ซึ่งจะเก็บข้อมูลไว้โดยเรียงไปตามลำดับ
การเข้าถึงโดยตรง (Direct Access)
หมายถึง การเข้าถึงข้อมูลโดยใช้เวลาในการค้นหาข้อมูลได้เร็วเท่ากันหมด ไม่ขึ้นกับตำแหน่งที่เก็บหมายความว่า ไม่ว่าข้อมูลจะเก็บอยู่ที่ส่วนใดของสื่อที่ใช้บันทึกหัวอ่าน (Read head)
ก็จะเจาะตรงลงไปอ่านได้เลย เช่น การอ่านข้อมูลจากจานบันทึก ซึ่งผิดกับการอ่านข้อมูลจากแถบบันทึกที่ต้องอ่านเรียงไปตามลำดับตั้งแต่ต้นเทปไปจนกว่าจะถึงข้อมูลที่ต้องการทุกครั้ง
วิธีการเข้าถึงอื่น ๆ (Other Access Methods)
โดยทั่วไปแล้วเกี่ยวข้องกับโครงสร้างของตัวชี้ของแฟ้มข้อมูล
ไว้สำหรับค้นหาข้อมูล
ในแฟ้มข้อมูล ในการค้นหาครั้งแรกใช้ดัชนีและใช้ตัวชี้ในการเข้าถึงแฟ้มข้อมูล
โครงสร้าง
ของไดเรกทอรี่
การนำไดเรกทอรี่ไปใช้มีวิธีในการ
ดำเนินการดังนี้
สร้างแฟ้มข้อมูล (Create a file)
ลบแฟ้มข้อมูล (delete a file)
ค้นหาแฟ้มข้อมูล (Search for a file)
แสดงไดเรกทอรี่ (List a directory)
เปลี่ยนชื่อแฟ้มข้อมูล (Rename a file)
การข้ามระบบแฟ้มข้อมูล (Traverse the file system)
ไดเรกทอรี่ระดับเดียว (Single-Level Directory)
โครงสร้างต่างๆของไดเรกทอรี่ คือ ไดเรกทอรี่ระดับเดียว แฟ้มข้อมูลทั้งหมดจะถูกเก็บไว้ในไดเรกทอรี่เดียว
ไดเรกทอรี่ระดับเดียวมีความส าคัญอยู่ที่ข้อกำจัดของมัน อย่างไรก็ตามเมื่อตัวเลขของแฟ้มข้อมูล
เพิ่มขึ้นหรือระบบมีมากกว่าหนึ่ง
ไดเรกทอรี่สองระดับ (Two-Level Directory)
วิธีการมาตรฐาน
แต่ละผู้ใช้จะมีไดเรกทอรี่ของตนเองโดยจะสร้างโครงสร้างจำลองขึ้นมาสำหรับผู้ใช้เพียงคนเดียว เมื่อผู้ใช้เริ่มใช้งานระบบหลักถึงจะทำการค้นหา MFD จะเป็นตัวดัชนีสำหรับผู้ใช้
การสร้าง
การระบุชื่อแฟ้มข้อมูลในไดเรกทอรี่สองระดับ เราต้องให้ทั้งชื่อของผู้ใช้และชื่อแฟ้มข้อมูไดเรกทอรี่สองระดับสามารถมองเป็นต้นไม้ ราก ของต้นไม้คือ แฟ้มข้อมูลของตัวมันเอง แฟ้มข้อมูลคือ ใบไม้ของต้นไม้นั่นเอง ชื่อของผู้ใช้และชื่อชื่อแฟ้มข้อมูลที่มีลักษณะเฉพาะ ผู้ใช้ต้องรู้ชื่อของเส้นทางของแฟ้มที่ต้องการ
การลบ
ระบบปฏิบัติการจะกำหนดขอบเขตการค้นหาอยู่ในแต่ละ UFD ฉะนั้นมันจะไม่สามารถจะไปลบแฟ้มข้อมูลที่ชื่อเหมือนกันของผู้ใช้คนอื่นได้
ไดเรกทอรี่ที่มีโครงสร้างแบบต้นไม้(Tree-structured directory)
โปรแกรมเรียกระบบจะทำให้ชื่อไดเรกทอรี่เป็นเหมือนพารามิเตอร์และใช้มัน เพื่อกำหนดไดเรกทอรี่ปัจจุบันใหม่ ดังนั้นผู้ใช้จึงสามารถเปลี่ยนไดเรกทอรี่ปัจจุบันของผู้ใช้ได้ตามต้องการ
วิธีการอ้างถึงชื่อแฟ้มข้อมูลดังนี้
การอ้างชื่อแฟ้มข้อมูลแบบสัมบูรณ์(Absolute path name)
การอ้างชื่อแบบสัมพัทธ์ (Relative path name)
วิธีการอ้างถึงชื่อ
แฟ้มข้อมูลดังนี้
การอ้างชื่อแฟ้มข้อมูลแบบสัมบูรณ์
(Absolute path name)
เป็นการอ้างถึงแฟ้มข้อมูลโดยเริ่มจากราก (Root) เสมอ ตามด้วยชื่อไดเรกทอรี่ย่อยไล่ลงมาตามลำดับจนถึงแฟ้มที่บรรจุข้อมูลอยู่
การอ้างชื่อแบบสัมพัทธ์ (Relative path name)
เป็นการอ้างถึงแฟ้มข้อมูลโดยที่ผู้ใช้จะต้องเข้าใจในเรื่องระบบไดเรกทอรี่ปัจจุบัน (Current directory) เช่น
ระบบปฏิบัติการ Windows หรือ MS-DOS \lib\readme.doc
ระบบปฏิบัติการ UNIX หรือ Linux /user/lib/readme.doc
ไดเรกทอรี่กราฟแบบ
ไม่เป็นวงจร (Acyclic-Graph Directory)
อีกวิธีหนึ่งในการใช้แฟ้มข้อมูลร่วมกัน คือ
การคัดลอก
สารสนเทศทั้งหมดไปไว้ในไดเรกทอรี่ที่ใช้
ร่วมกันทั้งคู่ ดังนั้นไดเรกทอรี่ทั้งคู่ต้องเหมือนกันและเท่ากัน
Acyclic graph
สามารถปรับให้เข้ากับสถานการณ์ โดยการสร้างต้นไม้แบบง่าย ๆ ได้ แต่เป็นเรื่อง
ที่ยุ่งยากแฟ้มข้อมูลอาจจะมีหลาย Path name
กราฟแบบไม่เป็นวงจร (Acyclic graph)
อนุญาตให้มีการใช้ไดเรกทอรี่และแฟ้มข้อมูล
ร่วมกันได้การใช้แฟ้มข้อมูลและไดเรกทอรี่ร่วมกันนั้นในทางปฏิบัติแล้วสามารถทำได้หลายวิธี
ไดเรกทอรี่แบบกราฟโดยทั่วไป (General Graph Directory)
Acyclic graph
คือ ความสัมพันธ์ที่มีความเรียบง่ายของอัลกอริทึมที่จะท่องไปในกราฟ
คือต้องการหลีกเลี่ยงการค้นหาข้อมูลซ้ำเป็นครั้งที่สอง ถ้าออกแบบอัลกอริทึมไม่ดีจะทำให้เกิดการวนซ้ำ(Loop) ไม่รู้จบ
การค้นหาในวงจรก็จะไม่มีวันจบสิ้น วิธีแก้คือจำกัดจำนวนของไดเรกทอรี่ที่จะเข้าใช้ในระหว่างการค้นหา
การป้องกัน
การสูญหายของข้อมูล
ชนิดของการเข้าถึง
แฟ้มข้อมูล (Types of Access)
เข้าถึงแฟ้มข้อมูลเพียงคนเดียว เป็นวิธีการป้องกันที่ดีสำหรับการใช้งานทั่วไป
ประเภทในการกำหนิดชนิด
ดำเนินการ (
Execute
) อ่านแฟ้มข้อมูลแล้วเอาเข้าไปในหน่วยความจำแล้วดำเนินการกับแฟ้มข้อมูลนั้น
เพิ่ม (
Append
) เขียนข้อมูลใหม่จนกระทั่งจบแฟ้มข้อมูล
เขียน (
Write
) เขียนหรือเขียนซ้ำแฟ้มข้อมูล
ลบ (
Delete
) ลบแฟ้มข้อมูลออกไปทำให้เกิดพื้นที่ว่าง
อ่าน (
Read
) อ่านข้อมูลจากแฟ้มข้อมูล
รายการ (
List
) แสดงชื่อและส่วนประกอบต่าง ๆ ของแฟ้มข้อมูล
รายการเข้าถึงแฟ้ม
ข้อมูลและกลุ่ม (Access Lists and Groups)
ส่วนของ
AROs (Access Request Objects)
กลุ่มของผู้ใช้หรือผู้ใช้จะสามารถแบ่งเป็นระดับย่อย ๆ ได้หลายระดับ
ส่วนของ
ACOs (Access Control Objects)
ของเราที่ต้องการจะกำหนดสิทธิ์ให้กับผู้ใช้บางกลุ่มหรือบางคนในการเข้าถึงทรัพยากรต่าง
เจ้าของ (Owner)
เป็นเจ้าของแฟ้มข้อมูลสามารถกำหนดสิทธิ์ให้แก่ผู้ใช้งานทั่วไปได้
กลุ่ม (Group
) เป็นกลุ่มของผู้ใช้ซึ่งจะแชร์แฟ้มข้อมูลใช้งานระหว่างกันได้และต้องการ เข้าถึง
ที่คล้ายกันเป็นกลุ่มหรือท างานกลุ่ม
คนอื่นทั้งหมด
(Universe
) เป็นกลุ่มของผู้ใช้ทั้งหมดที่มีอยู่ในระบบการป้องกันที่เชื่อมโยงกับ
แฟ้มข้อมูล
แนวทางการ
ป้องกันอื่น ๆ
ระบบปฏิบัติการ MS-DOS
และระบบปฏิบัติการก่อนหน้า Mac OS X ด้านการป้องกันแฟ้มข้อมูลนั้นมีเพียงเล็กน้อย ในสถานการณ์ที่ระบบเก่าเหล่านี้จะมีการวางแฟ้มข้อมูลไว้ในเครือข่ายที่แชร์
ระบบ Multilevel
โครงสร้างไดเรกทอรี่ต้องป้องกันไม่เพียงแต่ละแฟ้มข้อมูลแต่ยังต้องป้องกัน
ชุดของแฟ้มข้อมูลในไดเรกทอรี่ย่อยการทำงานของไดเรกทอรี่ต้องมีการป้องกันที่ค่อนข้างแตกต่างจากการดำเนินงานแฟ้มข้อมูล และจำเป็นต้องควบคุมการสร้างและลบแฟ้มข้อมูลในไดเรกทอรี่