การจัดการอุปกรณ์รับ และแสดงผล บทที่ 6 การจัดการอุปกรณ์รับ และแสดงผล
หน้าที่ของระบบปฏิบัติการเกี่ยวกับ การจัดการอุปกรณ์ ตรวจสอบสถานการณ์ทำงานของอุปกรณ์ และเก็บข้อมูลที่สำคัญต่าง ๆ ของอุปกรณ์นั้น เพื่อเป็นข้อมูลในการจัดการอุปกรณ์ กำหนดว่าอุปกรณ์ชิ้นใดใครเป็นผู้ใช้ และใช้นานเท่าใด โดยที่ ระบบปฏิบัติการจะให้ใครใช้อุปกรณ์ การจัดสรร (Allocate) การเรียกคืน (Deallocate)
หน้าที่ของระบบปฏิบัติการ เกี่ยวกับการจัดการอุปกรณ์ เทคนิคการจัดการอุปกรณ์มี 3 ประเภท การยกให้ (Dedicate Device) การแบ่งปัน (Shared Device) การจำลองอุปกรณ์ (Virtual Device)
โดยทั่วไปจำแนกอุปกรณ์ได้ 2 ประเภท ประเภทของอุปกรณ์ โดยทั่วไปจำแนกอุปกรณ์ได้ 2 ประเภท อุปกรณ์ที่ทำงานกับข้อมูลคราวละบล็อก (Block Device) อุปกรณ์ที่ทำงานกับข้อมูลคราวละอักขระ (Character Device)
ตัวขับอุปกรณ์ (Device Driver) เมื่อระบบปฏิบัติการต้องการติดต่อกับอุปกรณ์ใด ระบบปฏิบัติการก็จะติดต่อผ่านตัวขับอุปกรณ์นั้น แล้วตัวขับอุปกรณ์จะติดต่อกับอุปกรณ์จริง ๆ อีกทีหนึ่ง
ตัวควบคุมอุปกรณ์ (Device Controller) ตัวควบคุมอุปกรณ์จะอยู่ในรูปแบบของแผงวงจร และติดตั้งในเครื่องคอมพิวเตอร์ แล้วเชื่อมโยงเคเบิ้ลไปยังตัวอุปกรณ์ ซึ่งตัวควบคุมอุปกรณ์ที่ใช้ในการควบคุมอุปกรณ์หนึ่ง จะใช้ควบคุมอุปกรณ์ได้เพียงอย่างเดียว
การเข้าถึงหน่วยความจำโดยตรง (Direct Memory Access / DMA) การรับส่งข้อมูลจากอุปกรณ์ I/O เข้าไปยังหน่วยความจำโดยตรง โดยไม่ต้องส่งผ่านซีพียู ซึ่งจะทำให้การรับส่งข้อมูลทำได้เร็วขึ้น และยังจะสามารถใช้ซีพียูในการทำงานโปรเซสอื่น ๆ ได้
การเข้าถึงหน่วยความจำโดยตรง (Direct Memory Access / DMA) เมื่อระบบมีความต้องการรับส่งข้อมูลแบบเข้าถึงหน่วยความจำโดยตรง Channel จะส่งสัญญาณไปบอกซีพียูให้รับรู้ว่ามีเหตุการณ์ที่ต้องการจะรับส่งข้อมูล จากนั้นซีพียูสั่งให้ Channel ทำงานในรูทีนที่เกี่ยวข้องกับการควบคุมการรับส่งข้อมูล
การติดตาย (Deadlock) คือ ปัญหาที่งาน 2 งานขึ้นไปเริ่มหยุดชะงัก (Hold) ไม่ทำงานต่อ เนื่องจากงานแต่ละงานรอคอย การใช้ทรัพยากรบางอย่าง แต่ทรัพยากรนั้นอยู่ในสถานะไม่ว่าง ในที่สุดการทำงานของทั้งระบบ ก็จะหยุดชะงักลง
ภาพแสดงการติดตาย
ภาพแสดงการติดตายของบันได
ภาพแสดงการติดตายของการจราจร
ภาพแสดงการจราจรที่ไม่เกิดปัญหาการติดตาย
ทรัพยากรการติดตาย ปัญหาการติดตายจะเกิดขึ้นเมื่อโปรเซสไม่ได้รับการอนุญาตให้เข้าถึงทรัพยากร ดังนั้นการจัดการและการใช้งานทรัพยากร จึงเป็นปัจจัยสำคัญในการศึกษาสาเหตุและวิธีการป้องกันปัญหาการติดตาย โดยทรัพยากรนี้อาจจะเป็นฮาร์ดแวร์หรือซอฟต์แวร์ก็ได้ ปกติแล้วคอมพิวเตอร์จะมีทรัพยากรในระบบมากมายหลายรูปแบบ ระบบสามารถใช้งานได้โดยโปรเซสเพียงโปรเซสเดียว ณ เวลาใดเวลาหนึ่ง
ทรัพยากรสามารถแบ่งออกได้ 2 กลุ่ม ประเภทของทรัพยากร ทรัพยากรสามารถแบ่งออกได้ 2 กลุ่ม ทรัพยากรที่สามารถปลดปล่อยได้โดยไม่ทำ ความเสียหายต่องานที่กำลังทำอยู่ (Preemptable resource) ทรัพยากรที่ไม่สามารถปลดปล่อยได้จนกว่า การทำงาน จะเสร็จสิ้น (Nonpreemptable resource)
การติดตายจะเกิดกับทรัพยากร ที่ไม่สามารถปลดปล่อยได้เท่านั้น การร้องขอเพื่อใช้ทรัพยากร การใช้งานทรัพยากร การปลดปล่อยทรัพยากร
สาเหตุของการติดตาย การบังคับไม่ให้โปรเซสเข้าใช้ทรัพยากร เกิดจากสาเหตุ 4 ประการ การบังคับไม่ให้โปรเซสเข้าใช้ทรัพยากร การครองทรัพยากรค้างไว้ในขณะที่ร้องขอใช้ ทรัพยากรอีกอย่างหนึ่ง การที่ไม่สามารถปลดปล่อยทรัพยากรที่ครองอยู่ได้ การคอยทรัพยากรซึ่งกันและกันในลักษณะงูกินหาง
จบบทที่ 6