PPT - dusithost.dusit.ac.th

Download Report

Transcript PPT - dusithost.dusit.ac.th

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.อุ ป ก ร ณ์ ป ร ะ เ ภ ท แส ด ง ผ ล ข้ อ มู ล ออก เ ช่ น 2
Suan Dusit Rajabhat University (Computer Science)
5.1 หลักการทางานและประเภทของ I/O
System
จะเห็ น ว่ า อุ ป กรณ์ แ ต่ ป ระเภทมี ลั ก ษณะการ
ทางานและความเร็วในการรับส่งข้อมูลที่แตกต่าง
กัน ดังนั้นระบบปฏิบัติการจะต้องให้การสนับสนุน
ตลอดจนกลไกในการควบคุ ม อุ ป กรณ์ แ ต่ ล ะ
ประเภทและจะต้องทราบขั้นตอนและรูปแบบการ
ท างานของอุ ป กรณ์ แ ต่ ล ะประเภทให้ ส ามารถ
ทางานได้อย่างถูกต้องและเกิดประสิทธิภาพสูงสุด
ดั ง นั้ น จึ ง จ าเ ป็ น ต้ อ งออกแบบแล ะพั ฒ น า
ระบบปฏิบัติการให้รองรับการทางานที่เป็นอิสระ
ต่ อ ป ร ะ เ ภ ท แ ล ะ อุ ป ก ร ณ์ แ ต่ ล ะ ช นิ ด ( Device 3
Suan Dusit Rajabhat University (Computer Science)
5.1 หลักการทางานและประเภทของ I/O
System
โ ด ย เ รี ย ก ร ะ บ บ ย่ อ ย ที่ ใ ช้ จั ด ก า ร ภ า ย ใ น
(Kernel) ที่เกี่ยวข้องกับอุปกรณ์ I/O นี้ว่า “ระบบ
รับและแสดงผลข้อมูล I/O System” คอยทาหน้าที่
ในการสั่งงาน ควบคุม และตรวจสอบสถานะของ
อุปกรณ์ I/O ทั้งหมด สามารถที่จะเรียกใช้อุปกรณ์
I/O ได้อย่างสะดวก แสดงโครงสร้างการทางาน
ของระบบรับและแสดงผลข้อมูล ซึ่งแต่ละอุปกรณ์
ที่ เ ชื่อ มต่ อกั บระบบปฏิ บั ติ การจะมี ฮาร์ด แวร์ที่ ใ ช้
ควบคุมการทางานของอุปกรณ์ต่างๆ โดยเฉพาะ
ป ร ะ ก อ บ ด้ ว ย ตั ว ค ว บ คุ ม อุ ป ก ร ณ์ ( Device
Suan Dusit Rajabhat University (Computer Science)
4
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 ต่างๆ เขากับระบบคอมพิวเตอร์จาเป็นจะต้อง
มี ส่ ว นเชื่ อ มต่ อ ที่ เ ป็ น มาตรฐานเพื่ อ ใช้ ใ นการ
Suan Dusit Rajabhat University (Computer Science)
6
5.2 ฮาร์ดแวร์ของรับและแสดงผลข้อมูล (I/O
Hardware)
1. การติ ด ต่ อ ผ่ า นจุ ด เชื่ อ มต่ อ ที่ เ รี ย กว่ า “พอร์ ต
(Port”) เป็ น ส่ ว นเชื่ อ มต่ อ ที่ ติ ด ตั้ ง มาพร้ อ มกั บ
ตัวเครื่องคอมพิวเตอร์ มักใช้เชื่อมต่อกับอุปกรณ์
ตั ว เดี ย ว เช่ น การเชื่ อ มต่ อ แบบอนุ ก รม (Serial
Port) การเชื่อมต่อแบบขนาน (Parallel Port) การ
เชื่อมต่อของเมาส์ (Mouse) เป็นต้น
2 . ก า ร ติ ด ต่ อ ผ่ า น จุ ด เ ชื่ อ ม ต่ อ ที่
เรี ยกว่ า “บัส (Bus)”
เป็นส่ว นเชื่ อมต่อที่ใ ช้
เชื่ อ มต่ อ กั บ อุ ป กรณ์ ห ลายตั ว โดยการออกแบบ
โปรโตคอลเพื่อใช้กลุ่มคาสั่งในการควบคุมการส่ง
สั ญ ญาณผ่ า ยสายส่ ง เรี ย กวิ ธี ก ารนี้ ว่ า “Daisy 7
Suan Dusit Rajabhat University (Computer Science)
A Typical PC Bus Structure
รูปที่ 5.2 โครงสร้างการเชื่อมต่ออุปกรณ์แต่ละ
ชนิดของระบบคอมพิวเตอร์
(A
Typical PC Bus Structure)
Suan Dusit Rajabhat University (Computer Science)
8
5.2 ฮาร์ดแวร์ของรับและแสดงผลข้อมูล (I/O
Hardware)
ในการควบคุ ม การรั บ ส่ ง ค าสั่ ง และข้ อ มู ล ระหว่ า ง
อุปกรณ์ผ่านทางจุดเชื่อมต่อ (Port) จะอยู่ภายใต้การ
ควบคุ ม ของ โ ด ย CPU ซึ่ งจะมี ก ารใช้ ค าสั่ ง I/O
Instruction ในการสลับช่องทาง (Triggers Bus
Lines) เพื่อติดต่อกับอุปกรณ์และส่งข้อมูลเข้าออกใน
ระดับบิตซึ่งจะทาให้เกิดการเปลี่ยนแปลงค่ารีจิสเตอร์
(Register) บางตั ว ในหน่ ว ยควบคุ ม อุ ป กรณ์ นั้ น และ
เรียกวิธีการนี้ว่า “Memory-Mapped
I/O”
โดย
ตาแหน่งของจุดเชื่อมต่อของอุปกรณ์รับและแสดงผล
แต่ละประเภท แสดงได้ดังรูปที่ 5.3 ซึ่งจะเกี่ยวข้องกับ
รีจีสเตอร์ที่สาคัญ 4 ชนิด ดังนี้
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
Suan Dusit Rajabhat University (Computer Science)
10
Device I/O Port Location on PCs:Partial
รูปที่ 5.3 ตาแหน่งของจุดเชื่อมต่อของอุปกรณ์รับ
และแสดงผลแต่ละประเภท
(Device I/O Port
Loacation on PCs:partial)
Suan Dusit Rajabhat University (Computer Science)
11
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 12
นั้นอยู่ ต้องรอจนกว่าอุปกรณ์ I/O นั้นจะถูกใช้งาน
Suan Dusit Rajabhat University (Computer Science)
5.2 ฮาร์ดแวร์ของรับและแสดงผลข้อมูล (I/O
Hardware)
2. การขัดจังหวะ (Interrupts) เป็นวิธีที่ช่วยให้
หน่วยประมวลกลาง (CPU) สามารถทางานอย่าง
อื่นได้โดยไม่ต้องรอการใช้งานอุปกรณ์ I/O จน
เสร็ จ โดยการส่ ง สั ญ ญาณการไปขั ด จั ง หวะ
(Interrupt) การท างานของหน่ ว ยประมวลกลาง
(CPU) เพื่อบอกว่าอุปกรณ์ I/O พร้อมที่จะรับส่ง
ข้อมูลแล้วผ่านทาง Interrupt-Request Line เมื่อ
CPU
ได้รับสัญญาณขัดจังหวะผ่านช่องทาง
ดั ง ก ล่ า ว ก็ จ ะ ห ยุ ด ก า ร ท า ง า น ชั่ ว ค ร า ว เ พื่ อ
ให้บริการกับอุปกรณ์ที่ร้องขอการขัดจังหวะเข้า
มา ซึ่ ง แสดงขั้ น ตอนการวนรอบการขั ด จั ง หวะ 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 จะทาการส่งผ่านข้อมูล
15
จ
านวน
X
ไบต์
จ
ากอุ
ป
กรณ์
ห
น่
ว
ยความจ
าหลั
ก
โดยส่
ง
Suan Dusit Rajabhat University (Computer Science)
Step in a DMA Transfer
รูปที่ 5.5 แสดงขั้นตอนการทางานของการ
เข้าถึงหน่วยความจาหลัก
(Step in a
16
DMA Transfer)
Suan Dusit Rajabhat University (Computer Science)
5.3 ส่วนต่อประสานงาน Application I/O
Interface
เป็นมาตรฐานการใช้งานอุปกรณ์แต่ละประเภท
ที่ มี ค วามแตกต่ า งกั น สามารถติ ด ต่ อ กั น ระหว่ า ง
ระบบปฏิบัติการกับอุปกรณ์ I/O ที่มีความแตกต่าง
กั น ในหลายๆ ด้ า น เช่ น บริ ษั ท ผู้ ผ ลิ ต ชนิ ด หรื อ
ประเภทของอุปกรณ์ เป็นต้น เรียกมาตรฐานนี้ว่า
“ส่วนประสาน (Interface)” ซึ่งความแตกต่างของ
ตัวอุปกรณ์ I/O จะถูกซ่อนรายละเอียดไว้ภายใน
คอร์เนลโมดูล (Kernel
Modules) โดยใช้ไดร
เวอร์ (Driver) เป็ น ตั ว ควบคุ ม การท างานของ
อุปกรณ์ I/O
แต่ละประเภท เพื่อให้การติดต่อ
Suan Dusit Rajabhat University (Computer Science)
17
A Kernel I/O Structure)
ดังรูปที่ 5.6 แสดงโครงสร้างการเชื่อมต่อคอร์เน
ลของหน่วยรับและแสดงผลข้อมูล
(A
18
Kernel I/O Structure)
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)
มั ก จ ะ เ กี่ ย ว ข้ อ ง กั บ อุ ป ก ร ณ์ คื อ แ ป้ น พิ ม พ์21
Suan Dusit Rajabhat University (Computer Science)
ประเภทของอุปกรณ์ทท
ี่ าหน้าทีต
่ ิดต่อกับระบบ
รับและแสดงผลข้อมูล (I/O System)
อุปกรณ์ที่ใช้รับหรือส่งข้อมูลบนเครือข่าย
(Network Devices)
เป็นอุปกรณ์ที่ใช้รับหรือส่ง
ข้ อ มู ล บนเครื อ ข่ า ย ผ่ า นโปรแกรมที่ เ ชื่ อ มต่ อ ที่
เรี ย กว่ า Socket
Interface โดยติ ด ตั้ ง มากั บ
ระบบปฏิบัติการโดยเฉพาะ เช่น UNIX
และ
Windows NT เป็นต้น ภายใน Socket จะมี
ฟังก์ชันการทางานในการเชื่อมต่อเพื่อรับและส่ง
ข้อมูลอยู่ภายในเรียกว่าฟังก์ชัน Select () โดย
หน้ า ที่ ห ลั ก ของฟั ง ก์ ชั น นี้ จ ะท าการส่ ง คื น ค่ า
สถานะในขณะนั้นกลับไปยังส่วนที่มีการเรียกใช้
2.
Suan Dusit Rajabhat University (Computer Science)
22
ประเภทของอุปกรณ์ทท
ี่ าหน้าทีต
่ ิดต่อกับ
ระบบรับและแสดงผลข้อมูล (I/O System)
3. อุปกรณ์สัญญาณนาฬิกาและอุปกรณ์บอกเวลา
(Clock and Timers) เป็นอุปกรณ์ติดตั้งมากับเครื่อง
คอมพิวเตอร์โดยมีทาหน้าที่หลัก 3 อย่าง คือ
1.แสดงว่า ณ ปัจจุบัน
2.แสดงเวลาที่ผ่านพ้นไป
3.ตั้ ง เ ว ล า เ พื่ อ ที่ จ ะ ด า เ นิ น ก า ร
ก ร ะ ตุ้ น ( Trigger) เ ช่ น เ ว ล า ที่ จ ะ ใ ช้ ใ น ก า ร
ขัดจังหวะ (Interrupt) ทั้ง 3 หน้าที่อยู่ภายใต้การ
ดาเนินการของระบบปฏิบัติการ โดยมีอุปกรณ์ที่
ใช้แสดงเวลาที่ผ่านพ้นไปตั้งและตั้งเวลาเพื่อที่จะ
Suan Dusit Rajabhat University (Computer Science)
23
ประเภทของอุปกรณ์ทท
ี่ าหน้าทีต
่ ิดต่อกับ
ระบบรับและแสดงผลข้อมูล (I/O System)
4.
อุปกรณ์รับ/ส่งข้อมูลภายใต้กาหนดเวลาที่
แน่นอนและไม่แน่นอน (Blocking and Nonblocking I/O)
โ ด ย อุ ป ก ร ณ์ ป ร ะ เ ภ ท ที่ รั บ ห รื อ ส่ ง ข้ อ มู ล ที่
ก าหนดเวลาที่ แ น่ นอน (Synchronous) เช่ น เทป
เป็ น ต้ น หลั ก การท างานแบบนี้ อ ยู่ ภ ายใต้ ค าสั่ ง
ระบบเรียกใช้งาน (System Call) โดยโปรเซส
( Process) ที่ ก าลั ง ปร ะ มว ล ผ ล อยู่ จะ ห ยุ ด ก า ร
ทางานชั่วคราว เพื่อให้คาสั่งที่ระบบเรียกใช้งาน
(System
Call) ทางานจนเสร็จสิ้นก่อน จึงจะ
สามารถกลั บ มาประมวลผลโปรเซส (Process)
Suan Dusit Rajabhat University (Computer Science)
24
5.4 ระบบรับหรือแสดงผลย่อย (Kernel I/O
Subsystem)
ระบบปฏิ บั ติ ก ารโดยทั่ ว ไปจะมี ส่ ว นคอร์ เ นล
(Kernel) ไว้คอยสนับสนุนการให้บริการต่างๆ ที่
เกี่ยวพันกับอุปกรณ์ I/O หลายอย่าง เช่น การจัด
ตารางอุปกรณ์ (I/O
Scheduling) ที่พักช้อมูล
(Buffering) การเก็ บ ข้ อ มู ล ไว้ ใ นหน่ ว ยความจ า
(Caching) ก า ร จั ด ก า ร ข้ อ ผิ ด พ ล า ด ( Error
Handing) การจัดโครงสร้างข้อมูลภายในคอร์เนล
(Kernel Data Structures) เป็นต้น ซึ่งถูกจัดการ
โดยระบบรั บหรื อแสดงผลย่ อย (Kernel
I/O
Subsystem)
Suan Dusit Rajabhat University (Computer Science)
25
5.4 ระบบรับหรือแสดงผลย่อย (Kernel I/O
Subsystem)
1. การจัดตารางอุปกรณ์ (I/O Scheduling) เป็น
การก าหนดความส าคั ญ ในการใช้ ง านอุ ป กรณ์
ต่ า งๆ อย่ า งเป็ น ระบบ โดยการบั น ทึ ก ข้ อ มู ล การ
ทางานของอุปกรณ์ I/O แต่ละตัวไว้ใน ตาราง
แ ส ด ง ส ถ า น ะ ก า ร ท า ง า น ข แ ง แ ต่ ล ะ อุ ป ก ร ณ์
(Device-Status Table) เพื่อตรวจสอบสถานะว่า
อุ ป กรณ์ I/O นั้ น พร้ อ มที่ จ ะท างานหรื อ ไม่ ถ้ า
พร้ อ ม ระบบปฏิ บั ติ ก ารก็ จ ะท าการตรวจสอบ
สัญญาณขัดจังหวะ (Interrupt) ว่ามาจากอุปกรณ์
I/O ตัวใดก็จะทาการปรับเปลี่ยนค่าให้ถูกต้องตาม
สั ญ ญาณขั ด จั ง หวะนั้ น และพร้ อ มกั บ ท าการ 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)
Suan Dusit Rajabhat University (Computer Science)
28
5.4 ระบบรับหรือแสดงผลย่อย (Kernel I/O
Subsystem)
3. การเก็บข้อมูลไว้ในหน่วยความจา (Caching)
โดยที่แคลช (Cache) เป็นหน่วยความจาความเร็ว
สู ง ที่ อ ยู่ ร ะหว่ า งหน่ ว ยประมวลผลกลาง (CPU)
และหน่วยความจาหลัก (Main
Memory) ทา
หน้ า ที่ ใ นการพั ก ข้ อ มู ล ไว้ ชั่ ว คราว โดยการน า
ข้ อ มู ล บ า ง ส่ ว น ม า ใ ส่ ไ ว้ ใ น แ ค ล ช ( Cache)
เนื่ อ งจากการอ่ า นข้ อ มู ล ได้ เ ร็ ว กว่ า แต่ ถ้ า ไม่ มี
ข้ อ มู ล ในแคลช (Cache) ก็ จ ะไปอ่ า นข้ อ มู ล ใน
ห น่ ว ย ค ว า ม จ า แ ท น ก า ร ใ ช้ ง า น ข อ ง แ ค ล ช
(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) เพื่อจัดลาดับคิวงานในการ
ส่ ง ข้ อ มู ล เ ข้ า ม า ใ ห้ กั บ เ ค รื่ อ ง พิ ม พ์ แ ล ะ ใ น
ขณะเดี ย วกั น ก็ ส ามารถที่ จ ะยกเลิ ก การพิ ม พ์ ไ ด้
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) หรื อ
Suan Dusit Rajabhat University (Computer Science)
32
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 of34
Suan Dusit Rajabhat University (Computer Science)
UNIX I/O Kernel Structure)
ดังรูปที่ 5.7 แสดงความเร็วในการโอน
ข้อมูลของแต่ละอุปกรณ์
(UNIX
Suan Dusit Rajabhat University (Computer
Science)I/O Kernel Structure)
35
5.6
ประสิ ท ธิ ภ าพการท างาน
(Performance)
ปัจจัยที่มีผลกับประสิทธิภาพการทางานของ
อุ ป กรณ์ I/O ขึ้ น อยู่ กั บ เหตุ ก ารณ์ ห รื อ งานที่ เ ข้ า
มาประมวลผลในหน่วยประมวลผลกลาง (CPU)
ควบคู่ กั บ โปรแกรมขั บ อุ ป กรณ์ (Device-Driver
Code) และการจั ด ตารางการท างานให้ แ ต่ ล ะ
โปรเซสว่ า มี ป ระสิ ท ธิ ภ าพดี ม ากน้ อ ยเพี ย งไร
ตลอดจนประสิท ธิภ าพของการรั บ หรื อส่ งข้ อมู ล
ภายใต้ ก าหนดเวลาที่ แ น่ น อนและไม่ แ น่ น อน
(Block and Unblocked) ตลอดจนยังขึ้นอยู่กับ
สถาปัตยกรรมของระบบคอมพิวเตอร์ที่เลือกใช้
Suan Dusit Rajabhat University (Computer Science)
36
*สรุป*
พื้ น ฐานของระบบคอมพิ ว เตอร์ แ ต่ ล ะส่ ว นจะ
เกี่ ย งข้ อ งและติ ด ต่ อ ประสานการท างานระบบรั บ
และแสดงผลข้ อมู ล (I/O System) ซึ่งมี ตั ว ควบคุ ม
การทางาน (Device Controllers) เป็นของตัวเอง
โดยหลั ก การท างานจะเป็ น การโอยย้ า ยข้ อ มู ล
ระหว่ า งอุ ป กรณ์ แ ละหน่ ว ยความจ าหลั ก (Main
Memory) ถู ก จั ด การโดยหน่ ว ยประมวลผลกลาง
(CPU) ผ่ า นโปรแกรมที่ ใ ช้ จั ด การอุ ป กรณ์ I/O
หรื อ จั ด การอยู่ ภ ายในการควบคุ ม การเข้ า ถึ ง
หน่ว ยความจาหลั กโดยตรง (Direct
Access
Memory) โดยมี ร ะบบปฏิ บั ติ ก ารเข้ า มาควบคุ ม37
Suan Dusit Rajabhat University (Computer Science)
*สรุป*
ซึ่งในปัจจุบันมีการพัฒนาอุปกรณ์ที่ท าหน้าที่
ในการรับหรือส่งข้อมูลขึ้นมาหลากหลายประเภท
ดังนี้
1.อุ ป ก ร ณ์ ป ร ะ เ ภ ท รั บ ข้ อ มู ล เ ข้ า เ ช่ น เ ม า ส์
(Mouse) แ ป้ น พิ ม พ์ ( Keyboard) จ อ สั ม ผั ส
(Touch Screen) และไมโครโฟน (Microphone)
เป็นต้น
2.อุ ป ก ร ณ์
ป ร ะ เ ภ ท แ ส ด ง ผ ล ข้ อ มู ล อ อ ก เ ช่ น จ อ ภ า พ
(Monitor) ล าโพง (Speaker) และเครื่ อ งพิ ม พ์
(Printer) เป็นต้น
38
Suan Dusit Rajabhat University (Computer Science)
*สรุป*
ซึ่งแต่ละอุปกรณ์ที่เชื่อมต่อกับระบบปฏิบัติการ
จะมีฮาร์ดแวร์ที่ใช้ควบคุมการทางานของอุปกรณ์
ต่างๆ โดยเฉพาะ ประกอบด้วย ตัวควบคุมอุปกรณ์
(Device Controller) ทาหน้าที่รับและส่งข้อมูลและ
ตัวขับ (Device Driver) เป็นซอฟต์แวร์ทาหน้าที่
ติดต่อกับอุปกรณ์ I/O แต่ละประเภท
วิธีรับ-ส่งข้อมูลระหว่างหน่วยประมวลผลกลาง
กับอุปกรณ์นาเข้าและแสดงผลข้อมูล (CPU with
I/O Device) สามารถทาได้หลายวิธี เช่น วิธีการ
Suan Dusit Rajabhat University (Computer Science)
39
*สรุป*
นอกจากนี้อุปกรณ์ 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)