ใบงานที่ 7 การจัดการอุปกรณ์ Device Management
ใบงานที่ 7 การจัดการอุปกรณ์ Device Management
จัดทำโดย นายสัญชัย สุดเอก
รหัส 6031280007
ลักษณะของอุปกรณ์ (Device Characteristic)
1.อุปกรณ์อินพุต-เอ้าต์พุต (Input/Output Device)
2.อุปกรณ์เก็บข้อมูล (Storage Device)


แบ่งได้เป็น 2 ประเภทคือ
1.อุปกรณ์ชนิดข้อมูลเป็นสาย (Stream)
2.อุปกรณ์ชนิดข้อมูลไม่เป็นสาย (Non-Stream
อุปกรณ์ชนิดข้อมูลเป็นสาย (Stream)1.ข้อมูลที่ส่งเข้าออกจะเรียงมาเป็นลำดับก่อนหลัง
2.การแบ่งแยกข้อมูลทำได้โดยตรวจสอบลำดับของข้อมูล
3.สามารถจัดการได้ง่าย
4.อุปกรณ์เหล่านี้ได้แก่ คีย์บอร์ด เครื่องพิมพ์
อุปกรณ์ชนิดข้อมูลไม่เป็นสาย (Non-Stream)
2.ต้องอาศัยข้อมูลเพิ่มเติมเพื่อที่จะแยกแยะข้อมูลแต่ละตัวและมีวิธีจัดการโดยเฉพาะ
3.อุปกรณ์ชนิดนี้ได้แก่ จอภาพ
1.อุปกรณ์ที่มีการเข้าถึงแบบลำดับ (Serial Access Storage Device)
2.อุปกรณ์ที่มีการเข้าถึงโดยตรง (Direct Access Storage Device)
2.อุปกรณ์ที่มีการเข้าถึงโดยตรง (Direct Access Storage Device)
การเข้าถึง (Access) ต้องเป็นไปตามลำดับ เรียงไปจนถึงตำแหน่งที่ต้องการ
•การเก็บข้อมูลจะเก็บเป็นกลุ่ม ๆ ไม่มีแอดเดรสของแต่ละกลุ่ม การอ่านต้องอ่านเข้ามาทีละกลุ่มแล้วตรวจสอบว่าเป็นกลุ่มที่ต้องการหรือไม่จนพบข้อมูล อุปกรณ์พวกนี้ได้แก่ เทป

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

ตัวควบคุมอุปกรณ์ (Device Controller)
-ตัวควบคุมอุปกรณ์ทำหน้าที่ควบคุมการทำงานของอุปกรณ์ ตรวจสอบและแก้ไขข้อผิดพลาดเมื่อเกิดขึ้น
ในแต่ละอุปกรณ์ก็จะมีตัวควบคุมอุปกรณ์นั้น ๆ เช่น
–ตัวควบคุมจอภาพ หรือรู้จักกันในนามของการ์ดจอภาพ
–ตัวควบคุมดิสก์ หรือรู้จักกันในนามของดิสก์คอนโทรเลอร์ (Disk Controller)
อุปกรณ์แต่ละชนิดย่อมมีลักษณะที่แตกต่างกันออกไปในหลาย ๆ อย่าง ทั้งการติดต่อรับส่งข้อมูล การควบคุมการทำงานภายในอุปกรณ์ ถ้าเราให้ OS เป็นผู้ควบคุมทุกอุปกรณ์ ตัว OS จะต้องรู้การทำงานของอุปกรณ์แต่ละชนิดอย่างละเอียด รวมทั้งกรณีที่มีการพัฒนาอุปกรณ์ใหม่ ๆ ขึ้นมาก็จะต้องมีการแก้ไขให้ OS รู้จักอุปกรณ์ตัวใหม่อยู่ตลอดเวลา
ด้วยความไม่สะดวกดังกล่าวผู้ออกแบบ OS จึงได้ทำการแยกเอาส่วนควบคุมอุปกรณ์ทั้งหมดออกจากระบบ โปรแกรมที่แยกตัวออกมานั้นมีหน้าที่ควบคุมการ ติดต่อกับอุปกรณ์เหล่านั้นเราเรียกว่า ตัวขับอุปกรณ์ (Device drivers)1.การยกให้ (Dedicated device) เป็นการกำหนดให้อุปกรณ์ถูกใช้ได้โดยโปรเซสเพียงโปรเซสเดียว
โปรเซสอื่น ๆ จะเข้ามาใช้อุปกรณ์ตัวนี้ไม่ได้
2.การแบ่งปัน (Shared device) เป็นการกำหนดให้อุปกรณ์ถูกใช้ได้โดยหลายโปรเซสร่วมกัน ไม่เป็นของโปรเซสใดโปรเซสหนึ่ง
3.การปลอม (Virtual device) เป็นการจำลองอุปกรณ์ชิ้นหนึ่งให้เป็นอุปกรณ์อีกชิ้นหนึ่ง
2.การแบ่งปัน (Shared device) เป็นการกำหนดให้อุปกรณ์ถูกใช้ได้โดยหลายโปรเซสร่วมกัน ไม่เป็นของโปรเซสใดโปรเซสหนึ่ง
3.การปลอม (Virtual device) เป็นการจำลองอุปกรณ์ชิ้นหนึ่งให้เป็นอุปกรณ์อีกชิ้นหนึ่ง
•เรียกคืน (Deallocate) อุปกรณ์เมื่อโปรเซสที่ครอบครองอุปกรณ์ทำงานจบลง หรือต้องการคืนอุปกรณ์ให้กับระบบ
•ควบคุมและขัดจังหวะการรับส่งข้อมูลระหว่างอุปกรณ์กับซีพียู หรือหน่วยความจำ
การรับส่งข้อมูลระหว่าง CPU กับอุปกรณ์
-การส่งจะกระทำโดย CPU เป็นผู้ดึงข้อมูลมาจากหน่วยความจำและส่งไปให้อุปกรณ์ต่าง ๆ
-ในทางกลับกันเมื่ออุปกรณ์ต่าง ๆ ต้องการส่งข้อมูลให้โปรเซส ข้อมูลจะถูกส่งผ่าน CPU ไปไว้ในหน่วยความจำ จากนั้นโปรเซสจึงนำข้อมูลไปใช้ได้
วิธีการรับส่งข้อมูล มีอยู่ 3 วิธี ได้แก่
1.การพอลลิ่ง (Polling)
2.การอินเตอร์รัพต์ (Interrupt)
3.เมลบ็อกซ์ (Mailbox)
2.การอินเตอร์รัพต์ (Interrupt)
3.เมลบ็อกซ์ (Mailbox)
การอินเตอร์รัพต์ (Interrupt)
เมื่ออุปกรณ์ตัวใดต้องการส่งข้อมูล จะส่งสัญญาณผ่านทางแชนแนลไปบอกซีพียู เมื่อซีพียูทราบก็จะหยุดงานชั่วคราวแล้วไปรับรับส่งข้อมูลจนเสร็จสิ้น แล้วกลับไปทำงานต่อ
-วิธีการนี้เรียกว่า การทำ DMA (Direct Memory Access)

-DMA Controller จะทำหน้าที่แทน CPU เมื่อต้องการรับส่งข้อมูลแบบ DMA
-เมื่อต้องการส่งข้อมูล DMA Controller จะส่งสัญญาณไปบอกให้ CPU รับรู้
-เมื่อ CPU ได้รับคำขอ CPU จะสั่งให้ DMA Controller ทำงานควบคุมการรับส่งข้อมูลต่อไป ส่วน CPU จะไปทำงานอื่น
-เมื่อทำงานเสร็จ DMA Controller จะส่งสัญญาณไปบอกให้ CPU รับรู้ว่าการรับส่งข้อมูลเสร็จสิ้นแล้ว
•สื่อจัดเก็บข้อมูลในที่นี้หมายถึงหน่วยความจำสำรอง (Secondary Storage) ที่ใช้ในการจัดเก็บข้อมูล
•ได้แก่ ดิสก์แม่เหล็ก (Magnetic disk) เช่น ฮาร์ดดิสก์ ฟล็อปปี้ดิสก์

•ในแต่ละไซลินเดอร์จะแบ่งออกเป็นแทร็ก (track)
•ในแต่ละแทร็กจะแบ่งออกเป็นเซ็กเตอร์ (sector)

การเรียงลำดับหมายเลขแทร็กและหมายเลขไซลินเดอร์จะเรียงต่อกันไปเรื่อย ๆ จากด้านนอกสุดไปด้านในสุดของดิสก์

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

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

ลำดับการอ่านข้อมูลจากไซลินเดอร์เป็นดังนี้ 97 , 180 , 36 , 124 , 12 , 128 , 62 , 66
-วิธีการเคลื่อนที่แบบ FCFS 50, 62, 66, 36, 12, 97, 124, 128, 180
-หัวอ่านจะต้องเคลื่อนที่ทั้งหมด 238 ไซเลนเดอร์
การจัดแบบ SSTF ยังไม่ใช่วิธีการดีที่สุด สามารถปรับวิธีการลดการเคลื่อนที่หัวอ่านให้น้อยลงได้อีก ดังตัวอย่าง
-วิธีการเคลื่อนที่แบบ FCFS 50, 36, 12, 62, 66, 97, 124, 128, 180
-หัวอ่านจะต้องเคลื่อนที่ทั้งหมด 206 ไซเลนเดอร์
-เช่นถ้าลำดับการอ่านข้อมูลจากไซลินเดอร์เป็นดังนี้ 97 , 180 , 36 , 124 , 12 , 128 , 62 , 66 จากลำดับที่ให้มาถ้าเริ่มต้นหัวอ่านอยู่ที่ไซลินเดอร์ที่ 50 ถ้าหัวอ่านเคลื่อนที่ต่อไปยังไซลินเตอร์ 0
-เช่นถ้าลำดับการอ่านข้อมูลจากไซลินเดอร์เป็นดังนี้ 97 , 180 , 36 , 124 , 12 , 128 , 62 , 66 จากลำดับที่ให้มาถ้าเริ่มต้นหัวอ่านอยู่ที่ไซลินเดอร์ที่ 50
การจัดการเนื้อที่บนดิสก์ (Disk Management)
OS ยังมีหน้าที่ที่เกี่ยวข้องกับการจัดการเนื้อที่บนดิสก์ เช่น การฟอร์แมตดิสก์ การกู้คืนดิสก์ส่วนที่เสียหาย นอกเหนือจากการจัดเวลาการใช้ดิสก์
-การฟอร์แมตดิสก์ (Disk formatting) –การฟอร์แมตดิสก์เป็นขบวนการจัดแบ่งเนื้อที่บนดิสก์โดยใช้ซอฟต์แวร์เป็นตัวจัด กระบวนการนี้มีชื่อเรียกเป็นทางการว่า Low-Level formatting
–การฟอร์แมตดิสก์จะทำให้ดิสก์แบ่งออกเป็นแทร็กและเซ็กเตอร์
-การฟอร์แมตดิสก์ (Disk formatting) –การฟอร์แมตดิสก์เป็นขบวนการจัดแบ่งเนื้อที่บนดิสก์โดยใช้ซอฟต์แวร์เป็นตัวจัด กระบวนการนี้มีชื่อเรียกเป็นทางการว่า Low-Level formatting
–การฟอร์แมตดิสก์จะทำให้ดิสก์แบ่งออกเป็นแทร็กและเซ็กเตอร์
การฟอร์แมตดิสก์ (Disk formatting) ในไดรว์ A
เมื่อเปิดเครื่องคอมพิวเตอร์จำเป็นที่จะต้องมีโปรแกรมเริ่มต้น ซึ่งจะทำหน้าที่ตรวจสอบและอ่านค่าที่จำเป็นทั้งหมดในระบบว่าระบบคอมพิวเตอร์พร้อมทำงานหรือไม่
โปรแกรมนี้มีชื่อว่า Bootstrap ซึ่งจะถูกเก็บไว้ในดิสก์ในพาร์ติชั่นที่เรียกว่า Boot block ซึ่งดิสก์ที่มี Boot Block เก็บอยู่จะเรียกว่า Boot Disk
bad block เป็นข้อบกพร่องจากโรงงาน จะมีวิธีจัดการคือ คอนโทรลเลอร์ทำหน้าที่จัดการกับพื้นที่ที่เสีย
โปรแกรมระบบทำหน้าที่จัดการกับพื้นที่ที่เสีย
เนื่องจากดิสก์มีชิ้นส่วนที่เคลื่อนไหวและมีความคงทนต่อการใช้งานไม่มากนัก ซึ่งจะทำให้มีโอกาสที่ดิสก์จะเกิดความเสียหายได้จากการเคลื่อนที่ของหัวอ่าน ซึ่งบางครั้งอาจจะเสียหายทั้งหมด หรือเสียหายเป็นบางเซ็กเตอร์ (Bad sector)
-วิธีการจัดการกับดิสก์ที่มี Bad Blocks หรือ Bad sector ตัว OS จะทำการทดสอบดิสก์และจะบันทึกรายการของ Bad sector ลงบนดิสก์ และแต่ละ Bad sector จะมีเซ็กเตอร์ที่ใช้สำรองสำหรับ Bad sector นั้น
–วิธีการจัดการในปัจจุบัน OS ทำอยู่ 2 วิธี
1.ใช้เซ็กเตอร์สำรองที่มีแทน Bad sector ที่เสีย
2.ขยับข้าม Bad sector ซึ่งวิธีนี้จะต้องมีการก็อปปี้ข้อมูลทั้งหมดและบันทึกลงไปใหม่
ตัวอย่างของการทำอุปกรณ์เสมือนคือการทำแรมดิสก์ (RAM Disk) อีกวิธีที่นิยมคือการทำสพูล SPOOL (Simultaneous Peripheral Operation On-Line
เป็นการใช้อุปกรณ์ที่มีความเร็วสูงมาทำงานแทนอุปกรณ์ที่มีความเร็วต่ำ เช่นการใช้ดิสก์แทนเครื่องพิมพ์ เนื่องจากดิสก์มีการรับส่งข้อมูลได้รวดเร็วกว่าเครื่องพิมพ์มากหลายเท่า โดยมีโปรเซสหนึ่งของ OS ชื่อ SPOOLER ทำหน้าที่จัดการเรื่องการทำ SPOOL ของระบบ
ความคิดเห็น
แสดงความคิดเห็น