Transcript I/O Systems

นงลักษณ์ พรมทอง และวิเชษฐ ์ พลายมาศ
ระบบร ับเข้าและส่งออก
I/O Systems
I/O Systems
 I/O Hardware
 Application I/O Interface
 Kernel I/O Subsystem
 Transforming I/O Requests to Hardware Operations
 Streams
 Performance
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 2
Learning Objectives
ึ ษาถึงแนวคิดด ้านการจัดการอุปกรณ์รับเข ้าและสง่ ออก
 เพือ
่ ศก
 เพือ
่ เข ้าใจถึงหน ้าทีข
่ องระบบปฏิบต
ั ก
ิ ารในการจัดการเกีย
่ วกับ
ระบบรับเข ้าและสง่ ออก
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 3
I/O Hardware
 อุปกรณ์นาเข ้า (input device) คือ อุปกรณ์ทท
ี่ าให ้คอมพิวเตอร์
ั ผัสและรับรู ้สงิ่ ต่างๆ จากโลกภายนอกได ้ ตัวอย่างเชน
่
สามารถสม
เครือ
่ งอ่านบัตร คียบ
์ อร์ด เมาส ์
่ ออก (output device) คือ อุปกรณ์ทท
 อุปกรณ์สง
ี่ าให ้คอมพิวเตอร์
่ เครือ
ควบคุมหรือสง่ ผลออกมาสูโ่ ลกภายนอกได ้ ตัวอย่างเชน
่ งเจาะ
บัตร จอภาพ เครือ
่ งพิมพ์
 Common concepts



Port
Bus (daisy chain or shared direct access)
Controller (host adapter)
 มี I/O instructions สาหรับควบคุมอุปกรณ์
้
 อุปกรณ์เหล่านั น
้ จะมีเลขทีอ
่ ยู่ (addresses) ทีถ
่ ก
ู ใชโดย
 Direct I/O instructions
 Memory-mapped I/O
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 4
A Typical PC Bus Structure
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 5
Device I/O Port Locations on PCs (partial)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 6
คุณสมบ ัติของพอร์ต
 พอร์ตเอาท์พต
ุ (output port) คือต ้องสามารถดึงกระแสเข ้า และ
จ่ายกระแส ออกได ้ และต ้องมีเอ ้าท์อน
ิ พีแดนซ ์ (out
impedance) ตา่
 พอร์ตอินพุต (input port) คือ ต ้องมีอม
ิ พีแดนซ ์ (impedance)
ั ญาณทีเ่ ข ้ามาว่าเป็ น 1 หรือ 0
สูงจะตรวจจับแรงดัน สญ
 มีเรจิสเตอร์ 4 ตัว
 เรจิสเตอร์สถานะ (status register)
 เรจิสเตอร์ควบคุม (control register)
 เรจิสเตอร์ข ้อมูลเข ้า (data-in register)
 เรจิสเตอร์ข ้อมูลออก (data-out register)
 เรจิสเตอร์สถานะบรรจุบต
ิ แสดงการอ่านโดยโฮสต์ (host)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 7
ต ัวข ับอุปกรณ์
Device Driver
 หากบรรจุโปรแกรมควบคุมอุปกรณ์ I/O ทัง้ หมดเข ้าไว ้ใน OS จะ
ทาให ้ OS มีขนาดเทอะทะ ไม่ยด
ื หยุน
่ และมีคา่ ใชจ่้ ายสูงในการ
upgrade OS แต่ละครัง้
่ นหนึง่
 จึงต ้องแยกโปรแกรมควบคุมอุปกรณ์ออกมาเป็ นสว
ต่างหาก เรียกว่า ตัวขับอุปกรณ์ (device driver)
่ นี้ OS ไม่จาเป็ นต ้องรู ้จักลักษณะการทางานของ
 ลักษณะเชน
อุปกรณ์ตา่ ง ๆ ปล่อยให ้เป็ นหน ้าทีข
่ องตัวขับอุปกรณ์ชนิดนัน
้ ๆ
OS รู ้เพียงแต่การติดต่อและควบคุมอุปกรณ์ผา่ นทางตัวขับ
อุปกรณ์เท่านัน
้
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 8
อุปกรณ์เสมือน
Virtual Device
 คือการนาเอาอุปกรณ์ชนิดหนึง
่ มาจาลองการทางานเป็ นอุปกรณ์




