วันอังคารที่ 9 มกราคม พ.ศ. 2561

งานที่ 7

การจัดการอุปกรณ์
Device Management
นาย ปัณณรุจน์ อมรสิทธิ์สิริ รหัส 6031280004

ลักษณะของอุปกรณ์ (Device Characteristic)
•อุปกรณ์อินพุต-เอ้าต์พุต (Input/Output Device)

•อุปกรณ์เก็บข้อมูล (Storage Device)
อุปกรณ์อินพุต-เอ้าต์พุต (Input/Output Device)
อุปกรณ์อินพุต คืออุปกรณ์ที่ทำให้คอมพิวเตอร์สามารถสัมผัสและรับรู้สิ่งต่าง ๆ จากโลกภายนอกได้ เช่น เครื่องอ่านบัตร คีย์บอร์ด เมาส์
อุปกรณ์เอ้าต์พุต คือ อุปกรณ์ที่ทำให้คอมพิวเตอร์  ควบคุมหรือส่งผลออกมาสู่โลกภายนอกได้ เช่น       จอภาพ เครื่องพิมพ์
แบ่งได้เป็น 2 ประเภทคือ
อุปกรณ์ชนิดข้อมูลเป็นสาย  (Stream)
อุปกรณ์ชนิดข้อมูลไม่เป็นสาย (Non-Stream)
อุปกรณ์ชนิดข้อมูลเป็นสาย  (Stream)
ข้อมูลที่ส่งเข้าออกจะเรียงมาเป็นลำดับก่อนหลัง
การแบ่งแยกข้อมูลทำได้โดยตรวจสอบลำดับของข้อมูล
สามารถจัดการได้ง่าย
อุปกรณ์เหล่านี้ได้แก่ คีย์บอร์ด เครื่องพิมพ์

อุปกรณ์ชนิดข้อมูลไม่เป็นสาย (Non-Stream)
ข้อมูลที่ส่งและรับไม่ขึ้นอยู่กับลำดับการส่ง
ต้องอาศัยข้อมูลเพิ่มเติมเพื่อที่จะแยกแยะข้อมูลแต่ละตัวและมีวิธีจัดการโดยเฉพาะ
อุปกรณ์ชนิดนี้ได้แก่ จอภาพ
อุปกรณ์เก็บข้อมูล (Storage Device)
เป็นอุปกรณ์เก็บข้อมูลที่คอมพิวเตอร์ใช้เก็บข้อมูลต่าง ๆ
ข้อมูลสามารถถูกดึงหรือเรียกกลับมาใช้ได้ในภายหลัง
แบ่งเป็น 2 ประเภทคือ
อุปกรณ์ที่มีการเข้าถึงแบบลำดับ (Serial Access Storage Device)
อุปกรณ์ที่มีการเข้าถึงโดยตรง (Direct Access Storage Device)
อุปกรณ์ที่มีการเข้าถึงแบบลำดับ (Serial Access Storage Device)
การเข้าถึง (Access) ต้องเป็นไปตามลำดับ เรียงไปจนถึงตำแหน่งที่ต้องการ
การเก็บข้อมูลจะเก็บเป็นกลุ่ม ๆ ไม่มีแอดเดรสของแต่ละกลุ่ม การอ่านต้องอ่านเข้ามาทีละกลุ่มแล้วตรวจสอบว่าเป็นกลุ่มที่ต้องการหรือไม่จนพบข้อมูล
อุปกรณ์พวกนี้ได้แก่ เทป
อุปกรณ์ที่มีการเข้าถึงโดยตรง
(
Direct Access Storage Device)
ข้อมูลจะถูกจัดไว้เป็นกลุ่มในระดับบล็อกหรือ        เซกเตอร์ แต่ละกลุ่มจะมีแอสเดรสของตัวเอง
การเข้าถึงทำได้โดยกำหนดแอดเดรสของข้อมูลกลุ่มนั้นทำให้การเข้าถึงสามารถเข้าถึงได้โดยตรงไม่ต้องผ่านข้อมูลกลุ่มอื่น
อุปกรณ์พวกนี้ได้แก่ ดิสก์
ตัวควบคุมอุปกรณ์ (Device Controller)
•อุปกรณ์แต่ละประเภทจะประกอบด้วยกลไกต่าง ๆ และส่วนที่เป็นวงจรอิเล็กทรอนิกส์
•สำหรับส่วนที่เป็นวงจรอิเล็กทรอนิกส์เราเรียกว่าชิพ ที่ประกอบรวมกันอยู่บนเซอร์กิตบอร์ด (Circuit board) ซึ่งส่วนนี้เองที่ถูกเรียกว่า ตัวควบคุมอุปกรณ
•ตัวควบคุมอุปกรณ์ทำหน้าที่ควบคุมการทำงานของอุปกรณ์ ตรวจสอบและแก้ไขข้อผิดพลาดเมื่อเกิดขึ้น
ในแต่ละอุปกรณ์ก็จะมีตัวควบคุมอุปกรณ์นั้น ๆ เช่น
ตัวควบคุมจอภาพ หรือรู้จักกันในนามของการ์ดจอภาพ
ตัวควบคุมดิสก์ หรือรู้จักกันในนามของดิสก์คอนโทรเลอร์ (Disk Controller)
ตัวขับอุปกรณ์ (Device drivers)
•อุปกรณ์แต่ละชนิดย่อมมีลักษณะที่แตกต่างกันออกไปในหลาย ๆ อย่าง ทั้งการติดต่อรับส่งข้อมูล การควบคุมการทำงานภายในอุปกรณ์
•ถ้าเราให้ OS เป็นผู้ควบคุมทุกอุปกรณ์ ตัว OS จะต้องรู้การทำงานของอุปกรณ์แต่ละชนิดอย่างละเอียด รวมทั้งกรณีที่มีการพัฒนาอุปกรณ์ใหม่ ๆ ขึ้นมาก็จะต้องมีการแก้ไขให้ OS รู้จักอุปกรณ์ตัวใหม่อยู่ตลอดเวลา
ด้วยความไม่สะดวกดังกล่าวผู้ออกแบบ OS จึงได้ทำการแยกเอาส่วนควบคุมอุปกรณ์ทั้งหมดออกจากระบบ โปรแกรมที่แยกตัวออกมานั้นมีหน้าที่ควบคุมการ    ติดต่อกับอุปกรณ์เหล่านั้นเราเรียกว่า ตัวขับอุปกรณ์ (Device drivers)





