Professional Documents
Culture Documents
(Operating Systems)
น.ท.ไพศาล โมลิ สกุ ล
มงคล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 1
บทที่ 7
การจัดการอุปกรณ์ อนิ พุต/เอาต์ พุต
(I/O Devices Management)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 2
อิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ฮาร์
ฮาร์ดดแวร์
แวร์ (I/O
(I/OHardware)
Hardware)
นักวิชาการแต่ละสาขาจะมีการมอง อินพุต/เอาต์พตุ ฮาร์ ดแวร์ ในมุมที่แตก
ต่างกัน
นักวิศวกรรมไฟฟ้ าเห็นว่า อินพุต/เอาต์พต
ุ ฮาร์ ดแวร์ คือ ตัวฮาร์ ดแวร์ ที่นำ
มาประกอบกันได้ แก่ มอเตอร์ สายไฟ ชุดจ่ายกระแสไฟฟ้า
อินพุต/เอาต์พต
ุ ฮาร์ ดแวร์ คือ โปรแกรมที่ใช้ ติดต่ออุปกรณ์ตา่ ง ๆ ทำงาน
ร่วมกัน
เป็ นโปรแกรมที่ใช้ ควบคุมอุปกรณ์ แต่ละชนิดจะมีความแตกต่างกัน ขึ ้นอยู่
กับการทำงาน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 3
อุอุปปกรณ์
กรณ์ออนิ นิ พุพุตต/เอาต์
/เอาต์พพตุ ตุ (I/O
(I/ODevices)
Devices)
อุปกรณ์อินพุต/เอาต์พตุ แบ่งออกเป็ น 2 ประเภท
บล็อกดีไวซ์ (Block Devices)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 4
อุอุปปกรณ์
กรณ์ออนิ นิ พุพุตต/เอาต์
/เอาต์พพตุ ตุ (I/O
(I/ODevices)
Devices)
บล็อกดีไวซ์ (Block Devices)
เป็ นอุปกรณ์ ที่จด
ั เก็บข้ อมูลได้ โดยทำการเก็บเป็ นบล็อกเช่น ดิสก์
เก็ต ฮาร์ ดดิสก์ เทป โดยทัว่ ไปขนาดของบล็อกประมาณ 512 ไบต์
ถึง 32,768 ไบต์
สามารถอ่าน/เขียนข้ อมูลลงในแต่ละบล็อกได้ โดยอิสระ
ลงไปในแผ่นดิสก์ได้ ประกอบไปด้ วย
ไซเรนเดอร์ (Cylinder)
เซ็กเตอร์ (Sector)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 5
อุอุปปกรณ์
กรณ์ออนิ นิ พุพุตต/เอาต์
/เอาต์พพตุ ตุ (I/O
(I/ODevices)
Devices)
บล็อกดีไวซ์ (Block Devices)
แต่ละบล็อกที่บรรจุข้อมูลภายในหัวอ่านสามารถนำข้ อมูลออกมาได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 6
อุอุปปกรณ์
กรณ์ออนิ นิ พุพุตต/เอาต์
/เอาต์พพตุ ตุ (I/O
(I/ODevices)
Devices)
บล็อกดีไวซ์ (Block Devices)
อุปกรณ์ ที่มีการแอ็กเซสแบบลำดับ (serial access storage
ตังแต่
้ ต้นเทป เรี ยงไปจนถึงตำแหน่งที่ต้องการ
การเก็บข้ อมูลจะเก็บเป็ นกลุม
่ ๆ ไม่มีแอ็ดเดรสของแต่ละกลุม่ การ
อ่านจะต้ องอ่านเข้ ามาทีละกลุม่
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 7
อุอุปปกรณ์
กรณ์ออนิ นิ พุพุตต/เอาต์
/เอาต์พพตุ ตุ (I/O
(I/O Devices)
Devices)
คาร์ เรกเตอร์ ดีไวซ์ (Character Devices)
เป็ นอุปกรณ์ ที่รับข้ อมูลเป็ นสาย
และคีย์บอร์ ด
อุปกรณ์ ประเภทนี ้มีการส่งข้ อมูลเข้ าออกเรี ยงเป็ น ลำดับก่อน-หลัง
แตกต่างกัน
จอภาพของคอมพิวเตอร์ จะต้ องส่งให้ ตรงตำแหน่งของตัวอักษรบน
จอภาพซึง่ มีแอ็ดเดรสของตนเองที่แน่นอน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 9
ลำดับความเร็วในการรับ-ส่ งข้ อมูลของอุปกรณ์ จากช้ าไปเร็ว
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 10
ลำดับความเร็วในการรับ-ส่ งข้ อมูลของอุปกรณ์ จากช้ าไปเร็ว(ต่ อ)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 11
ตัตัววควบคุ
ควบคุมมอุอุปปกรณ์
กรณ์ (Device
(Device Controllers)
Controllers)
อุปกรณ์แต่ละประเภทจะประกอบด้ วยกลไกต่างๆ และส่วนที่เป็ นวงจร
อีเล็กทรอนิกส์ ซึง่ ประกอบเข้ าเป็ นตัวชิพ หรื อประกอบรวมกันบนแผ่นเซ
อร์ กิตบอร์ ด (circuit board) ที่ถกู เรี ยกว่า “ตัวควบคุมอุปกรณ์ ” (device
controller) หรื ออะแดปเตอร์ (adapter)
สำหรับบอร์ ดและการ์ ด ที่ประกอบเป็ นคอมพิวเตอร์ นนเรี ั ้ ยกว่า กลไกบน
บอร์ ดคอมพิวเตอร์ ที่สามารถต่อการ์ ดต่างๆ ได้ เป็ นจำนวนมาก
ช่องที่เสียบเข้ ากับบอร์ ดเรี ยกว่า สล็อต (slot) สำหรับคอมพิวเตอร์ พีซี
(PC) สล็อตเหล่านี ้จะมีชื่อเรี ยกต่าง ๆ กัน เช่น ISA PCI AGP
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 12
ตัตัววควบคุ
ควบคุมมอุอุปปกรณ์
กรณ์ (Device
(DeviceControllers)
Controllers)
การ์ ดควบคุมอุปกรณ์แต่ละชนิดที่เสียบลงบนบอร์ ดจะถูกต่อสายไปยังอุปกรณ์
นัน้ ๆ แต่ละการ์ ดสามารถควบคุมอุปกรณ์ได้ ตงแต่
ั ้ 1ชิ ้น 2,4,8 ชิ ้น
การติดต่อระหว่างการ์ ดควบคุมกับอุปกรณ์ มก ั เป็ นในรูปของภาษาเครื่ องการ
โอนถ่ายข้ อมูลจะกระทำในระดับบิต
หน้ าที่ของตัวควบคุมนอกจากจะคอยตรวจสอบข้ อผิดพลาด แล้ วยังมีหน้ าที่ใน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 13
โครงสร้ างระบบคอมพิวเตอร์ ด้านอินพุต/เอาต์ พุต
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 14
อิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ทีทีใ่ ใ่ ช้ช้กการแมพหน่
ารแมพหน่ววยความจำ
ยความจำ(Memory
(Memory
mapped
mappedI/O) I/O)(วาดแผนที
(วาดแผนที่)่)
ตัวควบคุมแต่ละตัวจะมีรีจิสเตอร์ ที่ใช้ ติดต่อกับซีพียโู ดยตรง
ระบบปฏิบต ั ิการ จะเป็ นตัวประสานการทำงานระหว่างอุปกรณ์ตา่ งๆ กับ
ซีพียู แล้ วแต่การร้ องขอและความจำเป็ นของอุปกรณ์นนั ้ ๆ
ขณะที่ซีพียทำ ู การอ่านข้ อมูลจากรี จิสเตอร์ ระบบปฏิบตั ิการที่ดีจะเป็ นตัว
กำหนดช่วงเวลาที่ติดต่อให้ สอดคล้ องและเหมาะสมกับสถานะของ
อุปกรณ์ในขณะนัน้
อุปกรณ์ หลายตัวจะมีบฟ ั เฟอร์ ที่คอยทำหน้ าที่เก็บข้ อมูลเมื่อมีการติดต่อ
มายังอุปกรณ์นนั ้ ๆ โดยมีระบบปฏิบตั ิการเป็ นตัวประสาน ตัวอย่าง
บัฟเฟอร์ คือ วีดีโอแรม (Video RAM)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 15
Separate I/O and memory space
Memory-mapped I/O
Hybrid (ในเครือ
่ ง ้
Pentium จะใชแบบนี ้ โดยสงวนแอ็ดเดรส
ชว่ ง 640K - 1M เพือ
่ ใชเป็้ นบัฟเฟอร์ นอกเหนือจากพอร์ต
I/O ชว่ ง 0 - 64K
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 16
การแอ็
การแอ็กกเซสข้
เซสข้ออมูมูลลโดยตรง
โดยตรง(DMA
(DMA::Direct
DirectMemory
Memory
Access)
Access)
DMA เป็ นการรับ-ส่งข้ อมูลจากหน่วยความจำกับอุปกรณ์โดยตรงไม่ต้อง
ผ่านซีพียู
การรับ-ส่งข้ อมูลได้ รวดเร็ วไม่เปลืองเวลาของซีพียู เพราะการรับ -ส่งข้ อมูล
RAM
ขัน
้ ตอนการเกิด DMA
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 18
การแอ็
การแอ็กกเซสข้
เซสข้ออมูมูลลโดยตรง
โดยตรง(DMA
(DMA::Direct
DirectMemory
Memory
Access)
Access)
อุปกรณ์ที่ใช้ ตวั ควบคุม DMA ในการรับ-ส่งข้ อมูลโดยอิสระจากตัวซีพียู
อุปกรณ์เหล่านี ้ประกอบด้ วยรี จิสเตอร์ ที่ใช้ ในการเก็บข้ อมูลในระหว่าง
ที่ทำการรับ-ส่งข้ อมูลผ่านทางซีพียู
การโอนถ่ายข้ อมูลแต่ละครัง้ จะทำครัง้ ละไบต์ หรื อเวิร์ด หรื อหลาย ๆ เวิร์ด
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 19
การแอ็
การแอ็กกเซสข้
เซสข้ออมูมูลลโดยตรง
โดยตรง(DMA
(DMA::Direct
DirectMemory
Memory
Access)
Access)
ซีพียทู ี่รันงานอื่น ๆ อยูแ่ ละมีการกระทำ DMA ขึ ้นพร้ อม ๆ กันในช่วงที่มี
การรับ-ส่งข้ อมูลระหว่างหน่วยความจำกับแชลแนล แชลแนลจำเป็ นต้ อง
ใช้ บสั ข้ อมูลและบัสแอ็ดเดรสของหน่วยความจำกับซีพียู
กรณีการเลี่ยงช่วงเวลาที่ซีพียใู ช้ บสั ข้ อมูลและบัสแอ็ดเดรสของหน่วยความ
จำไม่ให้ ตรงกัน ถ้ าซีพียตู ้ องการใช้ บสั ทังสอง
้ DMA จะต้ องหยุดทันที
เป็ นการชัว่ คราว เมื่อซีพียทำู งานเสร็จ DMA ถึงจะกลับมาใช้ บสั ได้ ตาม
เดิม ลักษณะที่ DMA ใช้ บสั ทังสองในขณะที
้ ่ซีพียไู ม่ใช้ นี ้เรี ยกว่า “การ
ขโมยรอบเวลา (cycle stealing)”
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 20
การอิ
การอินนเทอร์
เทอร์รรัพัพต์ต์ซซีพีพยี ยี ู ู (Interrupts
(InterruptsRevisited)
Revisited)
การอินเทอร์ รัพต์ในระบบคอมพิวเตอร์ ขณะที่ซีพียูกำลังทำงาน สามารถ
เกิดได้ ตลาดเวลา ในระดับฮาร์ แวร์ เมื่ออุปกรณ์ใดๆ ทำงานที่สง่ เข้ ามาเสร็ จ
สิ ้นแล้ ว มันก็จะเกิดการอินเทอร์ รัพต์ขึ ้น
สัญญาณอินเทอร์ รัพต์จะถูกส่งผ่านไปตามบัสข้ อมูลโดยมีอป ุ กรณ์ตรวจ
จับสัญญาณดังกล่าวเป็ นชิพตัวหนึง่ ที่เรี ยกว่า ตัวควบคุมอินเทอร์ รัพต์
ขณะที่ตว ั ควบคุมอินเทอร์ รัพต์ตรวจดูวา่ มีอินเทอร์ รัพต์เข้ ามาสัญญาณ
เดียวสัญญาณนี ้ก็จะถูกส่งไปยังซีพียทู นั ทีเพื่อทำงานตามที่ร้องขอ
แต่ถ้าสัญญาณที่สง ่ เข้ ามามีมากกว่าหนึง่ สัญญาณ ตัวควบคุมอินเท
อร์ รัพต์จะตรวจสอบความสำคัญของสัญญาณ แล้ วจัดลำดับก่อน-หลัง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 21
การเกิดอินเทอร์รัพต์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 22
การอิ
การอินนเทอร์
เทอร์รรัพัพต์ต์ซซีพีพยี ยี ู ู (Interrupts
(InterruptsRevisited)
Revisited)
ตารางอินเทอร์ รัพต์เวกเตอร์ (Interrupt Vector) เป็ นตารางที่เก็บรวบรวม
แอ็ดเดรสต่างๆ ของสัญญาณอินเทอร์ รัพต์ที่ร้องขอเข้ ามาเพื่อขอรับบริ การ
จากซีพียู
การให้ บริ การของซีพียจู ะถูกควบคุมโดยระบบปฏิบตั ิการเป็ นตัวโหลดข้ อมูล
แอ็ดเดรสต่าง ๆ ตามที่บนั ทึกในอินเทอร์ รัพต์เวกเตอร์ แล้ ว ทำงานไปตามวง
รอบการทำงาน (machine cycle)
คอมพิวเตอร์ รุ่ นเก่าบางรุ่ น อาจไม่มีชิพที่ ทำหน้ าที่เป็ นศูนย์รวมการรับ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 24
หลั
หลักกการอิ
การอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ซอฟต์
ซอฟต์แแวร์วร์ (I/O
(I/OSoftware)
Software)
หลักของอินพุต/เอาต์ พุตซอฟต์ แวร์
อุปกรณ์แต่ละชนิดเป็ นอิสระต่อกันไม่เจาะจงประเภทหรื อ ยี่ห้องของอุปกรณ์
ตัวอย่างเช่น ในการอ่านข้ อมูล โปรแกรมที่เขียนขึ ้นต้ องสามารถอ่านข้ อมูลได้
ทังในฟล็
้ อปปี ,้ ฮาร์ ดดิสก์ หรื อกระทัง่ ข้ อมูลบนซีดีรอม โดยไม่ต้องปรับปรุง
แก้ ไขโปรแกรมแต่อย่างใด
สามารถตรวจสอบข้ อผิดพลาดที่เกิดขึ ้นได้ โดยอัตโนมัติ หรื อสามารถตรวจ
สอบหาสาเหตุของข้ อผิดพลาดได้ และพร้ อมกับบอกแนวทางในการแก้ ไขมา
พร้ อมกันด้ วย
ในการส่งผ่านข้ อมูลที่มีทงแบบวิ
ั้ ธีการบล็อก (blocking) และการใช้ อินเท
อร์ รัพต์ ซึง่ ส่วนใหญ่จะใช้ อินเทอร์ รัพต์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 25
หลั
หลักกการอิ
การอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ซอฟต์
ซอฟต์แแวร์วร์ (I/O
(I/OSoftware)
Software)
Programmed I/O
เป็ นวิธีที่งา่ ยที่สดุ ใน 3วิธี คือ
Interrupt-driven I/O
I/O using DMA
Programmed I/O
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 27
หลั
หลักกการอิ
การอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ซอฟต์
ซอฟต์แแวร์วร์ (I/O
(I/OSoftware)
Software)
Interrupt – Driven I/O
เกิดขึ ้นในกรณีของการพิมพ์ข้อมูลผ่านทางเครื่ องพิมพ์
ขึ ้นตอนการพิมพ์ข้อมูล 100 ตัวอักษร ซีพียทำ ู หน้ าที่สง่ ตัวอักษรไปยังเครื่ องพิมพ์ที
ละ 1 อักษร
จากนันจะคอยจนกว่
้ าพิมพ์เสร็จแล้ วส่งต่อไปจนกระทัง่ ครบทัง้ 100 ตัว
หนทางที่จะช่วยรักษาเวลาของซีพียไู ด้ โดยในขณะที่ซีพียรู อการทำงานจาก
เครื่ องพิมพ์ ก็คือหางานให้ ซีพียไู ด้ ทำงาน
ช่วงเวลาการพิมพ์ทีละตัวเป็ นเวลาที่น้อยเกินไป
การจัดระบบจัดสรรบัฟเฟอร์ ให้ จำนวนหนึง่ จะทำให้ ได้ ช่วงเวลาที่มากกว่า
การให้ งานกับซีพียจู ะต้ องมีตวั ควบคุมการอินเทอร์ รัพต์เพื่อร้ องขออินเทอร์ รัพต์ แล้ ว
ซีพียจู งึ ให้ บริ การอินเทอร์ รัพต์นนั ้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 28
หลั
หลักกการอิ
การอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ซอฟต์
ซอฟต์แแวร์วร์ (I/O
(I/OSoftware)
Software)
I/O Using DMA
การรับ-ส่งข้ อมูลแบบ DMA (Direct Memory Access) จำเป็ นต้ องอาศัย
แชนแนล หรื อตัวควบคุม DMA (DMA controller) แชนแนลจะทำหน้ าที่แทน
ซีพียเู มื่อต้ องการรับ-ส่งข้ อมูลแบบ DMA
แชนแนลจะทำหน้ าที่สง่ สัญญาณไปบอกซีพียใู ห้ รับรู้ และพร้ อมกับสัง่
แชนแนลให้ ทำรูทีนควบคุมการรับ-ส่งข้ อมูล เพื่อให้ ซีพียไู ปทำงานอื่นก่อน
การทำงานของซีพียบู างครัง้ จำเป็ นต้ องใช้ บสั รับ-ส่งข้ อมูล ถ้ าเป็ นช่วงเวลา
เดียวกับเวลาที่เกิด DMA (เป็ นไปได้ น้อยมาก) กรณีนี ้จะเลี่ยงการเกิด DMA
โดยให้ ซีพียทำ ู งานไปตามปกติ เมื่อทำงานเสร็จ DMA จึงใช้ บสั ข้ อมูล
โอกาสที่ DMA เกิดขึ ้น และใช้ บสั ในการรับ-ส่งข้ อมูลจะใช้ สญ ั ญาณนาฬิกา
(Clock) เข้ ามาช่วย เราเรี ยกช่วงเวลาดังกล่าวนี ้ว่า “การขโมยรอบเวลา”
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 29
อิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ซอฟต์
ซอฟต์แแวร์วร์เเลเยอร์
ลเยอร์ (I/O
(I/OSoftware
SoftwareLayers)
Layers)
Interrupt Handlers หรือการแก้ ไขเมื่อเกิดอินเทอร์ รัพต์
เลเยอร์ แรกเป็ นเลเยอร์ ที่ติดต่อกับตัวฮาร์ ดแวร์ โดยตรง
การติดต่อกับอุปกรณ์ใด ๆ จะใช้ โปรแกรมเป็ นตัวติดต่อ
ถ้ ามีการใช้ อินเทอร์ รัพต์ถือว่าการขัดจังหวะงานที่กำลังทำอยูข่ องอุปกรณ์นนั ้
จะต้ องมีการกำหนดขันตอนการปฏิ
้ บตั ิตามลำดับ
ซึง่ ลำดับขันตอนดั
้ งกล่าวในแต่ละอุปกรณ์จะแตกต่างกัน
เมื่อเกิดอินเทอร์ รัพต์ซีพียจู ะถูกพักงานไว้ ก่อน และทำการบันทึกสถานภาพ
ขณะนันไว้้ ก่อน
ย้ ายไปทำการควบคุมที่อปุ กรณ์ที่ร้องขออินเทอร์ รัพต์นนั ้
เมื่องานเสร็จ จะกลับทำงานเดิมตามสถานะที่บนั ทึกไว้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 30
Layers of the I/O Software System
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 31
อิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ซอฟต์
ซอฟต์แแวร์วร์เเลเยอร์
ลเยอร์ (I/O
(I/OSoftware
SoftwareLayers)
Layers)
ดีไวซ์ ไดร์ เวอร์ (Device Drivers)
อุปกรณ์แต่ละชนิดมีคณ ุ สมบัติในการติดต่อข้ อมูล รวมทังความเร็
้ วในการรับ-
ส่ง้อมูลที่แตกต่างกัน
ถ้ าให้ ระบบปฏิบตั ิการทำหน้ าที่ควบคุมและติดต่ออุปกรณ์เหล่านัน้ จะทำให้
ระบบปฏิบตั ิการมีขนาดใหญ่มาก และต้ องอัปเดทระบบปฏิบตั ิการบ่อย ๆ
ผู้ออกแบบระบบปฏิบตั ิการจึงเห็นควรแยกการควบคุมอุปกรณ์ออกจากระบบ
ปฏิบตั ิการ
โปรแกรมที่แยกตัวออกมาเพื่อทำหน้ าที่ควบคุมและติดต่ออุปกรณ์เรี ยกว่า “ดี
ไวซ์ไดร์ เวอร์ ” (Device Drivers)
อุปกรณ์แต่ละชนิดจะมีดีไวซ์ไดร์ เวอร์ เป็ นของมันเองซึง่ จะแตกต่างกับชนิดอื่น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 32
อิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ซอฟต์
ซอฟต์แแวร์วร์เเลเยอร์
ลเยอร์ (I/O
(I/OSoftware
SoftwareLayers)
Layers)
ดีไวซ์ ไดร์ เวอร์ (Device Drivers)
ถึงแม้ จะเป็ นอุปกรณ์ชนิดเดียวกันก็ใช้ ไดร์ เวอร์ คนละตัวกัน เช่น เครื่ องพิมพ์
ของ Epson จะใช้ ไดร์ เวอร์ ของ NEC ไม่ได้ (แม้ แต่คนละรุ่นก็ใช้ คนละตัวกัน)
ระบบปฏิบตั ิการที่ติดต่อกับอุปกรณ์ชนิดใด จะทำการติดต่อผ่านทางไดร์ เวอร์
ชนิดนัน้ แล้ วไดร์ เวอร์ ก็จะติดต่อกับอุปกรณ์จริ ง ๆ อีกทีหนึง่
การติดต่อของระบบปฏิบตั ิการกับอุปกรณ์ไม่วา่ จะเป็ นไดร์ เวอร์ ชนิดใด ๆ
ก็ตามจะมีรูปแบบเดียวกันทังหมด ้
การติดตังอุ ้ ปกรณ์จงึ ทำได้ งา่ ย โดยการเสียบปลัก๊ และติดตังโปรแกรมไดร์
้
เวอร์ ซึง่ ในไดร์ เวอร์ ยงั มีตวั ควบคุมอุปกรณ์ (Device Controller)
ปั จจุบนั ฟี เจอร์ ที่เรี ยกว่า PnP (plug and Play) ช่วยให้ การติดตังอุ
้ ปกรณ์ชิ ้น
ใหม่ทำได้ สะดวกและรวดเร็วมากยิ่งขึ ้น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 33
รู ปภาพแสดงตำแหน่ งของดีไวซ์ ไดร์ เวอร์ ท่ อี ยู่กลางระหว่ างอุปกรณ์ กับระบบ
ปฏิบัตกิ ารโดยเชื่อมด้ วยบัส
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 34
อิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ซอฟต์
ซอฟต์แแวร์วร์เเลเยอร์
ลเยอร์ (I/O
(I/OSoftware
SoftwareLayers)
Layers)
Device Independent I/O Software
การอินเทอร์ เฟซที่เป็ นลักษณะเฉพาะของดีไวซ์ ไดร์ เวอร์ : ความ
ต้ องการของระบบปฏิบตั ิการคือต้ องการให้ ระบบ สามารถติดต่อกับอุปกรณ์
ด้ วยมาตรฐานเดียวกัน ไม่วา่ จะติดต่อกับดิสก์ เครื่ องพิมพ์ คีย์บอร์ ด
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 35
รู ปภาพ (ก) แสดงการติดต่ อระหว่ างอุปกรณ์ กับระบบด้ วยไดร์ เวอร์ ท่ แี ตกต่ าง
กัน เมื่อระบบต้ องการติดต่ อกับอุปกรณ์ อ่ นื
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 36
รู ปภาพ (ข) แสดงการติดต่ อระหว่ างอุปกรณ์ กับระบบนัน้ ใช้ การติดต่ อที่มี
มาตรฐานเดียวกัน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 37
อิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ซอฟต์
ซอฟต์แแวร์วร์เเลเยอร์
ลเยอร์ (I/O
(I/OSoftware
SoftwareLayers)
Layers)
Device Independent I/O Software
การจัดบัฟเฟอร์ : หน่วยความจำบัฟเฟอร์ ถือว่ามีความสำคัญในการติดต่อ
ระหว่างอุปกรณ์ เนื่องจากความสามารถของอุปกรณ์แต่ละชนิดมีความ
รวดเร็วในการรับ-ส่งข้ อมูลที่แตกต่างกัน
การรายงานข้ อผิดพลาด : ระบบปฏิบตั ิการจะมีฟังก์ชนั ที่ทำหน้ าที่ในการ
ตรวจสอบและรายงานข้ อผิดพลาดที่เกิดขึ ้นได้
การผูกและปล่ อยอุปกรณ์ : เช่น CD-ROM ประกอบด้ วย 2 ฟั งก์ชนั ที่ทำ
หน้ าที่ในการอ่านข้ อมูลจากสื่อ และทำหน้ าที่ในการเขียนข้ อมูล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 38
อิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ซอฟต์
ซอฟต์แแวร์วร์เเลเยอร์
ลเยอร์ (I/O
(I/OSoftware
SoftwareLayers)
Layers)
User Space I/O Software
จัดเนื ้อที่สำหรับเก็บค่าข้ อมูลต่าง ๆ เช่น Library Procedure เพื่อเชื่อมกับ
โปรแกรม
และสามารถทำเป็ น สพูลลิง่ (Spooling เพื่อพักข้ อมูลไว้ ชวั่ ขณะในระหว่างที่
รอการส่งต่อไปยังอุปกรณ์)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 39
แอปพลิ
แอปพลิเเคชั
คชันนอิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ อิอินนเทอร์
เทอร์เเฟซ
ฟซ(Application
(Application
I/O
I/OInterface)
Interface)
การติดต่อระหว่างตัวควบคุมอุปกรณ์กบั ระบบย่อยอินพุต/เอาต์พตุ (I/O
Subsystem) ซึง่ เป็ นส่วนหนึง่ ของ Kernel จะใช้ ไดร์ เวอร์ เป็ นตัวควบคุม
ในอุปกรณ์ แต่ละประเภทจะมีไดร์ เวอร์ เป็ นของตัวเอง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 40
โครงสร้ าง Kernel ของอินพุต/เอาร์ พุต
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 41
แอปพลิ
แอปพลิเเคชั
คชันนอิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ อิอินนเทอร์
เทอร์เเฟซ
ฟซ(Application
(Application
I/O
I/OInterface)
Interface)
การแยกประเภทต่างๆของอุปกรณ์แบ่งตามลักษณะการส่งข้ อมูลได้ ดงั นี ้
อุปกรณ์ที่มีการส่งข้ อมูลครัง้ ละตัวอักษร กับครัง้ ละบล็อกของข้ อมูล
การเข้ าถึงข้ อมูลของอุปกรณ์แบบเรี ยงลำดับ (Sequential access) หรื อการ
เข้ าถึงแบบสุม่ (Random access)
อุปกรณ์ที่มีการจัดเตรี ยมข้ อมูลแบบกำหนดช่วงเวลาได้ (Synchronous) กับ
กำหนดช่วงเวลาไม่ได้ (Asynchronous)
อุปกรณ์ที่สามารถใช้ ร่วมกันในช่วงเวลาเดียวกันได้ กับอุปกรณ์ที่ต้องใช้ ตา่ ง
ช่วงเวลากัน
ความเร็วที่แตกต่างกันของอุปกรณ์แต่ละประเภท
ทิศทางในการถ่ายโอนข้ อมูลของอุปกรณ์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 42
คุณลักษณะของอุปกรณ์ อนิ พุต / เอาต์ พุต
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 43
แอปพลิ
แอปพลิเเคชั
คชันนอิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ อิอินนเทอร์
เทอร์เเฟซ
ฟซ(Application
(Application
I/O
I/OInterface)
Interface)
บล็อกดีไวซ์ และคาแรกเตอร์ ดีไวซ์ (Block and Character Devices)
การติดต่อกับอุปกรณ์ที่จดั การในลักษณะของบล็อกข้ อมูล จะใช้ คำสัง่ ซึง่ ตัว
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 45
แอปพลิ
แอปพลิเเคชั
คชันนอิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ อิอินนเทอร์
เทอร์เเฟซ
ฟซ(Application
(Application
I/O
I/OInterface)
Interface)
Clock and Timers
ทำหน้ าที่หลัก 3 ประการ คือ
บอกเวลาปั จจุบนั
บอกเวลาที่ใช้ งานไปแล้ ว
การตังเวลา
้
3 ฟั งก์ชนั ดังกล่าวมีการทำงานที่ตา่ งกัน
ฟั งก์ชนั Programmable interval timer เป็ นฟั งก์ชนั ที่สามารถบอกเวลาที่
ข้ อมูลถูกอ่านแล้ ว และยังสามารถบอกเวลาที่เหลือ เพื่อให้ ระบบปฏิบตั ิการ
สร้ างสัญญาณอินเทอร์ รัพต์เมื่อโหลดข้ อมูลเสร็จ
กลไกในเรื่ องการกำหนดเวลาเป็ นสิง่ สำคัญและจำเป็ นในระบบคอมพิวเตอร์ ที่
มีอปุ กรณ์หลายชนิดทำงานร่วมกัน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 46
แอปพลิ
แอปพลิเเคชั
คชันนอิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ อิอินนเทอร์
เทอร์เเฟซ
ฟซ(Application
(Application
I/O
I/OInterface)
Interface)
ในคอมพิวเตอร์ หลายๆ เครื่ องสัญญาณอินเทอร์ รัพต์ที่เกิดขึ ้น จะถูก
แสดงออกมาในช่วงความละเอียด 18-60 ครัง้ /วินาที ด้ วยตัว clock ของ
นาฬิกาเอง
ในขณะที่ซีพียส ู ามารถเอ็กซิคิวต์คำสัง่ ต่างๆได้ ถงึ ล้ านๆ คำสัง่ ใน 1 วินาที
แสดงให้ เห็นว่าความละเอียดของ clock มีความละเอียดน้ อยมากเมื่อ
เทียบกับซีพียู
ปั จจุบนั คอมพิวเตอร์ บางตัวสามารถใช้ counter clock ซึง่ มีความละเอียด
สูงเข้ ามาแทน ทำให้ สร้ างสัญญาณอินเทอร์ รัพต์แสดงออกได้ ละเอียดมาก
ขึ ้น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 47
แอปพลิ
แอปพลิเเคชั
คชันนอิอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ อิอินนเทอร์
เทอร์เเฟซ
ฟซ(Application
(Application
I/O
I/OInterface)
Interface)
Blocking I/O and Nonblocking I/O
มี 2 แนวทางในการเรี ยก System call คือ
Blocking I/O
Nonblocking I/O (Asynchronous)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 49
ระบบย่
ระบบย่ออยอิ
ยอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ใน
ในKernel
Kernel(I/O
(I/OSubsystem)
Subsystem)
การจัดเวลาอินพุต/เอาต์ พุต (I/O Scheduling)
I/O Scheduling เป็ นส่วนหนึง่ ของ Kernel ช่วยจัดลำดับขันตอนต่
้ างๆ ให้
กับซีพียู เพื่อให้ ซีพียทำ
ู งานเต็มประสิทธิภาพ
ตัวอย่างการอ่านบล็อกข้ อมูลจากดิสก์ ถ้ ามีโปรเซสที่ต้องการทำอยู่ 3 โปร
เซสด้ วยกัน
1. บล็อกข้ อมูลอยูต่ อนท้ ายของโปรเซส
2. บล็อกข้ อมูลอยูต่ อนต้ นของโปรเซส
3. บล็อกข้ อมูลอยูต่ อนกลางของโปรเซส
2 3 1
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 50
ระบบย่
ระบบย่ออยอิ
ยอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ใน
ในKernel
Kernel(I/O
(I/OSubsystem)
Subsystem)
การใช้ บัฟเฟอร์
บัฟเฟอร์ เป็ นหน่วยความจำประเภทหนึง ่ ที่ใช้ เก็บข้ อมูลขณะที่มีการถ่ายโอน
ข้ อมูลกันระหว่างอุปกรณ์ทงสองชนิ
ั้ ด ที่มาของการสร้ างบัฟเฟอร์ มีเหตุผล 3
ประการคือ
สำหรับอุปกรณ์ที่มีความเร็ วที่แตกต่างกันมาก ๆ จะช่วยให้ อป ุ กรณ์มี
ความเร็วมากไม่ต้องเสียเวลาคอย
การใช้ บฟั เฟอร์ เพื่อปรับปรุงอุปกรณ์ที่มีความสามารถในการถ่ายโอนข้ อมูล
ที่มีขนาดต่างกันให้ สามารถทำงานควบคูก่ นั ได้ อย่างมีประสิทธิภาพ
ใช้ สำหรับทำการแบ็คอัพข้ อมูลซึง ่ มักจะใช้ เป็ นประจำในคอมพิวเตอร์
เป็ นการป้องกันการสูญหายของข้ อมูล ทำให้ อปุ กรณ์ตา่ ง ๆ เป็ นอิสระใน
ขณะที่มีการจัดสรรเนื ้อที่บนดิสก์ให้ เป็ นระเบียบ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 51
ระบบย่
ระบบย่ออยอิ
ยอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ใน
ในKernel
Kernel(I/O
(I/OSubsystem)
Subsystem)
การใช้ แคช
แคช คือ หน่วยความจำประเภทหนึง่ ที่มีความเร็วสูงมาก การเข้ าถึงข้ อมูลใน
แคชสามารถทำได้ รวดเร็วกว่าในดิสก์
จุดประสงค์ในการใช้ แคช สำหรับอุปกรณ์มีจดุ ประสงค์เดียวกันกับบัฟเฟอร์
คือไว้ สำหรับทำแบ็คอัพ
แคชมีราคาแพงกว่าบัฟเฟอร์ ดังนันการทำแบ็
้ คอัพเนื ้อที่มากๆ จึงจำเป็ นต้ อง
ใช้ บฟั เฟอร์ แทน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 52
ระบบย่
ระบบย่ออยอิ
ยอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ใน
ในKernel
Kernel(I/O
(I/OSubsystem)
Subsystem)
สพูลลิ่งและการสงวนดีไวซ์ (Spooling and Device Reservation)
สพูล (Spool) คือบัฟเฟอร์ ชนิดหนึง่ ที่ใช้ สำหรับเก็บข้ อมูลมาก ๆ ไว้ รวมกัน
ตัวอย่างได้ แก่ เครื่ องพิมพ์
ระบบปฏิบตั ิการจะใช้ สพูลลิง่ เข้ ามาจัดการข้ อมูล แล้ วนำไปเก็บในสพูลตาม
ลำดับที่สง่ เข้ ามา
สพูลจะเป็ นตัวที่ทำหน้ าที่จดั คิวให้ กบั เครื่ องพิมพ์ไม่ให้ ปะปนกัน
งานต่าง ๆ ที่เก็บอยูใ่ นสพูล ผู้ใช้ สามารถควบคุมผ่านระบบปฏิบตั ิการ ให้
สามารถยกเลิกการพิมพ์งานใดๆ ได้ หรื อแม้ กระทัง่ จัดลำดับการพิมพ์ใหม่ได้
เช่นกัน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 53
ระบบย่
ระบบย่ออยอิ
ยอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ใน
ในKernel
Kernel(I/O
(I/OSubsystem)
Subsystem)
Error Handling
ตัวระบบปฏิบตั ิการทำหน้ าที่ประสานการติดต่อระหว่างอุปกรณ์กบั
แอปพลิเคชันต่างๆ ของผู้ใช้ ทำให้ ระบบปฏิบตั ิการมีความสามารถในการ
ป้องกันความเสียหายที่อาจจะเกิดขึ ้นได้ สำหรับอุปกรณ์โดยเฉพาะดิสก์
สาเหตุที่ทำให้ เกิดความล้ มเหลวในขณะอ่านข้ อมูลจากดิสก์ เช่น อุปกรณ์
ชำรุด ระบบคอมพิวเตอร์ เกิดโอเวอร์ โหลดขึ ้น
หากเกิดปั ญหาจากอุปกรณ์ หรื อแอปพลิเคชัน ระบบปฏิบตั ิการสามารถฟ้อง
ข้ อผิดพลาดได้
แต่ถ้าเกิดขึ ้นในตัวระบบปฏิบตั ิการเอง ไม่สามารถแก้ ไขปั ญหานี ้ได้
เมื่ออุปกรณ์เรี ยก System call ระบบจะส่งค่าขนาด 1 บิต กลับมาเพื่อ
เป็ นการตอบรับ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 54
ระบบย่
ระบบย่ออยอิ
ยอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ใน
ในKernel
Kernel(I/O
(I/OSubsystem)
Subsystem)
การแปลคำสั่งจากการร้ องขอให้ ฮาร์ ดแวร์ ทำงาน (Transforming I/O
Requests to Hardware Operation)
หัวข้ อผ่านมาเป็ นวิธีการติดต่อโปรแกรมควบคุมอุปกรณ์กบั แอปพลิเคชันโดย
มีระบบปฏิบตั ิการเป็ นตัวกลาง แอปพลิเคชันสามารถอ้ างชื่อไฟล์ในการ
ติดต่อกับไฟล์ข้อมูลที่อยูบ่ นดิสก์ได้
ชื่อไฟล์เหล่านี ้ถูกอ้ างถึงโดยผู้ใช้ แล้ วส่งผลให้ ตวั ควบคุมดิสก์เพื่อสามารถ
เข้ าไปจัดการข้ อมูลที่เก็บในดิสก์ได้
ระบบปฏิบตั ิการ MS-DOS การแอ็กเซสดิสก์สามารถแอ็กเซสโดยใช้ Colon
(:)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 55
ระบบย่
ระบบย่ออยอิ
ยอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ใน
ในKernel
Kernel(I/O
(I/OSubsystem)
Subsystem)
ประสิทธิภาพ (Performance)
อุปกรณ์ตา่ งๆ ที่ตอ่ เข้ ากับคอมพิวเตอร์ เป็ นองค์ประกอบสำคัญที่มีผลต่อ
ประสิทธิภาพของระบบคอมพิวเตอร์ ไม่วา่ จะเป็ นการจัดวางของอุปกรณ์ใน
ตำแหน่งที่เหมาะสม การจัดคิวของงานให้ กบั ซีพียู มีการบล็อกข้ อมูลหรื อไม่
ล้ วนมีผลต่อประสิทธิภาพของระบบทังสิ ้ ้น
การออกแบบสถาปั ตยกรรมคอมพิวเตอร์ จงึ ถือว่ามีความสำคัญต่อระบบ
โดยตรง
แม้ ปัจจุบนั คอมพิวเตอร์ จะสามารถรองรับการอินเทอร์ รัพต์ได้ เป็ นจำนวนนับ
ร้ อยครัง้ ต่อวินาที แต่การเกิดอินเทอร์ รัพต์ก็ยงั ต้ องใช้ เวลาในการดูแลระบบให้
ทำงานได้ อย่างต่อเนื่อง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 56
ระบบย่
ระบบย่ออยอิ
ยอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ใน
ในKernel
Kernel(I/O
(I/OSubsystem)
Subsystem)
เน็ตเวิร์คเป็ นหัวใจสำคัญในการเชื่อมต่อคอมพิวเตอร์ เข้ าไว้ ด้วยกัน ยิ่ง
ระบบมีคอมพิวเตอร์ ตอ่ พ่วงเข้ าด้ วยกันมากเท่าไร ยิ่งทำให้ เกิดความคับคัง่
กับคอมพิวเตอร์ มากเท่านัน้
อุปกรณ์ ที่ใช้ ในการเชื่อมเน็ตเวิร์คที่ใช้ คือคอนเท็กซ์สวิตซ์ (Context
Switch)
หน้ าที่ของ Context Switch จะเชื่อมการทำงานระหว่าง Kernel กับ
เน็ตเวิร์ค
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 57
ระบบย่
ระบบย่ออยอิ
ยอินนพุพุตต/เอาต์
/เอาต์พพตุ ตุ ใน
ในKernel
Kernel(I/O
(I/OSubsystem)
Subsystem)
เทคนิควิธีการต่าง ๆ ที่ใช้ เพิ่มประสิทธิภาพของระบบคอมพิวเตอร์ ดังนี ้คือ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 58