PPT - dusithost.dusit.ac.th

Report
Chapter 5 : Input/Output System
Juthawut Chantharamalee
Curriculum of Computer Science
Faculty of Science and Technology, Suan Dusit University
Email: [email protected]
URL: http://dusithost.dusit.ac.th/~juthawut_cha/home.htm
Suan Dusit Rajabhat University (Computer Science)
5.1 หลักการทางานและประเภทของ I/O System
ระบบรับ และแสดงผลข้อ มู ล (I/O System) เป็ น ระบบทีใ่ ช้ ค วบคุ ม การ
ทางานของอุ ปกรณ์ต่างๆ ทีใ่ ช้รบั และแสดงผลข้อมู ล ซึง่ เรียกอุ ปกรณ์ประเภทนี้ว่า
“อุ ปกรณ์ต่อพ่วง (Peripheral Device)” ซึง่ ในปัจจุบนั มีการพัฒนา
อุ ปกรณ์ทที่ าหน้าทีใ่ นการรับหรือส่งข้อมูลขึน้ มาหลากหลายประเภท ดังนี้
1.อุ ป ก ร ณ์ ป ร ะ เ ภ ท รั บ ข้ อ มู ล เ ข้ า เ ช่ น เ ม า ส์ (Mouse) แ ป้ น พิ ม พ์
(Keyboard) จ อสัม ผัส (Touch Screen) แล ะ ไม โค รโ ฟ น
(Microphone) เป็ นต้น
2.อุ ป กรณ์ ป ระเภทแสดงผลข้อ มู ล ออก เช่ น จอภาพ (Monitor) ล าโพง
(Speaker) และเครือ่ งพิมพ์ (Printer) เป็ นต้น
3.อุ ป กรณ์ ป ระเภทบัน ทึก เช่ น ดิส ก์ (Disk) เทป (Tape) และซีด ีร อม
(CD-ROM) เป็ นต้น
2
Suan Dusit Rajabhat University (Computer Science)
5.1 หลักการทางานและประเภทของ I/O System
จะเห็นว่าอุ ปกรณ์แต่ประเภทมีลกั ษณะการทางานและความเร็วในการรับส่ งข้อมูลที่
แตกต่ า งกัน ดัง นัน้ ระบบปฏิบ ตั กิ ารจะต้ อ งให้ก ารสนับ สนุ น ตลอดจนกลไกในการ
ควบคุมอุ ปกรณ์แต่ละประเภทและจะต้องทราบขัน้ ตอนและรูปแบบการทางานของอุ ปกรณ์
แต่ละประเภทให้สามารถทางานได้อย่างถูกต้องและเกิดประสิทธิภาพสูงสุด
ดังนัน้ จึงจาเป็ นต้องออกแบบและพัฒนาระบบปฏิบตั กิ ารให้รองรับการทางานทีเ่ ป็ น
อิสระต่อประเภทและอุ ปกรณ์แต่ละชนิด (Device Independence) ซึง่ จะ
มองอุ ป กรณ์ ต่ า งๆ เป็ น เพีย งช่ อ งทางในการรับ หรือ ส่ ง ข้อ มู ล เท่ า นัน้ โดยไม่ ต้ อ ง
คานึงถึงคุณลักษณะพิเศษของอุ ปกรณ์นนั้ ๆ จึงทาให้ระบบปฏิบตั กิ ารสามารถติดต่อ
กับอุ ปกรณ์ทุกประเภทได้อย่างเป็ นอิสระและมีประสิทธิภาพ
3
Suan Dusit Rajabhat University (Computer Science)
5.1 หลักการทางานและประเภทของ I/O System
โดยเรียกระบบย่อยทีใ่ ช้จดั การภายใน (Kernel) ทีเ่ กีย่ วข้องกับอุ ปกรณ์ I/O
นีว้ ่า “ระบบรับและแสดงผลข้อมูล I/O System” คอยทาหน้าทีใ่ นการสัง่ งาน
ควบคุม และตรวจสอบสถานะของอุ ปกรณ์ I/O ทัง้ หมด สามารถทีจ่ ะเรียกใช้อุปกรณ์
I/O ได้อย่างสะดวก แสดงโครงสร้างการทางานของระบบรับและแสดงผลข้อมูล ซึ่ง
แต่ ละอุ ปกรณ์ทเี่ ชือ่ มต่ อกับระบบปฏิบตั กิ ารจะมีฮาร์ ดแวร์ ทใี่ ช้ ควบคุ มการทางานของ
อุ ป กรณ์ ต่ า งๆ โดยเฉพาะ ประกอบด้ ว ย ตัว ควบคุ ม อุ ป กรณ์ (Device
Controller) ทาหน้าทีร่ บั และส่งข้อมูลและตัวขับ (Device Driver) เป็ น
ซอฟต์แวร์ทาหน้าทีต่ ดิ ต่อกับอุ ปกรณ์ I/O แต่ละประเภท แสดงดังรูปที่ 5.1
4
Suan Dusit Rajabhat University (Computer Science)
Infrastructure of I/O System)
รูปที่ 5.1 โครงสร้างพืน้ ฐานของระบบรับและแสดงผลข้อมูล
(Infrastructure of I/O System)
Suan Dusit Rajabhat University (Computer Science)
5
5.2 ฮาร์ดแวร์ของรับและแสดงผลข้อมูล (I/O Hardware)
ฮาร์ ดแวร์ ของหน่วยรับและแสดงผลข้อมู ล (I/O
Hardware)
ประกอบด้วยอุ ปกรณ์ของหน่วยรับและแสดงผลประเภทต่ างๆ ทีม่ คี วามสัมพันธ์ กนั
ดังนัน้ ระบบคอมพิวเตอร์ จะต้องสามารถทีจ่ ะใช้ซอฟต์ แวร์ เชือ่ มต่ อเพือ่ ควบคุมการ
ทางานรวมกันระหว่างอุ ปกรณ์ฮาร์ดแวร์จานวนมาก ซึง่ อุ ปกรณ์ฮาร์ดแวร์แต่ละประเภท
ก็จะมีวธิ กี ารเชือ่ มต่อทีแ่ ตกต่างกันออกไป ดังนัน้ การเชือ่ มต่ ออุ ปกรณ์ I/O ต่างๆ
เขากับระบบคอมพิวเตอร์ จาเป็ นจะต้ องมีส่วนเชือ่ มต่ อทีเ่ ป็ นมาตรฐานเพือ่ ใช้ในการ
ติดต่อสือ่ สารระหว่างเครือ่ งคอมพิวเตอร์กบั อุ ปกรณ์โดยการส่งสัญญาณไปตามตาม
สายส่งผ่านส่วนเชือ่ มต่อ เช่น
6
Suan Dusit Rajabhat University (Computer Science)
5.2 ฮาร์ดแวร์ของรับและแสดงผลข้อมูล (I/O Hardware)
1. การติดต่อผ่านจุดเชือ่ มต่อทีเ่ รียกว่า “พอร์ ต (Port”) เป็ นส่วนเชือ่ มต่ อที่
ติดตัง้ มาพร้ อมกับตัวเครือ่ งคอมพิวเตอร์ มักใช้เชือ่ มต่ อกับอุ ปกรณ์ตวั เดียว เช่น
การเชือ่ มต่อแบบอนุกรม (Serial Port) การเชือ่ มต่อแบบขนาน (Parallel
Port) การเชือ่ มต่อของเมาส์ (Mouse) เป็ นต้น
2. การติดต่อผ่านจุดเชือ่ มต่อทีเ่ รียกว่า “บัส (Bus)” เป็ นส่วนเชือ่ มต่อทีใ่ ช้
เชือ่ มต่ อกับอุ ปกรณ์หลายตัว โดยการออกแบบโปรโตคอลเพือ่ ใช้กลุ่มคาสัง่ ในการ
ควบคุมการส่งสัญญาณผ่ายสายส่งเรียกวิธกี ารนีว้ ่า “Daisy Chain” ซึง่
เป็ นวิธกี ารทีใ่ ช้สายสัญญาณหรือจุดเชือ่ มต่ออุ ปกรณ์หลายประเภทเข้าด้วยกัน แสดงดัง
รูปที่ 5.2
7
Suan Dusit Rajabhat University (Computer Science)
A Typical PC Bus Structure
รูปที่ 5.2 โครงสร้างการเชือ่ มต่ออุ ปกรณ์แต่ละชนิดของระบบคอมพิวเตอร์
(A Typical PC Bus Structure)
8
Suan Dusit Rajabhat University (Computer Science)
5.2 ฮาร์ดแวร์ของรับและแสดงผลข้อมูล (I/O Hardware)
ในการควบคุมการรับส่งคาสัง่ และข้อมูลระหว่างอุ ปกรณ์ผา่ นทางจุดเชือ่ มต่อ (Port) จะ
อยู่ภายใต้การควบคุมของโดย CPU ซึง่ จะมีการใช้คาสัง่ I/O Instruction ใน
การสลับช่องทาง (Triggers Bus Lines) เพือ่ ติดต่อกับอุ ปกรณ์และส่งข้อมูล
เข้าออกในระดับบิตซึง่ จะทาให้เกิดการเปลีย่ นแปลงค่ารีจสิ เตอร์ (Register) บางตัวใน
หน่วยควบคุมอุ ปกรณ์นนั้ และเรียกวิธกี ารนี้ว่า “Memory-Mapped I/O”
โดยตาแหน่งของจุดเชือ่ มต่อของอุ ปกรณ์รบั และแสดงผลแต่ละประเภท แสดงได้ด งั รูปที่ 5.3
ซึง่ จะเกีย่ วข้องกับรีจสี เตอร์ ทสี่ าคัญ 4 ชนิด ดังนี้
1.รีจสี เตอร์ บอกสถานะ (The Status Register) ประกอบด้วยบิตเพือ่ บอกสถานะว่า
สามารถอ่านข้อมูลหรือแสดงความผิดพลาดของอุ ปกรณ์ (Device Error)
9
Suan Dusit Rajabhat University (Computer Science)
5.2 ฮาร์ดแวร์ของรับและแสดงผลข้อมูล (I/O Hardware)
2.รีจสี เตอร์ควบคุม (The Control Register) ประกอบด้วยคาสัง่ ใน
การควบคุมอัตราความเร็วการรับส่งข้อมูลรวมถึงการใช้บติ ตรวจสอบ (Parity
Checking Bit)
3.รีจสี เตอร์แสดงข้อมูลเข้า (The Data-In Register) ประกอบด้วย
คาสัง่ ทีแ่ สดงว่าพร้อมทีจ่ ะอ่านข้อมูลเข้ามาเก็บในรีจสี เตอร์
4.รีจสี เตอร์แสดงข้อมูลเข้า (The Data-Out Register) ประกอบด้วย
คาสัง่ ทีแ่ สดงว่าพร้อมทีจ่ ะเขียนข้อมูลและส่งข้อมูลออกไปยังอุ ปกรณ์ I/O
10
Suan Dusit Rajabhat University (Computer Science)
Device I/O Port Location on PCs:Partial
รูปที่ 5.3 ตาแหน่งของจุดเชือ่ มต่อของอุ ปกรณ์รบั และแสดงผลแต่ละประเภท
(Device I/O Port Loacation on PCs:partial)
11
Suan Dusit Rajabhat University (Computer Science)
5.2 ฮาร์ดแวร์ของรับและแสดงผลข้อมูล (I/O Hardware)
วิธรี บั หรือส่งข้อมูลระหว่างหน่วยประมวลผลกลางกับอุ ปกรณ์นาเข้า/แสดงผล
(CPU with I/O Device)
1. Polling เป็ นวิธที กี่ ารส่งสัญญาณโต้ตอบกันระหว่างหน่วยประมวลผลกลาง
(CPU) กับอุ ปกรณ์ I/O เพือ่ ของทราบสถานะทางานของอุ ปกรณ์ I/O นัน้ ๆ ซึง่
เกีย่ วข้องกับคาสัง่ แสดงสถานะการทางาน ดังนี้
1. คาสัง่ พร้อม (Command Ready) เป็ นคาสัง่ ทีแ่ สดงว่าอุ ปกรณ์พร้อมทีจ่ ะ
รับคาสัง่ ให้ทางานตามคาขอ
2. ไม่ว่าง-รอก่อน (Busy-Waiting) เป็ นคาสัง่ ทีแ่ สดงว่าอุ ปกรณ์ไ ม่พร้ อมทีจ่ ะ
ทางาน เนือ่ งจากมีการใช้งานอุ ปกรณ์ I/O นัน้ อยู่ ต้องรอจนกว่าอุ ปกรณ์ I/O นัน้ จะถูก
ใช้งานจนเสร็จ
3. ผิดพลาด (Error) เป็ นคาสัง่ ทีแ่ สดงว่าอุ ปกรณ์ขดั ข้อง ไม่สามารถรับคาสัง่ ได้
12
Suan Dusit Rajabhat University (Computer Science)
5.2 ฮาร์ดแวร์ของรับและแสดงผลข้อมูล (I/O Hardware)
2. การขัดจังหวะ (Interrupts) เป็ นวิธที ชี่ ่วยให้หน่วยประมวลกลาง (CPU)
สามารถทางานอย่างอืน่ ได้โดยไม่ต้องรอการใช้งานอุ ปกรณ์ I/O จนเสร็จ โดยการ
ส่งสัญญาณการไปขัดจังหวะ (Interrupt) การทางานของหน่วยประมวลกลาง
(CPU) เพือ่ บอกว่าอุ ปกรณ์ I/O
พร้ อมทีจ่ ะรับส่งข้อมู ลแล้วผ่ านทาง
Interrupt-Request Line เมือ่ CPU ได้รบั สัญญาณขัดจังหวะผ่าน
ช่องทางดังกล่าวก็จะหยุดการทางานชัว่ คราวเพือ่ ให้บริการกับอุ ปกรณ์ทรี่ ้ องขอการ
ขัดจังหวะเข้ามา ซึง่ แสดงขัน้ ตอนการวนรอบการขัดจังหวะของอุ ปกรณ์รบั และแสดงผล
ดังรูปที่ 5.4
13
Suan Dusit Rajabhat University (Computer Science)
Interrupt-Device I/O Cycle
รูปที่ 5.4 การวนรอบการขัดจังหวะของอุ ปกรณ์รบั และแสดงผล
(Interrupt-Device I/O Cycle)
Suan Dusit Rajabhat University (Computer Science)
14
5.2 ฮาร์ดแวร์ของรับและแสดงผลข้อมูล (I/O Hardware)
3. การเข้าถึงหน่วยความจาหลักโดยตรง (DMA) เป็ นวิธที พี่ ฒั นาขึน้ มาเพือ่ การรับหรือส่ง
ข้อมูลปริมาณมากๆ ในเวลาเดียวกัน โดยใช้อุปกรณ์ตวั ควบคุมการดาเนินการในการรับส่งข้อมูล
ระหว่างหน่วยความจาหลัก (Main Memory) กับอุ ปกรณ์ I/O ทีเ่ รียกว่า ตัวควบคุม
การเข้าถึงหน่วยความจาหลักโดยตรง (Direct Access Memory: DMA)
โดยไม่จาเป็ นต้องผ่านหน่วยประมวลผลกลาง (CPU) จึงทาให้การรับหรือส่งข้อมูลทาได้เร็วขึน้
เพราะ CPU ไม่ต้องเสียเวลาในรอการทางานของอุ ปกรณ์ I/O ทาให้สามารถใช้งาน CPU
ได้อย่างเต็มที่ โดยตัว DMA Controller จะทาการส่งผ่านข้อมูลจานวน X ไบต์จาก
อุ ปกรณ์หน่วยความจาหลัก โดยส่งสัญญาณการขัดจังหวะ (Interrupt) การทางานไปยัง
CPU เมือ่ CPU ตอบกลับ (Acknowledge) ตัวควบคุมการเข้าถึง (DMA
Controller) จะทาการยึดคลองบัส (Bus) และเริม่ ขบวนการส่งผ่านข้อมูลซึง่ ในขณะนัน้
CPU ก็สามารถทีจ่ ะทางานด้านอืน่ ๆ ต่อไปได้ แสดงได้ดงั รูปที่ 5.5
15
Suan Dusit Rajabhat University (Computer Science)
Step in a DMA Transfer
รูปที่ 5.5 แสดงขัน้ ตอนการทางานของการเข้าถึงหน่วยความจาหลัก
(Step in a DMA Transfer)
Suan Dusit Rajabhat University (Computer Science)
16
5.3 ส่วนต่อประสานงาน Application I/O Interface
เป็ นมาตรฐานการใช้งานอุ ปกรณ์แต่ละประเภททีม่ คี วามแตกต่างกันสามารถติดต่อกัน
ระหว่างระบบปฏิบตั กิ ารกับอุ ปกรณ์ I/O ทีม่ คี วามแตกต่างกันในหลายๆ ด้าน เช่น
บริษทั ผู ้ผลิต ชนิดหรือ ประเภทของอุ ปกรณ์ เป็ น ต้ น เรีย กมาตรฐานนี้ว่า “ส่ ว น
ประสาน (Interface)” ซึง่ ความแตกต่างของตัวอุ ปกรณ์ I/O จะถูกซ่อน
รายละเอียดไว้ภายในคอร์ เนลโมดูล (Kernel Modules) โดยใช้ไดรเวอร์
(Driver) เป็ นตัวควบคุมการทางานของอุ ปกรณ์ I/O แต่ละประเภท เพือ่ ให้การ
ติด ต่ อ ระหว่ า งอุ ป กรณ์ ต่ า งๆ กับ ระบบปฏิบ ตั ิก ารใช้ ม าตรฐานเดีย วกัน แสดง
โครงสร้างการเชือ่ มต่อคอร์ เนล (Kernel) ของหน่วยรับและแสดงผลข้อมูล ดัง
รูปที่ 5.6
17
Suan Dusit Rajabhat University (Computer Science)
A Kernel I/O Structure)
ดังรูปที่ 5.6 แสดงโครงสร้างการเชือ่ มต่อคอร์เนลของหน่วยรับและแสดงผลข้อมูล
(A Kernel I/O Structure)
18
Suan Dusit Rajabhat University (Computer Science)
5.3 ส่วนต่อประสานงาน Application I/O Interface
นอกจากนีก้ ารพัฒนาอุ ปกรณ์ I/O ให้สอดคล้องกับลักษณะการทางานร่วมกับ
ระบบปฏิบ ตั ิก ารแต่ ล ะชนิด ซึ่ง ต่ า งก็ม มี าตรฐานการใช้ อุ ป กรณ์ ใ นการเชื่อ มต่ อ
(Device Driver interface) ทีแ่ ตกต่างกัน ขึน้ อยู่กบั ลักษณะการ
ทางาน ฟั งก์ชนั และรูปแบบการนาไปประยุกต์ใช้งานร่วมกับระบบคอมพิวเตอร์
ดังแสดงได้จากตารางที่ 5.1
19
Suan Dusit Rajabhat University (Computer Science)
ตารางที่ 5.1 แสดงความแตกต่างของลักษณะการทางานของอุ ปกรณ์ I/O
แต่ละประเภทในแง่มุมต่างๆ
20
Suan Dusit Rajabhat University (Computer Science)
ประเภทของอุปกรณ์ที่ทาหน้าที่ติดต่อกับระบบรับและแสดงผลข้อมูล
(I/O System)
1. อุ ปกรณ์ทใี่ ช้รบั หรือส่งข้อมูลเป็ นกลุม่ (Block and Character Device) เป็ น
อุ ปกรณ์ทใี่ ช้รบั หรือส่งข้อมู ลเป็ นกลุ่ม (Block) จะเกีย่ วข้องกับอุ ปกรณ์คอื ดิสก์
(Disk) ซึง่ บางครัง้ อาจจะเรียกวิธกี ารเข้าถึงแบบนี้ว่า การรับหรือ แสดงผลเป็ นแถว
(Raw I/O) โดยคาสัง่ System Calls เพือ่ ใช้ในการเชือ่ มต่ออุ ปกรณ์
I/O ดังกล่าว เช่น คาสัง่ Read () คาสัง่ Write () และคาสัง่ Seek ()
เป็ นต้ น ส่ วน อุ ป ก ร ณ์ ที่ เ กี่ ย วข้ อ งกับ ก า ร รั บ หรื อ ส่ งข้ อ มู ลที่ ล ะ ตั ว อัก ษ ร
(Character) มักจะเกีย่ วข้องกับอุ ปกรณ์คอื แป้ นพิมพ์ (Keyboard) เมาส์
(Mouse) และโมเด็ม(Modem) โดยคาสัง่ System Calls เพือ่ ใช้ใน
การเชือ่ มต่ออุ ปกรณ์ I/O ดังกล่าวเช่น คาสัง่ (Get) และคาสัง่ (Put) เป็ นต้น
21
Suan Dusit Rajabhat University (Computer Science)
ประเภทของอุปกรณ์ท่ีทาหน้าที่ติดต่อกับระบบรับและแสดงผลข้อมูล
(I/O System)
2. อุ ปกรณ์ทใี่ ช้รบั หรือส่งข้อมูลบนเครือข่าย (Network Devices) เป็ น
อุ ป กรณ์ ท ี่ใ ช้ ร บั หรือ ส่ ง ข้ อ มู ล บนเครือ ข่ า ย ผ่ า นโปรแกรมที่เ ชื่อ มต่ อ ที่เ รีย กว่ า
Socket
Interface โดยติดตัง้ มากับระบบปฏิบตั กิ ารโดยเฉพาะ เช่น
UNIX และ Windows NT เป็ นต้น ภายใน Socket จะมีฟังก์ชนั การ
ทางานในการเชือ่ มต่ อเพือ่ รับและส่งข้อมู ลอยู่ภายในเรียกว่าฟั งก์ ชนั Select ()
โดยหน้าทีห่ ลักของฟั งก์ชนั นี้จะทาการส่งคืนค่าสถานะในขณะนัน้ กลับไปยังส่วนทีม่ กี าร
เรียกใช้งานโดยจะมี Socket Packet เพือ่ คอยรับข้อมูลในฝั งรับและมี
Socket Room ทาหน้าส่งข้อมูลในฝั งส่งตามทีก่ าหนด
22
Suan Dusit Rajabhat University (Computer Science)
ประเภทของอุปกรณ์ที่ทาหน้าที่ติดต่อกับระบบรับและแสดงผลข้อมูล
(I/O System)
3. อุ ปกรณ์สญั ญาณนาฬกิ าและอุ ปกรณ์บอกเวลา (Clock and Timers) เป็ น
อุ ปกรณ์ตดิ ตัง้ มากับเครือ่ งคอมพิวเตอร์โดยมีทาหน้าทีห่ ลัก 3 อย่าง คือ
1.แสดงว่า ณ ปัจจุบนั
2.แสดงเวลาทีผ่ า่ นพ้นไป
3.ตัง้ เวลาเพือ่ ทีจ่ ะดาเนินการกระตุ้น (Trigger) เช่น เวลาทีจ่ ะใช้ในการขัดจังหวะ
(Interrupt) ทัง้ 3 หน้าทีอ่ ยู่ภายใต้การดาเนินการของระบบปฏิบตั กิ าร โดยมี
อุ ป กรณ์ ท ี่ใ ช้ แ สดงเวลาที่ผ่ า นพ้น ไปตัง้ และตัง้ เวลาเพือ่ ที่จ ะด าเนิน การกระตุ้ น
(Trigger) เรียกว่า ”Programmable Interval Timer”
โดยสามารถทีจ่ ะตัง้ เวลารอคอย (Wait) และเวลาทีจ่ ะขัดจังหวะ (Interrupt)
ในการดาเนินการของกระบวนการ (Process) ในแต่ละครัง้ ได้
23
Suan Dusit Rajabhat University (Computer Science)
ประเภทของอุปกรณ์ที่ทาหน้าที่ติดต่อกับระบบรับและแสดงผลข้อมูล
(I/O System)
4. อุ ปกรณ์รบั /ส่งข้อมูลภายใต้กาหนดเวลาทีแ่ น่นอนและไม่แน่นอน (Blocking and
Nonblocking I/O) โดยอุ ปกรณ์ประเภททีร่ บั หรือส่งข้อมูลทีก่ าหนดเวลาทีแ่ น่นอน
(Synchronous) เช่น เทป เป็ นต้น หลักการทางานแบบนี้อยู่ภายใต้ คาสัง่
ระบบเรียกใช้งาน (System Call) โดยโปรเซส (Process) ทีก่ าลัง
ประมวลผลอยู่ จ ะหยุ ด การท างานชัว่ คราว เพือ่ ให้ ค าสัง่ ที่ร ะบบเรี ย กใช้ ง าน
(System Call) ทางานจนเสร็จสิ้นก่อน จึงจะสามารถกลับมาประมวลผล
โปรเซส (Process) เดิมต่ อ ไปได้ สาหรับอุ ปกรณ์ ประเภททีร่ บั หรือ ส่ งข้อ มู ล ที่
ก า ห น ด เ ว ล า ที่ ไ ม่ แ น่ น อ น ( Asynchronous) เ ช่ น แ ป้ น พิ ม พ์
(Keyboard) เมาส์ (Mouse) เป็ นต้น โปรเซส (Process) ทีก่ าลัง
ประมวลผลอยู่ไม่จาเป็ นต้องหยุดการทางาน
24
Suan Dusit Rajabhat University (Computer Science)
5.4 ระบบรับหรือแสดงผลย่อย (Kernel I/O Subsystem)
ระบบปฏิบตั กิ ารโดยทัว่ ไปจะมีส่วนคอร์ เนล (Kernel) ไว้คอยสนับสนุ นการ
ให้บริการต่างๆ ทีเ่ กีย่ วพนั กับอุ ปกรณ์ I/O หลายอย่าง เช่น การจัดตารางอุ ปกรณ์
(I/O Scheduling) ทีพ่ กั ช้อมูล (Buffering) การเก็บข้อมูลไว้ใน
หน่ ว ยความจ า
(Caching) การจัด การข้อ ผิด พลาด (Error
Handing) การจัดโครงสร้างข้อมูลภายในคอร์ เนล (Kernel Data
Structures) เป็ นต้ น ซึ่ ง ถู ก จัด การโดยระบบรับ หรื อ แสดงผลย่ อ ย
(Kernel I/O Subsystem)
25
Suan Dusit Rajabhat University (Computer Science)
5.4 ระบบรับหรือแสดงผลย่อย (Kernel I/O Subsystem)
1. การจัดตารางอุ ปกรณ์ (I/O
Scheduling) เป็ นการกาหนด
ความสาคัญในการใช้งานอุ ปกรณ์ ต่างๆ อย่างเป็ นระบบ โดยการบันทึกข้อ มู ลการ
ทางานของอุ ปกรณ์ I/O แต่ละตัวไว้ใน ตารางแสดงสถานะการทางานขแงแต่ละ
อุ ปกรณ์ (Device-Status Table) เพือ่ ตรวจสอบสถานะว่าอุ ปกรณ์
I/O นัน้ พร้ อมทีจ่ ะทางานหรือไม่ ถ้าพร้ อม ระบบปฏิบตั กิ ารก็จะทาการตรวจสอบ
สัญญาณขัดจังหวะ (Interrupt) ว่ามาจากอุ ปกรณ์ I/O ตัวใดก็จะทาการ
ปรับเปลีย่ นค่าให้ถูกต้องตามสัญญาณขัดจังหวะนัน้ และพร้อมกับทาการตรวจสอบว่ามี
อุ ปกรณ์ I/O ใดเข้าคิว (Queue) ก็จะทางานตามคาร้องขอ (Request)
ถัดไป เมือ่ ดาเนินการเสร็จสิ้นแล้วก็จะทาการคืนค่าการควบคุมเพือ่ กลับไปประมวลผล
งานเดิมก่อนทีจ่ ะถูกขัดจังหวะ
26
Suan Dusit Rajabhat University (Computer Science)
5.4 ระบบรับหรือแสดงผลย่อย (Kernel I/O Subsystem)
2. ทีพ่ กั ข้อมูล (Buffering) เป็ นพืน้ ทีใ่ นหน่วยความจา (Memory) ทีใ่ ช้
เก็บข้อมูลขณะทีม่ กี ารถ่ายโอนระหว่างอุ ปกรณ์ 2 ชนิดกันหรือระหว่างอุ ปกรณ์กบั งานที่
ทาอยู่ เนือ่ งจากอัตราความเร็วในการทางานของแต่ละอุ ปกรณ์กบั หน่ว ยประมวลผล
กลาง (CPU) มีความเร็วไม่เท่ ากัน ดังนัน้ จาเป็ นจะต้ อ งมีทพี่ กั ข้อ มู ลชัว่ คราว
เพือ่ ให้การถ่ายโอนข้อมูลระหว่าง 2 อุ ปกรณ์มคี วามต่อเนือ่ ง และเพิม่ ประสิทธิภาพการ
ทางานให้กบั ระบบคอมพิวเตอร์ แสดงดังรูปที่ 5.7
27
Suan Dusit Rajabhat University (Computer Science)
Sun Enterprise 6000 Device-Transfer Rate: Logarithmic
ดังรูปที่ 5.6 แสดงความเร็วในการโอนข้อมูลของแต่ละอุ ปกรณ์
(Sun Enterprise 6000 Device-Transfer Rate: Logarithmic)
28
Suan Dusit Rajabhat University (Computer Science)
5.4 ระบบรับหรือแสดงผลย่อย (Kernel I/O Subsystem)
3. การเก็บข้อมูลไว้ในหน่วยความจา (Caching) โดยทีแ่ คลช (Cache)
เป็ นหน่วยความจาความเร็วสู งทีอ่ ยู่ระหว่างหน่วยประมวลผลกลาง (CPU) และ
หน่วยความจาหลัก (Main Memory) ทาหน้าทีใ่ นการพักข้อมูลไว้ชวั่ คราว
โดยการนาข้อมูลบางส่วนมาใส่ไว้ในแคลช (Cache) เนือ่ งจากการอ่านข้อมูลได้เร็ว
กว่า แต่ถา้ ไม่มขี อ้ มูลในแคลช (Cache) ก็จะไปอ่านข้อมูลในหน่วยความจาแทน การ
ใช้ง านของแคลช (Cache) มีรู ป แบบการท างานทีไ่ ม่แตกต่ า งจากทีพ่ กั ข้อ มู ล
(Buffering) มากนัก เพียงแต่ทางานได้เร็วกว่า แต่มรี าคาค่อนข้างแพง ดังนัน้
งานทีต่ ้องการความเร็วมักจะนิยมใช้ แคลช (Cache) เป็ นตัวจัดการ
29
Suan Dusit Rajabhat University (Computer Science)
5.4 ระบบรับหรือแสดงผลย่อย (Kernel I/O Subsystem)
4. การพักข้อมูลชัว่ คราว (Spooling and Device
Reservation) เป็ นทีพ่ กั ข้อมูลชัวครวสาหรับจัดเก็บข้อมูลทีจ่ ะถูกส่งออกไปยัง
อุ ปกรณ์ I/O เพือ่ แก้ปญั หาของอุ ปกรณ์ทไี่ ม่สามารถสลับการทางานหรือทางาน
พร้อมกันระหว่างโปรเซส (Process) ได้ การใช้เครือ่ งพิมพ์ร่วมกัน (Share
Printer) ระบบปฏิบตั กิ ารจะวิธีการพักข้อมู ลชัว่ คราว (Spooling) เพือ่
จัดลาดับคิวงานในการส่งข้อมูลเข้ามาให้กบั เครือ่ งพิมพ์ และในขณะเดียวกันก็สามารถที่
จะยกเลิก การพิม พ์ไ ด้ เ พราะล าดับ ของคิว ต่ า งๆ ทีเ่ ก็บ อยู่ ใ นทีพ่ กั ข้อ มู ล ชัว่ คราว
(Spooling) ผู ใ้ ช้สามารถควบคุมการทางานผ่านระบบปฏิบตั กิ ารได้
30
Suan Dusit Rajabhat University (Computer Science)
5.4 ระบบรับหรือแสดงผลย่อย (Kernel I/O Subsystem)
5. การจัดการข้อผิดพลาด (Error Handing) ระบบปฏิบตั จิ ะทาหน้าทีเ่ ป็ น
ตัว กลางในการประสานการท างานระหว่ า งอุ ป กรณ์ ต่ า งๆและโปรแกมส าเร็จ รู ป
(Application Program) ของผู ใ้ ช้ ดังนัน้ ระบบปฏิบตั จิ ะต้องคอย
ป้ องกันการใช้งานหน่วยความจา (Protected Memory) และจัดการ
ข้อผิดพลาดทีอ่ าจจะเกิดขึน้ ในขณะส่งผ่านข้อมูลหรือทีม่ กี ารเรียกใช้งานอุ ปกรณ์ I/O
นัน้ ๆ อยู่เพือ่ ให้ระบบไม่เกิดการติดขัดและสามารถทางานต่อไปได้ เช่ น ข้อผิดพลาดที่
เกิด ขึ้น กับ เครื่อ งพิม พ์ก รณีก ารทีใ่ ช้ พ มิ พ์อ ยู่ ห มด ระบบปฏิบ ตั ิจ ะต้ อ งมีก ารจ้า
ข้อผิดพลาดในการใช้งานให้กบั ผู ใ้ ช้ทราบได้ทนั ที่ เป็ นต้น
31
Suan Dusit Rajabhat University (Computer Science)
5.4 ระบบรับหรือแสดงผลย่อย (Kernel I/O Subsystem)
6. การจัดโครงสร้างข้อมูลภายในคอร์เนล (Kernel Data Structures) ภายใน
คอร์ เนล (Kernel) ต้องการทีจ่ ะเก็บสถานะการทางานทีเ่ กีย่ วข้องกับการใช้งาน
อุ ปกรณ์ I/O แต่ละชนิด วิธกี ารหนึง่ คือการจัดโครงสร้างข้อมูลภายในคอร์ เนล
(Kernel Data Structures) เช่น การเปิ ดไฟล์ (Open-File)
ดังรูปที่ 5.7 แสดงตารางโครงสร้างภายในคอร์ เนล (Kernel) ในการติดตาม
(Track) การเชือ่ มต่อระบบเครือข่าย การติดต่อสือ่ สารกับอุ ปกรณ์ ส่งผ่านข้อมูล
อัก ขระ (Character-Device) หรือ กิจ กรรมอื่น ที่เ กี่ย วข้ อ งกับ การใช้
อุ ปกรณ์ I/O เป็ นต้น
32
Suan Dusit Rajabhat University (Computer Science)
UNIX I/O Kernel Structure
ดังรูปที่ 5.7 แสดงความเร็วในการโอนข้อมูลของแต่ละอุ ปกรณ์
(UNIX I/O Kernel Structure)
Suan Dusit Rajabhat University (Computer Science)
33
5.5 การส่งข้อมูลอย่ างต่อเนื่อง (Streams)
เป็ น วิธีก ารจัด การในติดต่ อและการส่ ง ข้อ มู ลอย่ า งต่ อเนือ่ งระหว่ า งอุ ปกรณ์ ต วั ขับ
(Device Driver) กับผู ใ้ ช้ในระดับโปรเซส (User-Level Process)
ซึง่ โครงสร้ างการส่งข้อมู ลอย่างต่ อเนือ่ ง (Stream) ประกอบด้วยส่วนหัวของการส่ง
(Stream Head) โดยทาการเชือ่ มต่อกับส่วนของโปรเซสผู ใ้ ช้และตัวขับสุ ดท้ายหรือ
ส่วนสิ้นสุ ด (Driver end) ทาการควบคุ มอุ ปกรณ์สตรีมโมดู ล (Stream
module) แต่และตัว โดยทีส่ ่วนหัวของการส่ง (Stream Head) ตัวขับสุดท้าย
หรือตัวสิ้นสุด (Driver end) และแต่ละโมดูลประกอบด้วยคู่ของแถวลาดับ จานวน
หลายคู่ (Pair of Queues) เช่น คู่ ของแถวลาดับการอ่ าน (Read
Queue) กับแถวลาดับการเขียน(Write Queue) โดยการส่งผ่านข้อมูลจะกระทา
โดยคู่แถวลาดับในแต่ละแถวลาดับ แสดงดังรูปที่ 5.8
34
Suan Dusit Rajabhat University (Computer Science)
UNIX I/O Kernel Structure)
ดังรูปที่ 5.7 แสดงความเร็วในการโอนข้อมูลของแต่ละอุ ปกรณ์
(UNIX I/O Kernel Structure)
Suan Dusit Rajabhat University (Computer Science)
35
5.6 ประสิทธิ ภาพการทางาน (Performance)
ปัจจัยทีม่ ผี ลกับประสิทธิภาพการทางานของอุ ปกรณ์ I/O ขึน้ อยู่กบั เหตุการณ์
หรืองานทีเ่ ข้ามาประมวลผลในหน่วยประมวลผลกลาง (CPU) ควบคู่กบั โปรแกรม
ขับอุ ปกรณ์ (Device-Driver Code) และการจัดตารางการทางานให้
แต่ละโปรเซสว่ามีประสิทธิภาพดีมากน้อยเพียงไร ตลอดจนประสิทธิภาพของการรับ
หรือส่งข้อมู ลภายใต้กาหนดเวลาทีแ่ น่นอนและไม่แน่นอน (Block
and
Unblocked) ตลอดจนยังขึน้ อยู่กบั สถาปัตยกรรมของระบบคอมพิวเตอร์ ท ี่
เลือกใช้งานอีกด้วย
36
Suan Dusit Rajabhat University (Computer Science)
*สรุป*
พืน้ ฐานของระบบคอมพิวเตอร์ แต่ละส่วนจะเกีย่ งข้องและติดต่อประสานการทางาน
ระบบรับ และแสดงผลข้ อ มู ล (I/O System) ซึ่ง มีต วั ควบคุ ม การท างาน
(Device Controllers) เป็ นของตัวเอง โดยหลักการทางานจะเป็ นการโอย
ย้ายข้อมูลระหว่างอุ ปกรณ์และหน่วยความจาหลัก (Main Memory) ถูก
จัดการโดยหน่วยประมวลผลกลาง (CPU) ผ่านโปรแกรมทีใ่ ช้จดั การอุ ปกรณ์ I/O
หรือจัดการอยู่ภายในการควบคุมการเข้าถึงหน่วยความจาหลักโดยตรง (Direct
Access Memory) โดยมีระบบปฏิบตั กิ ารเข้ามาควบคุมเพือ่ ให้การดาเนินงาน
ต่ างเป็ นไปอย่างราบรื่นและเกิดประสิทธิภาพ ระบบการทางานย่อยทีท่ าหน้าทีใ่ นการ
ควบคุมการเข้าถึงอุ ปกรณ์รบั และแดงผลข้อมูลทีเ่ รียกว่า “I/O Subsystem”
37
Suan Dusit Rajabhat University (Computer Science)
*สรุป*
ซึ่ง ในปัจ จุ บ นั มีก ารพัฒ นาอุ ป กรณ์ ท ี่ท าหน้ า ที่ใ นการรับ หรื อ ส่ ง ข้ อ มู ล ขึ้น มา
หลากหลายประเภท ดังนี้
1.อุ ป ก ร ณ์ ป ร ะ เ ภ ท รั บ ข้ อ มู ล เ ข้ า เ ช่ น เ ม า ส์ (Mouse) แ ป้ น พิ ม พ์
( Keyboard) จ อ สั ม ผัส ( Touch Screen) แ ล ะ ไ ม โ ค ร โ ฟ น
(Microphone) เป็ นต้น
2.อุ ป กรณ์ ป ระเภทแสดงผลข้อ มู ล ออก เช่ น จอภาพ (Monitor) ล าโพง
(Speaker) และเครือ่ งพิมพ์ (Printer) เป็ นต้น
3.อุ ป กรณ์ ป ระเภทบัน ทึก เช่ น ดิส ก์ (Disk) เทป (Tape) และซีด ีร อม
(CD-ROM) เป็ นต้น
38
Suan Dusit Rajabhat University (Computer Science)
*สรุป*
ซึง่ แต่ละอุ ปกรณ์ทเี่ ชือ่ มต่อกับระบบปฏิบตั กิ ารจะมีฮาร์ ดแวร์ ทใี่ ช้ควบคุมการทางาน
ของอุ ป กรณ์ ต่ า งๆ โดยเฉพาะ ประกอบด้ ว ย ตัว ควบคุ ม อุ ป กรณ์ (Device
Controller) ทาหน้าทีร่ บั และส่งข้อมูลและตัวขับ (Device Driver) เป็ น
ซอฟต์แวร์ทาหน้าทีต่ ดิ ต่อกับอุ ปกรณ์ I/O แต่ละประเภท
วิธรี บั -ส่งข้อมูลระหว่างหน่วยประมวลผลกลางกับอุ ปกรณ์นาเข้าและแสดงผลข้อมูล
(CPU with I/O Device) สามารถทาได้หลายวิธี เช่น วิธกี ารทา
Polling วิธกี ารขัดจังหวะ (Interrupts) วิธกี ารเข้าถึงหน่วยความจาหลัก
โดยตรง (Direct Access Memory) เป็ นต้น
39
Suan Dusit Rajabhat University (Computer Science)
*สรุป*
นอกจากนี้อุปกรณ์ I/O ยังสามารถแบ่งตามฟั งก์ชนั การทางานของโปรแกรม
ประยุ กต์ ทแี่ ต่ ละบริษทั ผลิตขึ้นมาใช้งาน เช่น อุ ปกรณ์ทใี่ ช้ร บั หรือส่งข้อมู ลเป็ นกลุ่ม
(Block and Character Device) อุ ปกรณ์ทใี่ ช้รบั หรือส่งข้อมูลบน
เครือข่าย (Network Devices) อุ ปกรณ์สญั ญาณนาฬกิ าและอุ ปกรณ์
บอกเวลา (Clock and Timers) อุ ปกรณ์รบั /ส่งข้อมูลภายใต้
กาหนดเวลาทีแ่ น่นอนและไม่แน่นอน (Blocking and Nonblocking
I/O) เป็ นต้ น โดยแต่ ล ะวิธี จ ะมีรู ป แบบการท างานที่แ ตกต่ า งกัน ขึ้น อยู่ ก บั
สถาปัตยกรรมของผู อ้ อกแบบระบบปฏิบตั กิ ารทีใ่ ช้อยู่ในปัจจุบนั
40
Suan Dusit Rajabhat University (Computer Science)
Chapter 5 : The End (Any Question?)
Suan Dusit Rajabhat University (Computer Science)

similar documents