หน้าที่ของ OS ในการจัดการอุปกรณ์
ติดตามสถานะของอุปกรณ์ทุกชิ้น โดยจะมี UCB (Unit control block) สำหรับอุปกรณ์แต่ละชิ้นเพื่อเก็บข้อมูลที่สำคัญต่าง ๆ ของอุปกรณ์นั้น ๆ
กำหนดการให้ใช้งานเมื่อมีการร้องขออุปกรณ์โดยมีเทคนิคอยู่ 3 ประการ
การยกให้ (Dedicated device) เป็นการกำหนดให้อุปกรณ์ถูกใช้ได้โดยโปรเซสเพียงโปรเซสเดียว โปรเซสอื่น ๆ จะเข้ามาใช้อุปกรณ์ตัวนี้ไม่ได้
การแบ่งปัน (Shared device) เป็นการกำหนดให้อุปกรณ์ถูกใช้ได้โดยหลายโปรเซสร่วมกัน ไม่เป็นของโปรเซสใดโปรเซสหนึ่ง
การปลอม (Virtual device) เป็นการจำลองอุปกรณ์ชิ้นหนึ่งให้เป็นอุปกรณ์อีกชิ้นหนึ่ง
จัดสรร (Allocate) อุปกรณ เพื่อมอบหมายอุปกรณ์ชิ้นนั้นให้โปรเซสที่ร้องขอ
เรียกคืน (Deallocate) อุปกรณ์เมื่อโปรเซสที่ครอบครองอุปกรณ์ทำงานจบลง หรือต้องการคืนอุปกรณ์ให้กับระบบ
ควบคุมและขัดจังหวะการรับส่งข้อมูลระหว่างอุปกรณ์กับซีพียู หรือหน่วยความจำ
การรับส่งข้อมูลระหว่าง CPU กับอุปกรณ์
•เมื่อโปรเซสต้องการส่งข้อมูลให้กับอุปกรณ์ต่าง ๆ ข้อมูลที่จะส่งจะถูกเก็บไว้ในหน่วยความจำ
•การส่งจะกระทำโดย CPU เป็นผู้ดึงข้อมูลมาจากหน่วยความจำและส่งไปให้อุปกรณ์ต่าง ๆ
•ในทางกลับกันเมื่ออุปกรณ์ต่าง ๆ ต้องการส่งข้อมูลให้โปรเซส ข้อมูลจะถูกส่งผ่าน CPU ไปไว้ในหน่วยความจำ จากนั้นโปรเซสจึงนำข้อมูลไปใช้ได้
วิธีการรับส่งข้อมูล มีอยู่ 3 วิธี ได้แก่
การพอลลิ่ง (Polling)
การอินเตอร์รัพต์ (Interrupt)
เมลบ็อกซ์ (Mailbox)
การพอลลิ่ง (Polling)
ลักษณะการติดต่อแบบนี้คือ ทุก ๆ ช่วงเวลาหนึ่งซีพียูจะหยุดงานที่ทำอยู่ชั่วคราวและไปตรวจเช็คที่แต่ละแชนเนลเพื่อดูว่ามีอุปกรณ์ใดต้องการส่งข้อมูลบ้างตั้งแต่ตัวแรก-ตัวสุดท้าย จนกระทั้งหมดซีพีจะกลับไปทำงานตามเดิม
การอินเตอร์รัพต์ (Interrupt)
เมื่ออุปกรณ์ตัวใดต้องการส่งข้อมูล จะส่งสัญญาณผ่านทางแชนแนลไปบอกซีพียู เมื่อซีพียูทราบก็จะหยุดงานชั่วคราวแล้วไปรับรับส่งข้อมูลจนเสร็จสิ้น แล้วกลับไปทำงานต่อ
เมลบ็อกซ์ (Mailbox)
ระบบจะเสียเนื้อที่ส่วนหนึ่งไปเพื่อเป็นที่พักของข้อมูลเมื่อมีอุปกรณ์บางตัวต้องการส่งข้อมูล ก็จะส่งไปเก็บไว้ในเนื้อที่ส่วนนี้ เมื่อถึงระยะเวลาหนึ่งซีพียูจะหยุดงานที่ตัวเองทำไปรับส่งข้อมูลเสร็จแล้วก็จะไปทำงานที่ค้างไว้ต่อ