อีกชนิดหนึง่ เพือ
่ ก่อให ้เกิดความคล่องตัวในการทางานของระบบ
ตัวอย่างของการทาอุปกรณ์เสมือนก็คอ
ื การทาแรมดิสก์ (Ram
disk)
การติดต่อควบคุมแรมดิสก์นี้ ทาได ้โดยผ่านโปรแกรมทีท
่ าหน ้าที่
จาลองหน่วยความจาเป็ นดิสก์ เรียกว่า ตัวขับอุปกรณ์เสมือน
(virtual device driver)
การทา SPOOL (Simultaneous peripheral operation on-line)
้ ดิ้ สก์แทนเครือ
ซงึ่ เป็ นการใชใช
่ งพิมพ์
ื่ SPOOLER ทาหน ้าทีจ
โดยมีโปรเซสหนึง่ ของ OS ชอ
่ ัดการเรือ
่ ง
การทา SPOOL ของระบบ
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 9
การสารวจความต้องการ
(polling)
่ งเวลาหนึง่ (Quantum time) ซพ
ี ย
 ทุกๆ ชว
ี จ
ู ะหยุดงานทีท
่ าอยู่
็ ทีแ
ชวั่ คราว และเวียนไปตรวจเชค
่ ต่ละแชนแนลเพือ
่ ดูวา่ มีอป
ุ กรณ์ตวั
ี ย
ใดบ ้างต ้องการสง่ ข ้อมูลมาให ้ซพ
ี จ
ู ากอุปกรณ์แรกไปถึงอุปกรณ์
สุดท ้าย
่ พวกคาสงั่ JNB TF1 , $
 เชน
 แบบนีโ
้ ปรแกรมจะทาอะไรอย่างอืน
่ ไม่ได ้เลย จะต ้องรอจนกว่า
ี เวลาไปโดยใชเ่ หตุ
เงือ
่ นไขจะเป็ นจริง จึงทาให ้เสย
 Determines state of device
 command-ready
 busy
 Error
 Busy-wait cycle to wait for I/O from device
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 10
่ ข้อมูล
มอดูลของการร ับสง
Data Transfer Module
 I/O module Functionality
 การควบคุมและการจับเวลา
ื่ สารระหว่างโปรเซส
 การสอ
ื่ สารระหว่างอุปกรณ์
 การสอ
 การจัดการบัฟเฟอร์
 การตรวจสอบข ้อผิดพลาด
่ ออกจะต ้องสอ
ื่ สารกับโปรเซสเซอร์และ
 มอดูลการรับเข ้าและสง
ื่ สารกับภายนอก เกีย
สอ
่ วข ้องกับ
ั่ (command decoding),
 การถอดรหัสคาสง
 ข ้อมูล (data),
 การรายงานสถานะ (status reporting)
 การรับรู ้ทีอ
่ ยู่ (address recognition)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 11
อัตราการสง่ ผ่านอุปกรณ์ของ Sun Enterprise 6000
ทีม
่ า (IEEE Computer Society, 1996, p.65).
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 12
่ ออก
โครงสร้างของมอดูลการร ับเข้าและสง
I/O Module Structure
 ทาหน ้าทีอ
่ านวยความสะดวก ให ้โปรเซสเซอร์สามารถควบคุม
การทางานของอุปกรณ์รับเข ้าสง่ ออกต่างๆได ้ง่าย
ื่ มต่อกับ
 I/O Module ทางานหนักด ้วยตัวเอง โดยจะเชอ
่ งสอ
ื่ สารการรับเข ้าสง่ ออก (I/O
โปรเซสเซอร์เรียกว่า ชอ
channels) หรือ ไอโอโปรเซสเซอร์ (I/O processor)
ั การควบคุมจาก
 I/O Module ทีท
่ างานน ้อย และต ้องอาศย
โปรเซสเซอร์โดยตรงเรียกว่า หน่วยควบคุมการรับเข ้าสง่ ออก
(I/O controller) หรือหน่วยควบคุมอุปกรณ์ (device controller)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 13
่ ออก
การควบคุมการร ับเข้าสง
 มีอยู่ 3 วิธ ี
่ ออกด ้วยโปรแกรม (Programmed I/O)
 การควบคุมการรับเข ้าสง
 กระบวนการอินเทอร์รัพท์ (Interrupt-driven I/O)
 การเข ้าถึงหน่วยความจาหลักโดยตรง (Direct memory access :
DMA)
 Programmed I/O และ Interrupt-driven I/O ต ้องใช ้
processor คอยควบคุมและจัดการแลกเปลีย
่ นข ้อมูลระหว่าง
หน่วยความจาหลักกับ I/O
่ นแบบ DMA นัน
 สว
้ I/O module จะแลกเปลีย
่ นข ้อมูลกันโดยตรง
กับหน่วยความจาหลักโดยที่ processor ไม่ต ้องเกีย
่ วข ้อง
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 14
Interrupts
 CPU จะถูก Interrupt request line โดย I/O device
 Interrupt handler (CPU) ได ้รับ interrupts
 จะพิจารณาว่าต ้องทาตามคาร ้องขอนัน
