540 likes | 650 Views
การจัดการไฟล์. File Management. การจัดการไฟล์ (File Management). การทำงานในระบบคอมพิวเตอร์ทั้งหมดจำเป็นต้องมีการเก็บและนำ ข้อมูลไปใช้งาน ขณะที่โปรเซสกำลังทำงานข้อมูลจะเก็บไว้ในหน่วยความจำ ถ้าเครื่องคอมพิวเตอร์ดับไม่ว่าด้วยสาเหตุใดก็ตามข้อมูลทั้งหมดจะสูญหายไป
E N D
การจัดการไฟล์ File Management
การจัดการไฟล์ (File Management) • การทำงานในระบบคอมพิวเตอร์ทั้งหมดจำเป็นต้องมีการเก็บและนำ ข้อมูลไปใช้งาน • ขณะที่โปรเซสกำลังทำงานข้อมูลจะเก็บไว้ในหน่วยความจำ ถ้าเครื่องคอมพิวเตอร์ดับไม่ว่าด้วยสาเหตุใดก็ตามข้อมูลทั้งหมดจะสูญหายไป • ดังนั้นจึงจำเป็นต้องจัดเก็บข้อมูลเหล่านี้ไว้ในหน่วยจัดเก็บข้อมูลสำรอง ซึ่งอาจจะเป็นแผ่นดิสก์เก็ต ฮาร์ดดิสก์ หรืออุปกรณ์อื่น ๆ • ในการจัดเก็บข้อมูลเหล่านี้มีจุดประสงค์เพื่อนำมาใช้งานต่อไป จึงจำเป็นต้องมีการกำหนดชื่อเพื่อแทนกลุ่มข้อมูล ซึ่งเราเรียกว่าไฟล์ข้อมูล
การจัดการไฟล์ (File Management) • นอกจากนี้ถ้าเราจัดเก็บข้อมูลไม่เป็นระเบียบจะทำให้การค้นหาไฟล์ข้อมูลที่ต้องการได้ยากหรือช้า ดังนั้นถ้าเราจัดหมวดหมู่ให้กับไฟล์ข้อมูลก็จะทำให้การค้นหาไฟล์ทำได้สะดวกหรือรวดเร็วขึ้น • การจัดให้ไฟล์เป็นหมวดหมู่ก็คือการจัดเก็บในไดเร็กทอรี่ (Directory) หรือโฟลเดอร์ (Folder)
ไฟล์ข้อมูล (File) • หมายถึงสิ่งที่บรรจุข้อมูลต่าง ๆ ไว้ในที่เดียวกัน ซึ่งอาจหมายถึงโปรแกรมหรือข้อมูลที่เราต้องการเก็บไว้ด้วยกัน • เมื่อเราต้องการค้นหาไฟล์ เราอ้างอิงด้วยชื่อไฟล์โดยไม่จำเป็นต้องทราบว่าไฟล์นั้นถูกเก็บไว้ในส่วนใดในดิสก์ • OS จะมีโปรแกรมย่อยที่ชื่อ System Callทำหน้าที่จัดการงานที่เกี่ยวข้องกับไฟล์ เช่น การสร้างไฟล์ การลบไฟล์ การอ่าน/เขียนทับไฟล์
คำสั่งที่ใช้ในการจัดการไฟล์คำสั่งที่ใช้ในการจัดการไฟล์ • DIR (DIRECTORY) ดูชื่อแฟ้มข้อมูล, เนื้อที่บนแผ่นดิสก์, ชื่อแผ่นดิสก์ • TYPE แสดงเนื้อหาหรือข้อมูลในแฟ้มข้อมูลที่กำหนด • COPY ใช้คัดลอกแฟ้มข้อมูลหนึ่ง หรือหลายแฟ้มข้อมูลจากแฟ้มข้อมูลต้นทาง ไปยังแฟ้มข้อมูลปลายทาง • REN (RENAME) เปลี่ยนชื่อแฟ้มข้อมูล (ข้อมูลข้างในแฟ้มข้อมูลยังเหมือนเดิม)
คำสั่งที่ใช้ในการจัดการไฟล์ … ต่อ • DEL (DELETE) ลบแฟ้มข้อมูลออกจากแผ่นดิสก์ • MD (MAKE DIRECTORY) สร้าง subdirectory (ห้องย่อย) เพื่อจัดเก็บแฟ้มข้อมูล • CD (CHANGE DIRECTORY) เป็นคำสั่งในการเปลี่ยนไปใช้งาน subdirectory ที่ต้องการ • RD (REMOVE DIRECTORY) ลบ subdirectory (ห้องย่อย) ที่สร้างด้วยคำสั่ง MD
คำสั่งที่ใช้ในการจัดการไฟล์ … ต่อ • TREE แสดงรายชื่อ directory ทั้งหมดในแผ่นดิสก์ ที่กำหนด • SYS (SYSTEM) เป็นคำสั่ง copy แฟ้มข้อมูลที่ใช้ในการเปิดเครื่องลงในแผ่นดิสก์หรือฮาร์ดดิสก์ ที่ไม่มีระบบ • DISKCOPY (COPY DISKETTE) เป็นคำสั่งที่ใช้ copy file ทั้งหมดจากแผ่นดิสก์จากแผ่นหนึ่งไปใส่อีกแผ่นหนึ่ง แต่ถ้าแผ่นดิสก์อีกแผ่น ยังไม่ได้ทำการ format ก็จะทำการ format ให้โดยอัตโนมัติ
คำสั่งที่ใช้ในการจัดการไฟล์ … ต่อ • $ ls [-altCF] [directory …]เป็นการแสดงชื่อไฟล์ที่มีอยู่ใน ไดเรกทอรี่ที่ระบุ • $ pwdคือคำสั่งที่ใช้เช็คว่าไดเรกทอรี่ปัจจุบันอยู่ที่ตำแหน่งใด • $ cd [ชื่อพาท]เป็นการเปลี่ยนไดเรกทอรี่ไป เป็นไดเรกทอรี่ที่ต้องการ • $ mkdir [ชื่อไดเรกทอรี่]คือคำสั่งที่ใช้ในการสร้างไดเรกทอรี่ใหม่ขึ้น
คำสั่งที่ใช้ในการจัดการไฟล์ … ต่อ • $ rmdir [ชื่อไดเรกทอรี่]คือการลบไดเรกทอรี่ที่มีอยู่ • $ rm [ชื่อไฟล์]คือการลบไฟล์ที่อ้างถึง • cat [ชื่อไฟล์] เป็นการแสดงข้อความในไฟล์ที่เป็นเท็กซ์ไฟล์ (Text Files : ไฟล์ตัวอักษร) แสดงบนจอภาพ • $ mv [ชื่อไฟล์ต้นทาง] [ชื่อไฟล์ปลายทาง]คือการย้ายไฟล์ (move) จากพาทใดๆที่อ้างอิงถึงไปยังพาทปลายทาง
คำสั่งที่ใช้ในการจัดการไฟล์ … ต่อ • $ moreเป็นการแสดงข้อความในไฟล์ทีละหน้าจอแล้วหยุดรอจนกว่าผู้ใช้จะกดคีย์ช่องว่าง (space bar) จึงจะแสดงข้อมูลหน้า ถัดไปหรือกด Enter เพื่อแสดงข้อมูลบรรทัดถัดไปทีละบรรทัด • $ cp [ชื่อไฟล์ต้นฉบับ] [ชื่อไฟล์สำเนา]เป็นคำสั่งคัดลอก (copy) ข้อมูลจากไฟล์หนึ่ง ไปยังปลายทางที่ต้องการ
การตั้งชื่อไฟล์ข้อมูลการตั้งชื่อไฟล์ข้อมูล • ในการกำหนดชื่อไฟล์ในแต่ละ OS นั้นมีความแตกต่างกันอยู่บ้าง • แต่โดยหลักการจะคล้ายคลึงกันคือ ชื่อไฟล์จะประกอบ 2 ส่วนด้วยกัน คือส่วนที่เป็นชื่อหลัก และส่วนที่เป็นนามสกุล (File extension)ทั้งสองส่วนนี้จะถูกคั่นด้วยจุด (Period) เช่น readme.txt , document.doc เป็นต้น • ตัวอย่างข้อกำหนดที่แตกต่างกันในแต่ละ OS • ระบบ MS-DOS ส่วนที่เป็นชื่อหลักจะประกอบด้วยตัวอักษรไม่เกิน 8 ตัวอักษร และตามด้วยนามสกุลไม่เกิน 3 ตัวอักษร • ระบบ UNIX ถือว่าการตั้งชื่อด้วยอักษรตัวใหญ่ตัวเล็กไม่เหมือนกัน (Case sensitive) เช่น Readme.txt , readme.txt หรือ README.TXT ถือว่าเป็นคนละไฟล์
ตัวอย่างชนิดของไฟล์ข้อมูลตัวอย่างชนิดของไฟล์ข้อมูล
a b c a1 a2 b1 b2 โครงสร้างไฟล์ข้อมูล • การจัดโครงสร้างไฟล์ข้อมูลที่ใช้กันอยู่ทั่วไปมีอยู่ 3 แบบ • แบบไบต์เรียงต่อกันไป เช่น UNIX และ Windows เวลาอ่าน/เขียนก็จะทำงานทีละไบต์ • แบบเรกคอร์ด (Record)โดยมีขนาดของเรกคอร์ดคงที่ เช่น CP/M เวลาอ่าน/เขียนก็จะทำงานทีละเรกคอร์ด สำหรับเรกคอร์ดสุดท้ายอาจจะไม่เต็มเรกคอร์ดก็ได้ • แบบต้นไม้ (Tree)จะจัดเก็บเป็นบล็อก ในแต่ละบล็อกจะประกอบด้วยเรกคอร์ด โดยขนาดของแต่ละเรกคอร์ดอาจไม่เท่ากัน เช่น OS ในระบบ Mainframe เวลาอ่าน/เขียนก็จะทำงานโดยค้นไปตามการเชื่อมโยงของต้นไม้ แบบที่ 3 แบบที่ 1 แบบที่ 2
ไดเร็กทอรี (Directory) • ไดเร็กทอรี (Directory)หมายถึงสารบัญที่เก็บรวบรวมรายชื่อของไฟล์ต่าง ๆ ทั้งหมดไว้ เพื่อให้ผู้ใช้สามารถค้นหา เรียกคืน และตรวจสอบข้อมูลที่ต้องการได้ • ไดเร็กทอรี เป็นไฟล์ประเภทหนึ่งซึ่งมีอยู่ 2 ระบบ • ระบบไดเร็กทอรีเดี่ยว (Single-Level Directory Systems) • ระบบไดเร็กทอรี 2 ระดับ (Two-Level Directory System) • ระบบไดเร็กทอรีหลายระดับ (Hierarchical Directory Systems)
ระบบไดเร็กทอรีเดี่ยว (Single-Level Directory Systems) • เป็นระบบที่มีโครงสร้างง่ายที่สุด ภายในระบบจะมีอยู่เพียงไดเร็กทอรีเดียว รวบรวมไฟล์ทุกไฟล์ไว้ที่เดียวกัน และทุกไฟล์จะอยู่ในระดับเดียวกัน • การจัดเก็บในลักษณะนี้ทำให้เกิดปัญหาดังนี้ • ไฟล์ต่าง ๆ ที่มีอยู่ในไดเร็กทอรีไม่สามารถแยกเจ้าของไฟล์ได้ • ไฟล์หลากหลายชนิดต้องอยู่ปะปนกันทำให้ไม่สะดวกในการค้นหา • ในกรณีที่ต้องการสร้างไฟล์ให้มีชื่อเหมือนที่มีอยู่ก่อนแล้วไม่สามารถทำได้ ซึ่งถ้าสร้างไฟล์ให้มีชื่อเดียวกับที่มีอยู่ก่อนนั้น จะทำให้ไฟล์เก่าถูกเขียนทับลงไปโดยไม่ได้ตั้งใจ ทำให้ข้อมูลสูญหายได้
ระบบไดเร็กทอรี 2 ระดับ (Two-Level Directory System) • แก้ปัญหาแบบแรกได้แต่ไม่เต็มร้อย • จะกำหนดให้ผู้ใช้แต่ละคนสามารถสร้างไดเร็กทอรีย่อยของตนได้เรียกว่า Sub-Directory หรือไดเร็กทอรีย่อย ในแต่ละสับไดเร็กทอรีจะอยู่ภายใต้ไดเร็กทอรีรากเดียวกัน (Root directory) • ภายในสับไดเร็กทอรีผู้ใช้สามารถกำหนดชื่อไฟล์ได้ตามใจโดยไม่ต้องไปกังวลว่าจะไปซ้ำกับชื่อใคร • แต่ปัญหาก็คือกรณีที่ผู้ใช้มีไฟล์หลายประเภทจะไม่สามาถแยกประเภทของไฟล์ต่าง ๆ ได้ตามต้องการ
ระบบไดเร็กทอรีหลายระดับ Hierarchical Directory Systems • เพื่อแก้ปัญหาระบบไดเร็กทอรีเดี่ยว OS จึงยอมให้มีการสร้างโครงสร้างไดเร็กทอรีแบบหลายระดับขึ้นมา ซึ่งกำหนดให้ผู้ใช้แต่ละคนสามารถสร้างไดเร็กทอรีย่อย (Sub-directory) ได้โดยไม่จำกัด • ระบบไฟล์ในปัจจุบันใช้โครงสร้างไดเร็กทอรีแบบนี้ • เรียกอีกชื่อหนึ่งว่า ระบบไดเร็กทอรีแบบโครงสร้างต้นไม้ (Tree Structure)
root root B A C ระบบไดเร็กทอรีเดี่ยว (Single-Level Directory Systems) root ระบบไดเร็กทอรี 2ระดับ Two-Level Directory System A B C B1 B2 C1 C2 ระบบไดเร็กทอรีหลายระดับ Hierarchical Directory Systems
ชื่อพาธ (Path name) • การอ้างอิงถึงไฟล์ใด ๆ ก็ตามจำเป็นต้องระบุที่อยู่ของไฟล์นั้น ๆ ให้ถูกต้องว่าอยู่ในไดเร็กทอรีใด หรือสับไดเร็กทอรีใด • ในการกำหนดที่อยู่หรือเส้นทางที่จะเข้าถึงไฟล์นั้น ๆ เรียกว่า พาธ (Path) • ดังนั้นถ้าต้องการอ้างถึงไฟล์ใด ๆ ในดิสก์จำเป็นต้องระบุพาธให้ถูกต้องพร้อมชื่อไฟล์ • วิธีการอ้างถึงชื่อไฟล์นั้นมี 2 วิธี • การอ้างชื่อไฟล์แบบสัมบูรณ์ (Absolute path name) • การอ้างชื่อแบบสัมพัทธ์ (Relative path name)
การอ้างชื่อไฟล์แบบสัมบูรณ์ (Absolute path name) • เป็นการอ้างถึงไฟล์โดยเริ่มจากราก (Root) เสมอตามด้วยชื่อสับไดเร็กทอรีย่อยไล่ลงมาตามลำดับชั้นของไดเร็กทอรีจนกระทั่งถึงไดเร็กทอรีที่บรรจุไฟล์อยู่ และจบลงด้วยชื่อไฟล์นั้น ๆ • ตัวอย่างการอ้างถึงไฟล์ชื่อ Readme.doc ที่อยู่ภายใต้พาธ (Root user lib) • Windows หรือ MS-DOS \user\lib\readme.doc • UNIX หรือ Linux /user/lib/readme.doc
รูปแบบไดเร็กทอรีของ UNIX หรือ Linux bin etc lib usr tmp bin etc usr don lib lib tmp don lib Readme.doc Readme.doc การอ้างชื่อไฟล์แบบสัมบูรณ์ (Absolute path name) … ต่อ
การอ้างชื่อไฟล์แบบสัมพัทธ์ (Relative path name) • เป็นการอ้างถึงไฟล์โดยที่ผู้ใช้จะต้องเข้าใจในเรื่องระบบไดเร็กทอรีปัจจุบัน (Current directory) เนื่องจากการอ้างถึงชื่อไฟล์จะเริ่มต้นจากไดเร็กทอรีปัจจุบันแล้วไล่ไปตามลำดับชั้นของไดเร็กทอรีที่ไฟล์นั้นอยู่และจบลงด้วยชื่อไฟล์นั้น • ตัวอย่างการอ้างถึงไฟล์ชื่อ Readme.doc ที่อยู่ภายใต้พาธ (Root user lib) โดยที่ไดเร็กทอรีปัจจุบันอยู่ที่ user • Windows หรือ MS-DOS \lib\readme.doc • UNIX หรือ Linux /lib/readme.doc
การทำงานของระบบไฟล์ (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 หมายเลข
โครงสร้างไดเร็กทอรี่ (Directory Structure) ใน DOS • ไดเร็กทอรี่เป็นที่เก็บรวบรวมไฟล์ข้อมูลต่าง ๆ เข้าไว้ด้วยกัน • ผู้ใช้ที่ต้องการจะเข้าถึงไฟล์ข้อมูลใด ๆ ก็จำเป็นต้องต้องทราบว่าไฟล์นั้น ๆ อยู่ในไดเร็กทอรี่ใด และจะเข้าถึงได้จากเส้นทาง (Path) ใด • ดังนั้นไดเร็กทอรี่จำเป็นต้องมีตารางบันทึกไฟล์ต่าง ๆ ไว้ • โครงสร้างไดเร็กทอรี่ที่ใช้ใน DOS ภายในตารางจะมีองค์ประกอบดังนี้ • ชื่อไฟล์ มีขนาด 8 Byte • ส่วนขยาย มีขนาด 3 Byte • คุณสมบัติของไฟล์ (File Attribute) มีขนาด 1 Byte
8 3 1 10 2 2 2 4 ชื่อไฟล์ ส่วนขยาย กั้น ขนาด วัน เวลา คุณสมบัติ หมายเลขบล็อกแรกของไฟล์ โครงสร้างไดเร็กทอรี่ (Directory Structure) ใน DOS … ต่อ • กั้นไว้ มีขนาด 10 Byte • วัน-เวลาที่บันทึก มีขนาด 4 Byte • หมายเลขบล็อกแรกของไฟล์ มีขนาด 2 Byte • ขนาดของไฟล์ มีขนาด 4 Byte
โครงสร้างไดเร็กทอรี่ในระบบ Windows(Directory Structure of Windows) • ตารางไดเร็กทอรี่ในระบบ DOS มีชื่อเรียกว่า FAT-32 • เนื่องจากในระบบ DOS การตั้งชื่อไฟล์ไม่สามารถตั้งชื่อได้เกิน 8 ตัวอักษร เนื่องจากข้อจำกัดในโครงสร้างของไดเร็กทอรี่ • การทำให้ระบบสามารถกำหนดชื่อไฟล์ได้มากกว่า 8 ตัวอักษรเราเรียกไฟล์ที่มีชื่อยาวกว่า 8 ตัวอักษรว่า “Long File Name” • บริษัทไมโครซอฟต์จึงได้พิจารณาหาทางออกให้สามารถตั้งชื่อไฟล์ที่มีขนาดเกิน 8 ตัวอักษร โดยมีวิธีการดังนี้
1 10 1 1 1 12 2 4 5 Characters 0 6 Characters 0 2 Characters คุณสมบัติ Sequence Checksum โครงสร้างไดเร็กทอรี่ในระบบ Windows(Directory Structure of Windows) • ปรับรูปแบบของตารางไดเร็กทอรี่ดังรูป
โครงสร้างไดเร็กทอรี่ในระบบ Windows(Directory Structure of Windows) • ในแต่ละฟิลด์ของตารางประกอบด้วยส่วนต่าง ๆ ดังนี้ • Sequence มีขนาด 1 Byte แต่ใช้เพียง 6 บิต สามารถแสดงลำดับที่ได้ 64 (26) ตำแหน่ง ดังนั้นสามารถเก็บชื่อไฟล์ได้เท่ากับ 64*13=832 ตัวอักษร • 5 Characters of file name มีขนาด 10 Byte ใช้เก็บตัวอักษร 5 ตัวสลับกับช่องว่าง • คุณสมบัติของไฟล์ มีขนาด 1 Byte • 6 Characters of file name มีขนาด 12 Byte ใช้เก็บตัวอักษร 6 ตัวสลับกับช่องว่าง • 2 Characters of file name มีขนาด 4 Byte ใช้เก็บตัวอักษร 2 ตัวสลับกับช่องว่าง • นอกจากนั้นทุกไฟล์จะมีตารางแบบ DOS รวมอยู่ด้วยขนาด 32 Byte ต่อ 1 ไฟล์
C 01.do A 0 0 C 1 My d o A cument N 0 0 My Doc~1 ขนาด หมายเลขบล็อกแรกของไฟล์ เวลา วัน โครงสร้างไดเร็กทอรี่ในระบบ Windows(Directory Structure of Windows) • ตัวอย่าง Long file name ที่ชื่อ “My Document No1.Doc” c
การใช้ไฟล์ร่วมกัน (Share files) / A B C C2 B1 C1 ระบบที่มีการใช้ไฟล์ร่วม
การจัดการเนื้อที่ว่างภายในดีสก์ (Disk space management) • มีอยู่ 2 วิธีในการจัดเก็บ • เก็บเป็นไบต์ติดต่อกันไป • เก็บเป็นบล็อค
ความน่าเชื่อถือของระบบไฟล์ (File system reliability) • ข้อมูลมีความสำคัญมาก จำเป็นต้องเชื่อถือได้ว่าจะไม่เสียหาย • มีระบบกู้คืนข้อมูลได้ ปัญหาที่อาจเกิดขึ้น • ไฟดับ อาจทำให้การเก็บข้อมูลสูญหายได้ การแก้ปัญหา • ในระบบ windows จะมีการ scan disk ทุกครั้งที่ไม่มีการ shut down เครื่อง • ในระบบ Linux, Unix จะมีการตรวจสอบไฟล์ที่เป็น i-node ตอนที่เปิดเครื่อง เช่นเดียวกันกับ windows • Linux จะมีระบบไฟล์ที่เรียกว่า Ext3 ซึ่งจะป้องกันปัญหานี้ได้ดี
การทำสำรองข้อมูล (Backups) • สำรองทั้งหมดทุกครั้งที่มีการเปลี่ยนแปลง • สำรองเฉพาะที่มีการเปลี่ยนแปลง
ประสิทธิภาพของระบบไฟล์ (File System Performance) • การใช้แคช (Caching) • การอ่านบล็อกข้อมูลไว้ล่วงหน้า (Block Read Ahead) • การลดการเคลื่อนที่ของหัวอ่าน (Reducing Disk Arm Motion) • Log-Structure file System
ระบบฐานข้อมูล (Database System) • หมายถึงกลุ่มของข้อมูลที่ถูกรวบรวมไว้ เพื่อที่จะนำข้อมูลเหล่านี้มาใช้ภายหลัง • ระบบการจัดการฐานข้อมูลหรือ DBMS (database Management System) ช่วยให้ผู้ใช้เข้าถึงได้ง่ายสะดวกและมีประสิทธิภาพ
ระบบการจัดการฐานข้อมูลหรือ DBMS (database Management System) ฝ่ายลงทะเบียน »ข้อมูลนักศึกษา (ชื่อ เลขทะเบียน ที่อยู่) »ข้อมูลการลงทะเบียน »ข้อมูลการเงิน »ข้อมูลการยืม-คืนหนังสือ DBMS ฝ่ายการเงิน ฝ่ายห้องสมุด
ข้อได้เปรียบของระบบฐานข้อมูลข้อได้เปรียบของระบบฐานข้อมูล • ลดการเก็บข้อมูลที่ซ้ำซ้อน • รักษาความถูกต้องของข้อมูล • แบ่งปันกันใช้ได้ • การป้องกันและรักษาความปลอดภัยให้กับข้อมูลทำได้สะดวก • ความเป็นอิสระของข้อมูล
ภาษาของระบบฐานข้อมูล • ภาษากำหนดข้อมูลหรือ DDL (Data Definition Language) เป็นภาษาที่ผู้ใช้ได้กำหนดโครงสร้างหรือแบบแผนในการเก็บข้อมูล เช่น Create • ภาษาจัดการข้อมูลหรือ DML (Data Manipulation Language) เป็นภาษาที่ผู้ใช้ใช้จัดการกับข้อมูลของผู้ใช้เอง เช่น Select, Delete
ผู้บริหารฐานข้อมูล • ผู้บริหารฐานข้อมูล (DBA: Database Administrator) มีหน้าที่ • กำหนดโครงสร้างหรือรูปแบบของฐานข้อมูล • กำหนดโครงสร้างของอุปกรณ์เก็บข้อมูลและวิธีเข้าถึง • มอบหมายขอบเขตอำนาจหน้าที่ของการเข้าถึงของผู้ใช้
ความสัมพันธ์ของข้อมูล (Relationship) ความสัมพันธ์แบบวันทูวัน นักศึกษา บัตรประจำตัวนักศึกษา ความสัมพันธ์แบบ one to many ชื่อลูกค้า บัญชีธนาคาร ความสัมพันธ์แบบ many to many วิชาเศรษฐศาสตร์ วิชาระบบสารสนเทศ วิชาการจัดการ สมทรง สมชาย สมปอง สมศักดิ์ สมทรง
รูปแบบของระบบฐานข้อมูลรูปแบบของระบบฐานข้อมูล • ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) • ฐานข้อมูลแบบเครือข่าย (Network Database Model) • ฐานข้อมูลแบบความสัมพันธ์ (Relational Database Model)
ฐานข้อมูลแบบลำดับชั้นฐานข้อมูลแบบลำดับชั้น พนักงาน ค่าตอบแทน การมอบหมายงาน สวัสดิการ First child อัตราผลตอบแทน ประวัติงาน บำเหน็จบำนาญ ประกันชีวิต สุขภาพ Second child
ฐานข้อมูลแบบเครือข่ายฐานข้อมูลแบบเครือข่าย โครงการ A โครงการ B หน่วยงาน A หน่วยงาน B หน่วยงาน C หน่วยงาน D
ฐานข้อมูลแบบความสัมพันธ์ฐานข้อมูลแบบความสัมพันธ์