การจัดการสื่อจัดเก็บข้อมูล (Storage Management)
สื่อจัดเก็บข้อมูลในที่นี้หมายถึงหน่วยความจำสำรอง (Secondary Storage) ที่ใช้ในการจัดเก็บข้อมูล
ได้แก่ ดิสก์แม่เหล็ก (Magnetic disk) เช่น ฮาร์ดดิสก์          ฟล็อปปี้ดิสก์
ดิสก์ (Disk)
การจัดเนื้อที่บนดิสก์แม่เหล็กจะมีการจัดแบ่งออกเป็น     ไซลินเดอร์ (cylinder)
ในแต่ละไซลินเดอร์จะแบ่งออกเป็นแทร็ก (track)
ในแต่ละแทร็กจะแบ่งออกเป็นเซ็กเตอร์ (sector)
การจัดเก็บข้อมูลลงในดิสก์นั้นจะเก็บในรูปแบบของบล็อก (Block) ขนาดของบล็อกปกติจะมีขนาด 512 Byte แต่ละบล็อกจะอยู่เรียงตามลำดับในแต่ละเซกเตอร์ โดยเซ็กเตอร์ 0 จะเป็นเซ็กเตอร์แรกของแทร็กแรกซึ่งอยู่ที่ไซลินเดอร์ด้านนอกสุดของดิสก์
การเรียงลำดับหมายเลขแทร็กและหมายเลขไซลินเดอร์จะเรียงต่อกันไปเรื่อย ๆ จากด้านนอกสุดไปด้านในสุดของดิสก์


