6.การจัดการไฟล์

Download Report

Transcript 6.การจัดการไฟล์

การจัดการไฟล์
File Management
1
การจัดการไฟล์ (File Management)
• การทางานในระบบคอมพิวเตอร์ท้ งั หมดจาเป็ นต้องมีการเก็บและนา
ข้อมูลไปใช้งาน
• ขณะที่โปรเซสกาลังทางานข้อมูลจะเก็บไว้ในหน่วยความจา ถ้าเครื่ อง
คอมพิวเตอร์ดบั ไม่วา่ ด้วยสาเหตุใดก็ตามข้อมูลทั้งหมดจะสูญหายไป
• ดังนั้นจึงจาเป็ นต้องจัดเก็บข้อมูลเหล่านี้ไว้ในหน่วยจัดเก็บข้อมูลสารอง
ซึ่งอาจจะเป็ นแผ่นดิสก์เก็ต ฮาร์ดดิสก์ หรื ออุปกรณ์อื่น ๆ
• ในการจัดเก็บข้อมูลเหล่านี้มีจุดประสงค์เพื่อนามาใช้งานต่อไป จึง
จาเป็ นต้องมีการกาหนดชื่อเพือ่ แทนกลุ่มข้ อมูล ซึ่งเราเรียกว่ า
ไฟล์ ข้อมูล
2
การจัดการไฟล์ (File Management)
• นอกจากนี้ถา้ เราจัดเก็บข้อมูลไม่เป็ นระเบียบจะทาให้การ
ค้นหาไฟล์ขอ้ มูลที่ตอ้ งการได้ยากหรื อช้า ดังนั้นถ้าเราจัด
หมวดหมู่ให้กบั ไฟล์ขอ้ มูลก็จะทาให้การค้นหาไฟล์ทาได้
สะดวกหรื อรวดเร็ วขึ้น
• การจัดให้ไฟล์เป็ นหมวดหมู่กค็ ือการจัดเก็บในไดเร็ กทอรี่
(Directory) หรื อโฟลเดอร์ (Folder)
3
ไฟล์ ข้อมูล (File)
• หมายถึงสิ่ งที่บรรจุขอ้ มูลต่าง ๆ ไว้ในที่เดียวกัน ซึ่ งอาจหมายถึง
โปรแกรมหรื อข้อมูลที่เราต้องการเก็บไว้ดว้ ยกัน
• เมื่อเราต้องการค้นหาไฟล์ เราอ้างอิงด้วยชื่อไฟล์โดยไม่จาเป็ นต้อง
ทราบว่าไฟล์น้ นั ถูกเก็บไว้ในส่ วนใดในดิสก์
• OS จะมีโปรแกรมย่ อยทีช่ ื่อ System Call ทาหน้ าที่จัดการงานที่
เกีย่ วข้ องกับไฟล์์ เช่น การสรางไฟล
การ
้
์
ลบไฟล์ การอ่าน/เขียนทับไฟล์
4
คาสัง่ ที่ใช้ในการจัดการไฟล์
• DIR (DIRECTORY) ดูชื่อแฟ้ มข้อมูล, เนื้อที่บน
แผ่นดิสก์, ชื่อแผ่นดิสก์
• TYPE แสดงเนื้อหาหรื อข้อมูลในแฟ้ มข้อมูลที่กาหนด
• COPY ใช้คดั ลอกแฟ้ มข้อมูลหนึ่ง หรื อหลายแฟ้ มข้อมูล
จากแฟ้ มข้อมูลต้นทาง ไปยังแฟ้ มข้อมูลปลายทาง
• REN (RENAME) เปลี่ยนชื่อแฟ้ มข้อมูล (ข้อมูลข้างใน
แฟ้ มข้อมูลยังเหมือนเดิม)
5
คาสัง่ ที่ใช้ในการจัดการไฟล์ … ต่อ
• DEL (DELETE) ลบแฟ้ มข้อมูลออกจากแผ่นดิสก์
• MD (MAKE DIRECTORY) สร้าง subdirectory (ห้อง
ย่อย) เพื่อจัดเก็บแฟ้ มข้อมูล
• CD (CHANGE DIRECTORY) เป็ นคาสัง่ ในการ
เปลี่ยนไปใช้งาน subdirectory ที่ตอ้ งการ
• RD (REMOVE DIRECTORY) ลบ subdirectory (ห้อง
ย่อย) ที่สร้างด้วยคาสัง่ MD
6
คาสัง่ ที่ใช้ในการจัดการไฟล์ … ต่อ
• TREE แสดงรายชื่อ directory ทั้งหมดในแผ่นดิสก์ ที่
กาหนด
• SYS (SYSTEM) เป็ นคาสัง่ copy แฟ้ มข้อมูลที่ใช้ในการ
เปิ ดเครื่ องลงในแผ่นดิสก์หรื อฮาร์ดดิสก์ ที่ไม่มีระบบ
• DISKCOPY (COPY DISKETTE) เป็ นคาสัง่ ที่ใช้ copy
file ทั้งหมดจากแผ่นดิสก์จากแผ่นหนึ่งไปใส่ อีกแผ่นหนึ่ง แต่
ถ้าแผ่นดิสก์อีกแผ่น ยังไม่ได้ทาการ format ก็จะทาการ
7
format ให้โดยอัตโนมัติ
คาสัง่ ที่ใช้ในการจัดการไฟล์ … ต่อ
• $ ls [-altCF] [directory …] เป็ นการแสดงชื่อไฟล์ที่มีอยูใ่ น
ไดเรกทอรี่ ที่ระบุ
• $ pwd คือคาสัง่ ที่ใช้เช็คว่าไดเรกทอรี่ ปัจจุบนั อยูท่ ี่ตาแหน่งใด
• $ cd [ชื่อพาท] เป็ นการเปลี่ยนไดเรกทอรี่ ไป เป็ นไดเรกทอรี่
ที่ตอ้ งการ
• $ mkdir [ชื่อไดเรกทอรี่] คือคาสัง่ ที่ใช้ในการสร้างไดเรกทอรี่
ใหม่ข้ ึน
8
คาสัง่ ที่ใช้ในการจัดการไฟล์ … ต่อ
• $ rmdir [ชื่อไดเรกทอรี่] คือการลบไดเรกทอรี่ ที่มีอยู่
• $ rm [ชื่อไฟล์ ] คือการลบไฟล์ที่อา้ งถึง
• cat [ชื่อไฟล์ ] เป็ นการแสดงข้อความในไฟล์ที่เป็ นเท็กซ์
ไฟล์ (Text Files : ไฟล์ตวั อักษร) แสดงบนจอภาพ
• $ mv [ชื่อไฟล์ ต้นทาง] [ชื่อไฟล์ ปลายทาง] คือการย้ายไฟล์
(move) จากพาทใดๆที่อา้ งอิงถึงไปยังพาทปลายทาง
9
คาสัง่ ที่ใช้ในการจัดการไฟล์ … ต่อ
• $ more เป็ นการแสดงข้อความในไฟล์ทีละหน้าจอแล้วหยุด
รอจนกว่าผูใ้ ช้จะกดคียช์ ่องว่าง (space bar) จึงจะแสดง
ข้อมูลหน้า ถัดไปหรื อกด Enter เพื่อแสดงข้อมูลบรรทัด
ถัดไปทีละบรรทัด
• $ cp [ชื่อไฟล์ ต้นฉบับ] [ชื่อไฟล์ สาเนา] เป็ นคาสัง่ คัดลอก
(copy) ข้อมูลจากไฟล์หนึ่ง ไปยังปลายทางที่ตอ้ งการ
10
การตั้งชื่อไฟล์ ข้อมูล
• ในการกาหนดชื่อไฟล์ในแต่ละ OS นั้นมีความแตกต่างกันอยูบ่ า้ ง
• แต่โดยหลักการจะคล้ายคลึงกันคือ ชื่อไฟล์จะประกอบ 2 ส่ วนด้ วยกัน คือ
ส่ วนที่เป็ นชื่อหลัก และส่ วนที่เป็ นนามสกุล (File extension) ทั้งสองส่ วนนี้
จะถูกคัน่ ด้วยจุด (Period) เช่น readme.txt , document.doc เป็ นต้น
• ตัวอย่ างข้อกาหนดที่แตกต่างกันในแต่ละ OS
– ระบบ MS-DOS ส่ วนที่เป็ นชื่อหลักจะประกอบด้วยตัวอักษรไม่เกิน 8 ตัวอักษร
และตามด้วยนามสกุลไม่เกิน 3 ตัวอักษร
– ระบบ UNIX ถือว่าการตั้งชื่อด้วยอักษรตัวใหญ่ตวั เล็กไม่เหมือนกัน (Case
sensitive) เช่น Readme.txt , readme.txt หรื อ README.TXT ถือว่าเป็ นคนละ
ไฟล์
11
ตัวอย่างชนิดของไฟล์ขอ้ มูล
นามสกุล
ชนดของไฟล์
.exe, .com
ไฟล์ของระบบ
.txt
ไฟล์ข้อความ
.asm , .pas ไฟล์ภาษาแอสแซมบลี , ภาษาปาสคาล
.doc, ppt
ไฟล์เวิร์ด, ไฟล์พาวเวอร์พ้อย
12
โครงสร้ างไฟล์ ข้อมูล
• การจัดโครงสร้างไฟล์ขอ้ มูลที่ใช้กนั อยูท่ วั่ ไปมีอยู่ 3 แบบ
– แบบไบต์ เรียงต่ อกันไป เช่น UNIX และ Windows เวลาอ่าน/เขียนก็จะทางานที
ละไบต์
– แบบเรกคอร์ ด (Record) โดยมีขนาดของเรกคอร์ ดคงที่ เช่น CP/M เวลาอ่าน/เขียนก็จะ
ทางานทีละเรกคอร์ ด สาหรับเรกคอร์ ดสุ ดท้ายอาจจะไม่เต็มเรกคอร์ ดก็ได้
– แบบต้ นไม้ (Tree) จะจัดเก็บเป็ นบล็อก ในแต่ละบล็อกจะประกอบด้วยเรกคอร์ ด โดย
ขนาดของแต่ละเรกคอร์ ดอาจไม่เท่ากัน เช่น OS ในระบบ Mainframe เวลาอ่าน/เขียน
ก็จะทางานโดยค้นไปตามการเชื่อมโยงของต้นไม้
a
b
c
แบบที่ 3
แบบที่ 1
แบบที่ 2
a1 a2
b1 b2
13
ไดเร็กทอรี (Directory)
• ไดเร็กทอรี (Directory) หมายถึงสารบัญที่เก็บรวบรวมรายชื่อ
ของไฟล์ต่าง ๆ ทั้งหมดไว้ เพื่อให้ผใู ้ ช้สามารถค้นหา เรี ยกคืน
และตรวจสอบข้อมูลที่ตอ้ งการได้
• ไดเร็ กทอรี เป็ นไฟล์ประเภทหนึ่งซึ่ งมีอยู่ 2 ระบบ
– ระบบไดเร็ กทอรี เดี่ยว (Single-Level Directory Systems)
– ระบบไดเร็กทอรี 2 ระดับ (Two-Level Directory System)
– ระบบไดเร็ กทอรี หลายระดับ (Hierarchical Directory Systems)
14
ระบบไดเร็กทอรีเดีย่ ว (Single-Level Directory Systems)
• เป็ นระบบที่มีโครงสร้างง่ายที่สุด ภายในระบบจะมีอยูเ่ พียงไดเร็ ก
ทอรี เดียว รวบรวมไฟล์ทุกไฟล์ไว้ที่เดียวกัน และทุกไฟล์จะอยูใ่ น
ระดับเดียวกัน
• การจัดเก็บในลักษณะนี้ทาให้เกิดปัญหาดังนี้
– ไฟล์ต่าง ๆ ที่มีอยูใ่ นไดเร็ กทอรี ไม่สามารถแยกเจ้าของไฟล์ได้
– ไฟล์หลากหลายชนิดต้องอยูป่ ะปนกันทาให้ไม่สะดวกในการค้นหา
– ในกรณี ที่ตอ้ งการสร้างไฟล์ให้มีชื่อเหมือนที่มีอยูก่ ่อนแล้วไม่สามารถทา
ได้ ซึ่งถ้าสร้างไฟล์ให้มีชื่อเดียวกับที่มีอยูก่ ่อนนั้น จะทาให้ไฟล์เก่าถูก
เขียนทับลงไปโดยไม่ได้ต้ งั ใจ ทาให้ขอ้ มูลสูญหายได้
15
ระบบไดเร็กทอรี 2 ระดับ
(Two-Level Directory System)
• แก้ ปัญหาแบบแรกได้ แต่ไม่เต็มร้ อย
• จะกาหนดให้ ผ้ ใู ช้ แต่ละคนสามารถสร้ างไดเร็กทอรี ยอ่ ยของตนได้
เรี ยกว่า Sub-Directory หรื อไดเร็กทอรี ยอ่ ย ในแต่ละสับไดเร็ กทอรี
จะอยูภ่ ายใต้ ไดเร็กทอรี รากเดียวกัน (Root directory)
• ภายในสับไดเร็กทอรี ผ้ ใู ช้ สามารถกาหนดชื่อไฟล์ได้ ตามใจโดยไม่
ต้ องไปกังวลว่าจะไปซ ้ากับชื่อใคร
• แต่ ปัญหาก็คือกรณีที่ผ้ ใู ช้ มีไฟล์หลายประเภทจะไม่สามาถแยก
ประเภทของไฟล์ตา่ ง ๆ ได้ ตามต้ องการ
16
ระบบไดเร็กทอรีหลายระดับ
Hierarchical Directory Systems
• เพื่อแก้ปัญหาระบบไดเร็ กทอรี เดี่ยว OS จึงยอมให้มีการ
สร้างโครงสร้างไดเร็ กทอรี แบบหลายระดับขึ้นมา ซึ่ ง
กาหนดให้ผใู ้ ช้แต่ละคนสามารถสร้างไดเร็ กทอรี ยอ่ ย (Subdirectory) ได้โดยไม่จากัด
• ระบบไฟล์ในปั จจุบนั ใช้โครงสร้างไดเร็ กทอรี แบบนี้
• เรี ยกอีกชื่อหนึ่งว่า ระบบไดเร็กทอรีแบบโครงสร้ างต้ นไม้
(Tree Structure)
17
root
root
B
A
ระบบไดเร็กทอรีเดีย่ ว
(Single-Level Directory Systems)
A
root
B
B1
C
C
B2
C1
ระบบไดเร็กทอรีหลายระดับ
Hierarchical Directory Systems
ระบบไดเร็กทอรี 2ระดับ
Two-Level Directory System
C2
18
ชื่อพาธ (Path name)
• การอ้างอิงถึงไฟล์ใด ๆ ก็ตามจาเป็ นต้องระบุที่อยูข่ องไฟล์น้ นั ๆ ให้
ถูกต้องว่าอยูใ่ นไดเร็ กทอรี ใด หรื อสับไดเร็ กทอรี ใด
• ในการกาหนดที่อยูห่ รื อเส้นทางที่จะเข้าถึงไฟล์น้ นั ๆ เรี ยกว่า พาธ
(Path)
• ดังนั้นถ้าต้องการอ้างถึงไฟล์ใด ๆ ในดิสก์จาเป็ นต้องระบุพาธให้
ถูกต้องพร้อมชื่อไฟล์
• วิธีการอ้างถึงชื่อไฟล์น้ นั มี 2 วิธี
– การอ้างชื่อไฟล์แบบสัมบูรณ์ (Absolute path name)
– การอ้างชื่อแบบสัมพัทธ์ (Relative path name)
19
การอ้ างชื่อไฟล์ แบบสั มบูรณ์ (Absolute path name)
• เป็ นการอ้างถึงไฟล์โดยเร่มจากราก (Root) เสมอตามด้วยชื่อสับไดเร็ กทอรี
ย่อยไล่ลงมาตามลาดับชั้นของไดเร็ กทอรี จนกระทัง่ ถึงไดเร็ กทอรี ที่บรรจุ
ไฟล์อยู่ และจบลงด้วยชื่อไฟล์น้ นั ๆ
• ตัวอย่างการอ้างถึงไฟล์ชื่อ Readme.doc ที่อยูภ่ ายใต้พาธ (Root user
lib)
– Windows หรื อ MS-DOS
– UNIX หรื อ Linux
\user\lib\readme.doc
/user/lib/readme.doc
20
การอ้ างชื่อไฟล์ แบบสั มบูรณ์ (Absolute path name) … ต่ อ
bin
etc
bin
etc
lib
usr
tmp
lib
รู ปแบบไดเร็ กทอรี ของ UNIX
หรื อ Linux
usr
don
lib
tmp
don
lib
Readme.doc Readme.doc
21
การอ้ างชื่อไฟล์ แบบสั มพัทธ์ (Relative path name)
• เป็ นการอ้างถึงไฟล์โดยที่ผใู้ ช้จะต้องเข้าใจในเรื่ องระบบไดเร็ กทอรี
ปัจจุบนั (Current directory) เนื่องจากการอ้างถึงชื่อไฟล์จะเร่มต้ น
จากไดเร็กทอรีปัจจุบันแล้วไล่ไปตามลาดับชั้นของไดเร็ กทอรี ที่ไฟล์
นั้นอยูแ่ ละจบลงด้วยชื่อไฟล์น้ นั
• ตัวอย่างการอ้างถึงไฟล์ชื่อ Readme.doc ที่อยูภ่ ายใต้พาธ (Root
user lib) โดยที่ไดเร็ กทอรี ปัจจุบนั อยูท่ ี่ user
– Windows หรื อ MS-DOS
– UNIX หรื อ Linux
\lib\readme.doc
/lib/readme.doc
22
การทางานของระบบไฟล์ (File system Implementation)
• โครงสร้างของระบบไฟล์ (File system layout)
– ภายในดิสก์สามารถแบ่งออกเป็ นพาร์ติชนั (Partition) ในการ
เก็บข้อมูล และแต่ละพาร์ติชนั่ มีความเป็ นอิสระต่อกัน ทั้งยัง
สามารถกาหนดให้แต่ละพาร์ติชนั่ มี OS ที่ต่างกันได้
– ภายในดิสก์จะถูกแบ่งออกเป็ นเซกเตอร์ (Sector) เริ่ มต้นจาก
เซกเตอร์ 0 ซึ่งถือว่าเป็ น Master boot record (MBR) ที่เก็บค่า
เริ่ มต้นของ OS สาหรับการบูตเครื่ องเมื่อเริ่ มใช้งาน ตอนท้าย
ของเซกเตอร์น้ ีจะเก็บตารางพาร์ติชนั่ ซึ่งระบุวา่ ในแต่ละพาร์ ติชนั่
มีแอดเดรสเริ่ มต้นและสิ้ นสุ ดที่ใด
23
วธีจัดเก็บข้ อมูลของไฟล์ (Implementation File)
• วิธีการจัดเก็บข้อมูลลงบนสื่ อจัดเก็บข้อมูลแบ่งออกเป็ น
3 แบบ
– การจัดเก็บข้อมูลแบบต่อเนื่อง (Contiguous
allocation)
– การจัดเก็บข้อมูลแบบลิงค์ลิสต์ (Link List allocation)
– ไอโหนด (I-nodes หรื อ Index nodes)
24
การจัดเก็บข้ อมูลแบบต่ อเนื่อง (Contiguous allocation)
• เป็ นวิธีการจัดเก็บข้อมูลของไฟล์แบบง่ายที่สุด แต่ละไฟล์
จะถูกแบ่งออกเป็ นบล็อค แต่ละบล็อกมีขนาดเท่ากัน และ
จะถูกเก็บลงบนดิสก์อย่างต่อเนื่องทั้งไฟล์
25
ข้ อดีในจัดเก็บข้ อมูลแบบต่ อเนื่อง
• ง่ายและสะดวกในการจัดเก็บ เนื่องจากการจัดเก็บจะจัดเก็บเรี ยงต่อกันไปจึง
ไม่ตอ้ งกังวลว่าบล็อกต่อไปจะเก็บตรงไหน OS จะบันทึกเฉพาะแอดเดรส
บล็อกแรกและแอดเดรสบล็อกสุ ดท้ายของแต่ละไฟล์กเ็ พียงพอสาหรับการ
ค้นหาข้อมูลทั้งหมดที่อยูใ่ นไฟล์
• สามารถสร้างประสิ ทธิภาพได้สูงสุ ดในการค้นหาข้อมูล เนื่องจากการจัดเก็บ
บล็อกข้อมูลเรี ยงต่อเนื่องจึงไม่เสี ยเวลาในการค้นหาบล็อกทุก ๆ บล็อก
เพียงแต่หาบล็อกแรกพบก็สามารถอ่านข้อมูลได้ท้ งั ไฟล์
• เหมาะสาหรับสื่ อที่มีการจัดเก็บข้อมูลเพียงครั้งเดียว (Read Only Memory)
เช่น CD-Rom เป็ นต้น
26
ข้ อเสี ยในจัดเก็บข้ อมูลแบบต่ อเนื่อง
• กรณี มีการแก้ไขข้อมูลเดิม แล้วการแก้ไขทาให้ขนาดของไฟล์มีขนาดใหญ่
ขึ้น จึงจาเป็ นต้องย้ายไฟล์ไปยังพื้นที่ใหม่ที่มีขนาดใหญ่พอที่จะบรรจุไฟล์
ที่แก้ไขแล้ว ซึ่งการทาแบบนี้จะทาให้ตอ้ งเสี ยเวลาเพิ่มขึ้นในการหาพื้นที่
ใหม่
• ถ้าเกิดเหตุการณ์ในข้อแรกบ่อย ๆ อาจทาให้เกิดเนื้อ้ ที่วา่ งมากมาย
ระหว่างไฟล์ขอ้ มูลบนดิสก์ เมื่อมีการเก็บข้อมูลจนเต็มดิสก์จะทาให้เกิด
ปัญหาสาหรับไฟล์ขนาดใหญ่ไม่สามารถหาเนื้อที่วา่ งในการเก็บข้อมูลได้
แม้จะมีเนื้อที่วา่ งมากพอ แต่ไม่สามารถเรี ยกใช้ได้เพราะเนื้อที่เหล่านั้น
กระจัดกระจายกันทัว่ ทั้งดิสก์
27
การจัดเก็บข้ อมูลแบบลงค์ ลสต์ (Link List allocation)
• วิธีน้ ีมีการแบ่งไฟล์ออกเป็ นบล็อก ๆ เช่นเดียวกัน แต่การจัดเก็บเนื้อที่
ของแต่ละบล็อกจะไม่ต่อเนื่องกัน แต่ละบล็อกจะถูกเชื่อมโยงกันด้วย
พอยต์เตอร์ ตั้งแต่บล็อกแรกจนถึงบล็อกสุ ดท้ายของไฟล์ขอ้ มูลนั้น ๆ
• วิธีการจัดเก็บแบบนี้ทาให้ไม่เสี ยเนื้อที่วา่ งภายในดิสก์ แต่ยงั มีเนื้อที่
ว่างภายในบล็อกสาหรับบล็อกสุ ดท้ายของไฟล์ขอ้ มูล
• ข้ อเสี ยของวิธีการนี้คือ
– เสี ยเวลาในการค้นหาข้อมูลของไฟล์มากกว่าแบบต่อเนื่อง เนื่องจากแต่ละ
บล็อกอยูก่ ระจัดกระจายไปทัว่ ดิสก์
– เสี ยเนื้อที่ไปกับพอยต์เตอร์ที่ทาหน้าที่ช้ ีไปยังบล็อกต่าง ๆ
28
ไอโหนด (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
หมายเลขเก็บจานวนบล็อกไว้ได้
29
256*256*256 หมายเลข
โครงสร้ างไดเร็กทอรี่ (Directory Structure) ใน DOS
• ไดเร็ กทอรี่ เป็ นที่เก็บรวบรวมไฟล์ขอ้ มูลต่าง ๆ เข้าไว้ดว้ ยกัน
• ผูใ้ ช้ท่ีตอ้ งการจะเข้าถึงไฟล์ขอ้ มูลใด ๆ ก็จาเป็ นต้องต้องทราบว่าไฟล์น้ นั ๆ
อยูใ่ นไดเร็ กทอรี่ ใด และจะเข้าถึงได้จากเส้นทาง (Path) ใด
• ดังนั้นไดเร็ กทอรี่ จาเป็ นต้องมีตารางบันทึกไฟล์ต่าง ๆ ไว้
• โครงสร้างไดเร็ กทอรี่ ที่ใช้ใน DOS ภายในตารางจะมีองค์ประกอบดังนี้
– ชื่อไฟล์ มีขนาด 8 Byte
– ส่ วนขยาย มีขนาด 3 Byte
– คุณสมบัติของไฟล์ (File Attribute) มีขนาด 1 Byte
30
โครงสร้ างไดเร็กทอรี่ (Directory Structure) ใน DOS … ต่ อ
–
–
–
–
กั้นไว้ มีขนาด 10 Byte
วัน-เวลาที่บนั ทึก มีขนาด 4 Byte
หมายเลขบล็อกแรกของไฟล์ มีขนาด 2 Byte
ขนาดของไฟล์ มีขนาด 4 Byte
8
3
1
ชื่อไฟล์ ส่ วนขยาย
คุณสมบัติ
10
กั้น
2
2
2
4
ขนาด
เวลา วัน
หมายเลขบล็อกแรกของไฟล์
31
โครงสร้ างไดเร็กทอรี่ในระบบ Windows
(Directory Structure of Windows)
• ตารางไดเร็ กทอรี่ ในระบบ DOS มีชื่อเรี ยกว่า FAT-32
• เนื่องจากในระบบ DOS การตั้งชื่อไฟล์ไม่สามารถตั้งชื่อได้เกิน 8
ตัวอักษร เนื่องจากข้อจากัดในโครงสร้างของไดเร็ กทอรี่
• การทาให้ระบบสามารถกาหนดชื่อไฟล์ได้มากกว่า 8 ตัวอักษรเรา
เรียกไฟล์ ที่มีชื่อยาวกว่ า 8 ตัวอักษรว่ า “Long File Name”
• บริ ษทั ไมโครซอฟต์จึงได้พิจารณาหาทางออกให้สามารถตั้งชื่อไฟล์
ที่มีขนาดเกิน 8 ตัวอักษร โดยมีวธิ ี การดังนี้
32
โครงสร้ างไดเร็กทอรี่ในระบบ Windows
(Directory Structure of Windows)
• ปรับรู ปแบบของตารางไดเร็ กทอรี่ ดงั รู ป
1
10
5 Characters
Sequence
111
12
2
0
6 Characters
0
4
2 Characters
คุณสมบัติ
Checksum
33
โครงสร้ างไดเร็กทอรี่ในระบบ 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
34
โครงสร้ างไดเร็กทอรี่ในระบบ Windows
(Directory Structure of Windows)
• ตัวอย่าง Long file name ที่ชื่อ “My Document No1.Doc”
01.do
1 My d o
My Doc~1
A 0C
A 0C
c
cument
เวลา วัน
0
0
N
ขนาด
หมายเลขบล็อกแรกของไฟล์
35
การใช้ ไฟล์ร่วมกัน (Share files)
/
A
B
B1
C
C1
ระบบที่มีการใช้ ไฟล์ ร่วม
C2
36
การจัดการเนือ้ ที่ว่างภายในดีสก์ (Disk space
management)
• มีอยู่ 2 วิธีในการจัดเก็บ
– เก็บเป็ นไบต์ ตดิ ต่ อกันไป
– เก็บเป็ นบล็อค
37
ความน่ าเชื่อถือของระบบไฟล์ (File system
reliability)
• ข้อมูลมีความสาคัญมาก จาเป็ นต้องเชื่อถือได้วา่ จะไม่เสี ยหาย
• มีระบบกูคื
้ นขอมู
้ ลได้
ปั ญหาที่อาจเกิดขึน้
• ไฟดับ อาจทาให้ การเก็บข้ อมูลสูญหายได้
การแก้ ปัญหา
• ในระบบ windows จะมีการ scan disk ทุกครัง้ ที่ไม่มีการ shut down เครื่ อง
• ในระบบ Linux, Unix จะมีการตรวจสอบไฟล์ที่เป็ น i-node ตอนที่เปิ ดเครื่ อง
เช่นเดียวกันกับ windows
• Linux จะมีระบบไฟล์ที่เรี ยกว่า Ext3 ซึ่งจะป้ องกันปัญหานี้ได้ดี
38
การทาสารองข้ อมูล (Backups)
• สารองทังหมดทุ
้
กครัง้ ที่มีการเปลี่ยนแปลง
• สารองเฉพาะที่มีการเปลี่ยนแปลง
39
ประสิทธิภาพของระบบไฟล์
(File System Performance)
•
•
•
•
การใช้ แคช (Caching)
การอ่านบล็อกข้ อมูลไว้ ลว่ งหน้ า (Block Read Ahead)
การลดการเคลื่อนที่ของหัวอ่าน (Reducing Disk Arm Motion)
Log-Structure file System
40
ระบบฐานข้ อมูล (Database System)
• หมายถึงกลุ่มของข้อมูลที่ถูกรวบรวมไว้ เพื่อที่จะนาข้อมูล
เหล่านี้มาใช้ภายหลัง
• ระบบการจัดการฐานข้อมูลหรื อ DBMS (database
Management System) ช่วยให้ผใู้ ช้เข้าถึงได้ง่ายสะดวก
และมีประสิ ทธิภาพ
41
ระบบการจัดการฐานข้ อมูลหรือ DBMS
(database Management System)
ฝ่ ายลงทะเบียน
ฝ่ ายการเงิน
DBMS
» ข้ อมูลนักศึกษา
(ชื่อ เลขทะเบียน ที่อยู่)
» ข้อมูลการลงทะเบียน
» ข้ อมูลการเงน
» ข้อมูลการยืม-คืนหนังสือ
ฝ่ ายห้องสมุด
42
ข้ อได้ เปรียบของระบบฐานข้ อมูล
•
•
•
•
•
ลดการเก็บข้อมูลที่ซ้ าซ้อน
รักษาความถูกต้องของข้อมูล
แบ่งปันกันใช้ได้
การป้ องกันและรักษาความปลอดภัยให้กบั ข้อมูลทาได้สะดวก
ความเป็ นอิสระของข้อมูล
43
ภาษาของระบบฐานข้ อมูล
• ภาษากาหนดข้ อมูลหรือ DDL (Data Definition
Language) เป็ นภาษาที่ผใู้ ช้ได้กาหนดโครงสร้างหรื อ
แบบแผนในการเก็บข้อมูล เช่น Create
• ภาษาจัดการข้ อมูลหรือ DML (Data Manipulation
Language) เป็ นภาษาที่ผใู้ ช้ใช้จดั การกับข้อมูลของผูใ้ ช้
เอง เช่น Select, Delete
44
ผู้บรหารฐานข้ อมูล
• ผูบ้ ริ หารฐานข้อมูล (DBA: Database
Administrator) มีหน้าที่
– กาหนดโครงสร้างหรื อรู ปแบบของฐานข้อมูล
– กาหนดโครงสร้างของอุปกรณ์เก็บข้อมูลและวิธีเข้าถึง
– มอบหมายขอบเขตอานาจหน้าที่ของการเข้าถึงของผูใ้ ช้
45
ความสั มพันธ์ ของข้ อมูล (Relationship)
ความสัมพันธ์แบบวันทูวนั
นักศึกษา
บัตรประจาตัวนักศึกษา
ความสัมพันธ์แบบ one to many
ชื่อลูกค้ า
บัญชีธนาคาร
ความสัมพันธ์แบบ many to many
วชาระบบสารสนเทศ
สมชาย
สมปอง
วชาการจัดการ
สมศักดิ์
วชาเศรษฐศาสตร์
สมทรง
สมทรง
46
รูปแบบของระบบฐานข้ อมูล
• ฐานข้อมูลแบบลาดับชั้น (Hierarchical Database Model)
• ฐานข้อมูลแบบเครื อข่าย (Network Database Model)
• ฐานข้อมูลแบบความสัมพันธ์ (Relational Database
Model)
47
ฐานข้ อมูลแบบลาดับชั้น
พนักงาน
ค่าตอบแทน
อัตราผลตอบแทน
ประวัติงาน
การมอบหมายงาน
บาเหน็จบานาญ
สวัสดิการ
ประกันชีวติ
First child
สุ ขภาพ
Second child
48
ฐานข้ อมูลแบบเครือข่ าย
โครงการ A
หน่ วยงาน A
หน่ วยงาน B
โครงการ B
หน่ วยงาน C
หน่ วยงาน D
49
ฐานข้ อมูลแบบความสั มพันธ์
50
ระบบฐานข้ อมูลและ OS
• DBMS จะทางานซ้อนอยูบ่ นระบบไฟล์
• การเข้าถึงข้อมูลในฐานข้อมูลของ DBMS จะต้องเรี ยกใช้
รู ทีนต่าง ๆ ในระบบไฟล์
51
ระบบฐานข้ อมูลและ OS … ต่ อ
ผูใ้ ช้โปรแกรมทัว่ ไป
ผูใ้ ช้ฐานข้อมูล
OS
ระบบไฟล์และ DBMS
ไฟล์ทวั่ ไป
ฐานข้อมูล
52
แบบฝึ กหัด
1. FAT และ NTFS คืออะไร
2. ในระบบปฏิบตั ิการต่อไปนี้ใช้ระบบ FAT หรื อ NTFS
(Dos Windows Unix Linux)
3. จงบอกส่ วนขยายนามสกุลของไฟล์มาอย่างน้อย 20 ไฟล์
แล้วบอกว่าเป็ นไฟล์อะไร
4. จงบอกข้อกาหนดในการตั้งชื่อไฟล์ ในระบบปฏิบตั ิการ
ต่อไปนี้ (Dos Windows Unix Linux)
53