้ ทันทีห
่ รือรอเวลาไว ้ก่อน
 Interrupt vector to dispatch interrupt to correct handler
 Based on priority
 Some unmaskable
 Interrupt mechanism also used for exceptions
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 15
Interrupt-Driven I/O Cycle
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 16
Intel Pentium Processor Event-Vector Table
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 17
Direct Memory Access
 การเคลือ
่ นย ้ายข ้อมูลจานวนมากไม่นย
ิ มใช ้ programmed I/O
แต่ใช ้ DMA แทน
 จาเป็ นต ้องมี DMA controller
่ ข ้อมูลระหว่าง I/O กับหน่วยความจาสามารถทาได ้
 การรับ-สง
โดยตรงโดยไม่ต ้องผ่าน CPU
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 18
Six Step Process to Perform DMA Transfer
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 19
Application I/O Interface
ั้
 I/O system calls จะห่อหุ ้มพฤติกรรมของอุปกรณ์ให ้อยูใ่ นชน
ทั่วไป
ั ้ ของตัวขับอุปกรณ์ (Device driver Layer) ถูกซอ
่ นไว ้
 ในชน
ระหว่างระบบย่อยนาเข ้าสง่ ออกกับตัวขับอุปกรณ์
่ ข ้อมูล
 ประเภทของอุปกรณ์แบ่งตามคุณลักษณะการรับสง
 Character-stream or block
 Sequential or random-access
 Sharable or dedicated
 Speed of operation
 read-write, read only, or write only
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 20
A Kernel I/O Structure
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 21
Characteristics of I/O Devices
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 22
อุปกรณ์แบบบล็อกและแบบอ ักขระ
Block and Character Devices
 Block devices ได ้แก่ disk drives
 Command ประกอบด ้วย read, write, seek
 Raw I/O หรือ file-system access
้
 อาจใชการเข
้าถึงแฟ้ มแบบ Memory-mapped
 Character devices ประกอบด ้วย keyboards, mice, serial
ports
 Commands ประกอบด ้วย get, put
 Libraries layered on top allow line editing
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 23
Network Devices
่ นต่อประสานเป็ นของตัวเองทีเ่ พียงพอสาหรับบล็อกและ
 จะมีสว
อักขระ
 Unix และ Windows NT/9i/2000 ใช ้ socket interface
 แยก network protocol ออกจาก network operation
 Includes select functionality
้ างแพร่หลาย (pipes, FIFOs, streams,
 เป็ นวิธก
ี ารทีใ่ ชอย่
queues, mailboxes)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 24
ิ
นาฬกาและเวลา
Clocks and Timers
 บอก เวลาปั จจุบน
ั , เวลาทีผ
่ า่ นไปแล ้ว, การตัง้ เวลา
้ านไปแล ้วและการตัง้ เวลาเพือ
 อุปกรณ์บอกเวลาทีใ่ ชผ่
่ คานวณ
ั ญาณ เรียกว่า programmable interval timer ใชเพื
้ อ
การสง่ สญ
่
ตัง้ เวลา, กาหนดชว่ งเวลาของ interrupts
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 25
Blocking and Nonblocking I/O
ั่ คราวจนกว่า I/O
 Blocking – กระบวนการจะถูกหยุดพักชว
completed
้
 ง่ายต่อการใชและเข
้าใจ
 เพียงพอต่อความต ้องการบางประการ
 Nonblocking - I/O จะถูกเรียกกลับมาเมือ
่ ว่าง
ิ้ แล ้วจึงเรียก
 งานทีม
่ ก
ี ารประมวลผลยังทางานได ้จนเสร็จสน
ั ญาณขัดจังหวะ เพือ
สญ
่ นากระบวนการทัง้ หมดทีม
่ ก
ี ารเรียกระบบมา
ติดต่อเข ้าด ้วยกัน
 Asynchronous – กระบวนการก็รันไปในขณะที่ I/O ก็ executes
ไป
้
 ใชงานยาก
่ สญ
ั ญาณไปยังกระบวนการ เมือ
 I/O subsystem สง
่ I/O
completed
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 26
Kernel I/O Subsystem
 การจัดตาราง I/O (Scheduling)
 บาง I/O request มีการจัดลาดับผ่านคิวของแต่ละอุปกรณ์
 บาง OS มีการจัดการเรือ
่ งความเป็ นธรรม
 Buffering - เก็บข ้อมูลในหน่วยความจาในระหว่างการถ่ายโอน
ข ้อมูลระหว่างอุปกรณ์
 เพือ
่ รับมือกับอุปกรณ์ทม
ี่ ค
ี วามเร็วต่างกันมาก
 เพือ
่ รับมือกับอุปกรณ์ทม
ี่ ข
ี นาดการถ่ายโอนข ้อมูลต่างกัน
 เพือ