การจัดเวลาการใช้ดิสก์ (Disk scheduling)
การใช้งานดิสก์ให้มีประสิทธิภาพนั้นสามารถพิจารณาได้จากระยะเวลาที่ใช้ในการอ่านหรือบันทึกข้อมูล ซึ่งเวลาที่ใช้นั้นขึ้นอยู่กับปัจจัย 3 อย่าง  ดังนี้
ระยะเวลาการค้นหา (seek time) หมายถึงระยะเวลาที่ใช้ในการเคลื่อนที่หัวอ่านไปยังไซลินเดอร์ที่มีเซ็กเตอร์ที่ต้องการ
ระยะเวลาที่ใช้หมุนดิสก์ (rotational latency) หมายถึงที่ระยะเวลาที่รอคอยการหมุนดิสก์เพื่อหาเซ็กเตอร์ที่ต้องการให้ตรงกับหัวอ่าน
ระยะเวลาการโอนย้ายข้อมูล (transfer time)
ระยะเวลาการค้นหาเป็นปัจจัยที่สำคัญมากที่สุด ดังนั้นการลดระยะเวลาการค้นหาลงจะทำให้การใช้งานดิสก์มีประสิทธิภาพมากขึ้น
เวลาในการเข้าถึงข้อมูล = เวลาค้นหา+เวลาหมุนดิสก์+เวลาถ่ายเทข้อมูล
การจัดเวลาในการใช้ดิสก์นั้นแบ่งออกเป็น 5 แบบดังนี้
การจัดเวลาแบบมาก่อนได้ก่อน (First come first served : FCFS)
การจัดเวลาแบบเวลาสั้นสุดได้ก่อน (Shortest seek time first : SSTF)
การจัดเวลาแบบสแกน (SCAN Scheduling)
การจัดเวลาแบบซีสแกน (Circular-SCAN Scheduling)
การจัดเวลาแบบ LOOK (Look Scheduling)
การจัดเวลาแบบมาก่อนได้ก่อน First come first served : FCFS
เป็นรูปแบบการจัดเวลาที่ง่ายที่สุด แต่ไม่ใช่วิธีของการทำงานที่เร็วที่สุด
เช่นถ้าลำดับการอ่านข้อมูลจากไซลินเดอร์เป็นดังนี้ 97 , 180 , 36 , 124 , 12 , 128 , 62 , 66 ปัจจุบันไซลินเดอร์ 50
ลักษณะการเคลื่อนที่ของหัวอ่านจะเคลื่อนที่ดังรูป






ข้อเสียแบบ SSTF
การคอยใช้บริการที่อาจจะไม่ได้รับการบริการ เช่น มีการเรียกใช้ไซเลนเดอร์ 12 และ 180 ในขณะที่หัวอ่านอยู่ที่ ไซเลนเดอร์ 12 นั้นมีการเรียกใช้ ไซเลนเดอร์ที่อยู่ใกล้ 12 เข้ามา ซึ่งการขอเรียกใช้ไซเลนเดอร์ที่ใกล้ 12 ก่อน ซึ่ง ไซเลนเดอร์ 180 ต้องคอยก่อน
การจัดแบบ SSTF ยังไม่ใช่วิธีการดีที่สุด สามารถปรับวิธีการลดการเคลื่อนที่หัวอ่านให้น้อยลงได้อีก ดังตัวอย่าง

การจัดเวลาแบบเวลา SCAN
รูปแบบการทำงานจะเป็นลักษณะของการที่หัวอ่านจะเริ่มอ่านที่ด้านใดด้านหนึ่งของดิสก์ (ต้องทราบทิศทาง) และจะเคลื่อนที่ไปยังอีกด้านหนึ่ง และจะให้บริการก็ต่อเมื่อหัวอ่านเคลื่อนที่ไปถึงที่ไซลินเดอร์นั้น
เช่นถ้าลำดับการอ่านข้อมูลจากไซลินเดอร์เป็นดังนี้ 97 , 180 , 36 , 124 , 12 , 128 , 62 , 66 จากลำดับที่ให้มาถ้าเริ่มต้นหัวอ่านอยู่ที่ไซลินเดอร์ที่ 50 ถ้าหัวอ่านเคลื่อนที่ต่อไปยังไซลินเตอร์ 0
ตัวอย่าง : จงเรียงลำดับการเคลื่อนที่ของหัวอ่านพร้อมทั้งวาดรูปประกอบ