่ สนั บสนุนการทางานแบบการสารองข ้อมูลทีเ่ หมือนกัน (copy
semantics)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 27
Sun Enterprise 6000 Device-Transfer Rates
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 28
Kernel I/O Subsystem
้ บสาเนาข ้อมูล
 Caching - หน่วยความจาความเร็วสูงใชเก็
้
 มักใชในการส
าเนา
้ ม
ิ ธิภาพเป็ นหลัก
 ใชเพิ
่ ประสท
 Spooling - เก็บผลลัพธ์ของอุปกรณ์
้
 ใชในกรณี
ทอ
ี่ ป
ุ กรณ์นัน
้ สามารถรองรับการทางานได ้เพียงครัง้ ละ
หนึง่ งานในเวลาเดียวกัน
่ การพิมพ์
 เชน
 การสงวนอุปกรณ์ (Device reservation) – ทาให ้การเข ้าถึง
อุปกรณ์แบบ exclusive
 System calls สาหรับจัดสรรและคืนการจัดสรร
 ระวังการเกิด deadlock สาหรับการร ้องขออุปกรณ์
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 29
การจ ัดการข้อผิดพลาด
Error Handling
 OS สามารถปกป้ องข ้อผิดพลาดทีจ
่ ะเกิดจากการอ่านดิสก์,
้
อุปกรณ์ยังไม่พร ้อมใชงาน,
การขัดข ้องของการเขียน
่ คืน error number หรือ code เมือ
 OS จะสง
่ I/O request เกิด
ล ้มเหลว
 System error logs จะบันทึกรายงานปั ญหาทีเ่ กิดขึน
้
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 30
Kernel Data Structures
 Kernel เก็บข ้อมูลสถานะสาหรับ I/O components,
ประกอบด ้วย open file tables, network connections,
character device state
ั ซอนสู
้
้
 โครงสร ้างข ้อมูลมีความซบ
งเพือ
่ ใชแกะรอยบั
ฟเฟอร์,
ตาแหน่งหน่วยความจา และ “dirty” blocks
 การใช ้ object-oriented methods บางชนิด และ message
้
passing ในการใชงาน
I/O
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 31
UNIX I/O Kernel Structure
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 32
I/O Requests to Hardware
Operations
 การอ่านแฟ้ มจากดิสก์สาหรับกระบวนการ:
 พิจารณาอุปกรณ์เก็บแฟ้ ม
ื่ ในการแทนอุปกรณ์
 แปลงชอ
 อ่านข ้อมูลเชงิ กายภาพจากดิสก์ไปยังบัฟเฟอร์
้
 สร ้างข ้อมูลให ้พร ้อมใชงานไปยั
งกระบวนการทีร่ ้องขอ
่ คืนการควบคุมไปยังกระบวนการ
 สง
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 33
Life Cycle of An I/O Request
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 34
STREAMS
่ งทางการสอ
ื่ สารแบบ full-duplex ระหว่าง a
 STREAM – คือชอ
user-level process กับ a device
 A STREAM ประกอบด ้วย:
- STREAM head สว่ นต่อประสานกับกระบวนการผู ้ใช ้
- driver end สว่ นต่อประสานกับอุปกรณ์
- zero หรือ more STREAM modules ระหว่าง อุปกรณ์และ
กระบวนการเหล่านัน
้
 แต่ละมอดูลบรรจุด ้วย a read queue และ a write queue
ื่ สารระหว่างคิว
 ใช ้ Message passing ในการสอ
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 35
The STREAMS Structure
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 36
Performance
ิ ธิภาพของระบบ
 I/O เป็ นปั จจัยหลักในเรือ
่ งประสท
 ความต ้องการ CPU ในการ execute device driver, kernel I/O
code
 การสลับบริบท (Context switches) เมือ
่ มีการ interrupts
 การทาสาเนาข ้อมูล (Data copying)
 ความคับคัง
่ ของการจราจรเครือข่าย (Network traffic especially
stressful)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 37
Intercomputer Communications
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 38
ิ ธิภาพ
การปร ับปรุงประสท
Improving Performance
 ลดจานวนการสลับบริบท (Reduce number of context




switches)
ลดการทาสาเนาข ้อมูล (Reduce data copying)
้
ลด interrupts โดยใชการถ่
ายโอนครัง้ ละจานวนมาก, ตัวควบคุม
ทีฉ
่ ลาด (smart controllers), และ polling
ใช ้ DMA
ิ ธิภาพของ CPU, memory, bus, และ I/O
สร ้างสมดุลประสท
เพือ
่ ให ้ได ้ปริมาณงานสูงสุด (highest throughput)
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 39
Device-Functionality Progression
วิเชษฐ ์ พลายมาศ | ระบบปฏิบ ัติการ (OS: Operating Systems) | ระบบรับเข ้า/ส่งออก (I/O Systems) | 40