การจัดการเนื้อที่บนดิสก์ (Disk Management)
OS ยังมีหน้าที่ที่เกี่ยวข้องกับการจัดการเนื้อที่บนดิสก์ เช่น การฟอร์แมตดิสก์ การกู้คืนดิสก์ส่วนที่เสียหาย นอกเหนือจากการจัดเวลาการใช้ดิสก์
การฟอร์แมตดิสก์ (Disk formatting)
การฟอร์แมตดิสก์เป็นขบวนการจัดแบ่งเนื้อที่บนดิสก์โดยใช้ซอฟต์แวร์เป็นตัวจัด กระบวนการนี้มีชื่อเรียกเป็นทางการว่า Low-Level formatting
การฟอร์แมตดิสก์จะทำให้ดิสก์แบ่งออกเป็นแทร็กและเซ็กเตอร์














อุปกรณ์เสมือน
คือการนำเอาอุปกรณ์ชนิดหนึ่งมาจำลองการทำงานเป็นอุปกรณ์อีกชนิดหนึ่ง เพื่อให้เกิดความคล่องตัวในการทำงานของระบบ
ตัวอย่างของการทำอุปกรณ์เสมือนคือการทำแรมดิสก์ (RAM Disk)
อีกวิธีที่นิยมคือการทำสพูล SPOOL (Simultaneous Peripheral Operation On-Line)
การทำสพูล SPOOL
เป็นการใช้อุปกรณ์ที่มีความเร็วสูงมาทำงานแทนอุปกรณ์ที่มีความเร็วต่ำ
เช่นการใช้ดิสก์แทนเครื่องพิมพ์ เนื่องจากดิสก์มีการรับส่งข้อมูลได้รวดเร็วกว่าเครื่องพิมพ์มากหลายเท่า
โดยมีโปรเซสหนึ่งของ OS ชื่อ  SPOOLER ทำหน้าที่จัดการเรื่องการทำ SPOOL ของระบบ






อ้างอิง

http://chantra.sru.ac.th/OS.html


งานที่ 6

การจัดการไฟล์
File Management
นาย ปัณณรุจน์ อมรสิทธิ์สิริ รหัส 6031280004

การจัดการไฟล์ (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 ถือว่าเป็นคนละไฟล์
ตัวอย่างชนิดของไฟล์ข้อมูล
                                             
โครงสร้างไฟล์ข้อมูล
การจัดโครงสร้างไฟล์ข้อมูลที่ใช้กันอยู่ทั่วไปมีอยู่ 3 แบบ
แบบไบต์เรียงต่อกันไป เช่น UNIX และ Windows เวลาอ่าน/เขียนก็จะทำงานทีละไบต์
แบบเรกคอร์ด (Record) โดยมีขนาดของเรกคอร์ดคงที่ เช่น CP/M เวลาอ่าน/เขียนก็จะทำงานทีละเรกคอร์ด สำหรับเรกคอร์ดสุดท้ายอาจจะไม่เต็มเรกคอร์ดก็ได้
แบบต้นไม้ (Tree) จะจัดเก็บเป็นบล็อก ในแต่ละบล็อกจะประกอบด้วยเรกคอร์ด โดยขนาดของแต่ละเรกคอร์ดอาจไม่เท่ากัน เช่น OS ในระบบ Mainframe เวลาอ่าน/เขียนก็จะทำงานโดยค้นไปตามการเชื่อมโยงของต้นไม้

                                         


ไดเร็กทอรี (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)


                                         


ชื่อพาธ (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
การอ้างชื่อไฟล์แบบสัมบูรณ์ (Absolute path name) … ต่อ

                                          

การอ้างชื่อไฟล์แบบสัมพัทธ์ (Relative path name)
เป็นการอ้างถึงไฟล์โดยที่ผู้ใช้จะต้องเข้าใจในเรื่องระบบไดเร็กทอรีปัจจุบัน(Current directory) เนื่องจากการอ้างถึงชื่อไฟล์จะเริ่มต้นจากไดเร็กทอรีปัจจุบัน
แล้วไล่ไปตามลำดับชั้นของไดเร็กทอรีที่ไฟล์นั้นอยู่และจบลงด้วยชื่อไฟล์นั้น
ตัวอย่างการอ้างถึงไฟล์ชื่อ Readme.doc ที่อยู่ภายใต้พาธ (Root    user     lib) โดยที่ไดเร็กทอรีปัจจุบันอยู่ที่
userWindows หรือ 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
กั้นไว้  มีขนาด 10 Byte
วัน-เวลาที่บันทึก  มีขนาด 4 Byte
หมายเลขบล็อกแรกของไฟล์  มีขนาด 2 Byte
ขนาดของไฟล์  มีขนาด 4 Byte

                                      

โครงสร้างไดเร็กทอรี่ในระบบ Windows(Directory Structure of Windows)
ตารางไดเร็กทอรี่ในระบบ DOS  มีชื่อเรียกว่า FAT-32เนื่องจากในระบบ DOS การตั้งชื่อไฟล์ไม่สามารถตั้งชื่อ
ได้เกิน 8 ตัวอักษร เนื่องจากข้อจำกัดในโครงสร้างของไดเร็กทอรี่การทำให้ระบบสามารถกำหนดชื่อไฟล์
ได้มากกว่า 8 ตัวอักษรเราเรียกไฟล์ที่มีชื่อยาวกว่า 8 ตัวอักษรว่า “Long File Name”บริษัทไมโครซอฟต์
จึงได้พิจารณาหาทางออกให้สามารถตั้งชื่อไฟล์ที่มีขนาดเกิน 8 ตัวอักษร โดยมีวิธีการดังนี้


โครงสร้างไดเร็กทอรี่ในระบบ 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 ไฟล์
ตัวอย่าง Long file name ที่ชื่อ “My Document No1.Doc”

 การใช้ไฟล์ร่วมกัน (Share files)
การจัดการเนื้อที่ว่างภายในดีสก์ (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) ช่วยให้ผู้ใช้เข้าถึงได้ง่ายสะดวกและมี
ประสิทธิภาพ

                                    

ข้อได้เปรียบของระบบฐานข้อมูล
•ลดการเก็บข้อมูลที่ซ้ำซ้อน
•รักษาความถูกต้องของข้อมูล
•แบ่งปันกันใช้ได้
•การป้องกันและรักษาความปลอดภัยให้กับข้อมูลทำได้สะดวก
•ความเป็นอิสระของข้อมูล
ภาษาของระบบฐานข้อมูล
ภาษากำหนดข้อมูลหรือ DDL (Data Definition Language) เป็นภาษาที่ผู้ใช้ได้กำหนดโครงสร้างหรือแบบแผนในการเก็บข้อมูล เช่น 
Create
ภาษาจัดการข้อมูลหรือ DML (Data Manipulation Language) เป็นภาษาที่ผู้ใช้ใช้จัดการกับข้อมูลของผู้ใช้เอง เช่น 
Select, Delete
ผู้บริหารฐานข้อมูล
ผู้บริหารฐานข้อมูล (DBA: Database Administrator)  มีหน้าที่
กำหนดโครงสร้างหรือรูปแบบของฐานข้อมูล
กำหนดโครงสร้างของอุปกรณ์เก็บข้อมูลและวิธีเข้าถึง
–มอบหมายขอบเขตอำนาจหน้าที่ของการเข้าถึงของผู้ใช้

                            



รูปแบบของระบบฐานข้อมูล
ฐานข้อมูลแบบลำดับชั้น  (Hierarchical Database Model)
ฐานข้อมูลแบบเครือข่าย (Network Database Model)
ฐานข้อมูลแบบความสัมพันธ์ (Relational Database Model)


                                 


                                 


                                 

ระบบฐานข้อมูลและ OS

DBMS จะทำงานซ้อนอยู่บนระบบไฟล์
การเข้าถึงข้อมูลในฐานข้อมูลของ DBMS จะต้องเรียกใช้     รูทีนต่าง ๆ ในระบบไฟล์


                               


อ้างอิง
http://chantra.sru.ac.th/OS.html