ระบบรับ และแสดงผล
Home  Contents KMArticlesMembersSponsorsAbout us

ปรับปรุง : 2556-11-14 (ปรับรูปแบบ)
ขอบซ้ายขอบบน
ระบบรับ และแสดงผล
[แสดงภาพ] สารบัญ :: #1 :: #2 :: #3 :: #4 :: #5 :: #6 :: #7 :: #8 :: #9 :: #10 :: #11 :: #12 ::

สาระการเรียนรู้
1. อุปกรณ์รับ และแสดงผล
2. Application I/O Interface
3. Kernel I/O Subsystem

จุดประสงค์การสอน
1. เข้าใจอุปกรณ์รับ และแสดงผล
2. เข้าใจ Application I/O Interface
3. เข้าใจ Kernel I/O Subsystem
4. สามารถบอกได้ว่าอุปกรณ์ใดเป็นอุปกรณ์ input หรือ output
5. สามารถติดตั้งอุปกรณ์ I/O ใหม่ได้

เกริ่นนำ
    นอกจากหน่วยประมวลผล และหน่วยความจำหลักจะสำคัญแล้ว หน่วยนำข้อมูลเข้า (Input Unit) และหน่วยนำข้อมูลออก (Output Unit) ก็เป็นองค์ประกอบที่จะขาดไม่ได้เช่นกัน และอุปกรณ์เหล่านี้ถูกพัฒนาให้มีความหลากหลาย รองรับความต้องการของผู้ใช้เพิ่มขึ้น ความเร็วของแต่ละอุปกรณ์ก็เพิ่มขึ้น เช่น USB กับ Firewire ก็เป็นที่แน่ชัดว่า USB 3.0 จะเป็นสื่อมาตรฐาน ส่วนช่องต่อสาย LAN ก็ยังมีอยู่ แต่ผู้คนส่วนใหญ่นิยมใช้ WiFi แทน สำหรับการเชื่อมต่ออินเทอร์เน็ตในระยะใกล้ เพราะสะดวกกว่ามาก ทั้ง Mouse และ Keyboard ก็มีผู้ใช้หันไปใช้แบบไร้สายเพิ่มขึ้น การเชื่อมต่อที่เคยใช้ Modem ก็เป็น ADSL และกำลังเป็น 3G ในไม่ช้า สื่อเก็บข้อมูลก็มีการใช้ SD Card แทน Harddisk บ้างแล้ว
บทนำ
อุปกรณ์ที่ปะติดกับคอมพิวเตอร์มีมากมายที่ผู้ใช้รู้จัก และมีหน้าที่เชื่อมต่อแตกต่างกันไป เช่น ส่งเป็นตัวอักษร หรือเป็นชุดตัวอักษร เข้าถึงแบบ Sequentially หรือ Randomly ส่งข้อมูลแบบ Synchronously หรือ Asynchronously บางอุปกรณ์ Dedicated หรือ Shared บางอุปกรณ์ Read-only หรือ Read-write และทุกอุปกรณ์ความเร็วสูงต่ำต่างกัน
อุปกรณ์เมื่อแยกตามชนิดข้อมูลสามารถแยกได้ 2 ประเภท
1. อุปกรณ์ชนิดข้อมูลเป็นสาย (stream) อุปกรณ์ประเภทนี้ข้อมูลที่ส่งเข้าออกจะเรียงมาเป็นลำดับก่อน-หลัง การแบ่งแยกข้อมูลทำได้โดยตรวจสอบลำดับของข้อมูล อุปกรณ์ประเภทนี้สามารถจัดการได้ง่าย เพียงแต่จัดการรับ-ส่งข้อมูลให้ถูกต้องก็เพียงพอแล้ว ตัวอย่างของอุปกรณ์ชนิดนี้ได้แก่ คีย์บอร์ด ซึ่งข้อมูลที่ส่งเข้ามาในระบบจะเป็นไปตามลำดับการกดคีย์ คีย์ใดถูกกดก่อนก็จะถูกส่งมาก่อน เครื่องพิมพ์ที่จัดอยู่ในอุปกรณ์ประเภทนี้ ข้อมูลที่ถูกส่งออกไปก่อนก็จะถูกพิมพ์ก่อน ข้อมูลที่ถูกส่งไปทีหลังจะถูกพิมพ์ทีหลัง
2. อุปกรณ์ชนิดข้อมูลไม่เป็นสาย (non-stream) อุปกรณ์ประเภทนี้ ข้อมูลที่ส่งและรับไม่ขึ้นอยู่กับลำดับการส่ง เราต้องอาศัยข้อมูลเพิ่มเติมเพื่อที่จะแยกแยะข้อมูลแต่ละตัว การจัดการอุปกรณ์ประเภทนี้ ระบบปฏิบัติการจะต้องมีวิธีจัดการโดยเฉพาะ ขึ้นอยู่กับลักษณะของอุปกรณ์ชนิดนั้นๆ ตัวอย่างอุปกรณ์ชนิดนี้ เช่น จอภาพ ข้อมูลหรือตัวอักษรที่ส่งไปให้จอภาพแสดงนั้น จะต้องส่งไปในตำแหน่งที่ถูกต้อง ตำแหน่งของตัวอักษรที่แสดงอยู่บนจอภาพแต่ละตัวจะมีแอดเดรสประจำตำแหน่งนั้นๆ เมื่อเราส่งตัวอักษรไปยังแอดเดรสใดตัวอักษรก็จะปรากฎอยู่บนจอภาพ ณ ตำแหน่งแอดเดรสนั้นๆ ดังนั้น จะเห็นได้ว่า การส่งตัวอักษรไปให้จอภาพไม่จำเป็นต้องลำดับการส่งที่ถูกต้อง แต่ต้องการแอดเดรสที่ตรงกับตำแหน่งเท่านั้น

7.1 อุปกรณ์รับ และแสดงผล
อุปกรณ์อินพุต (Input device) คือ อุปกรณ์ที่ทำให้คอมพิวเตอร์สามารถสัมผัสและรับรู้สิ่งต่าง ๆ จากโลก ภายนอกได้ ตัวอย่างเช่น เครื่องอ่านบัตร คีย์บอร์ด เมาส์
อุปกรณ์นำข้อมูลเข้า คือ อุปกรณ์ที่ทำให้คอมพิวเตอร์สามารถสัมผัสและรับรู้สิ่งต่างๆ จากภายนอกเครื่องได้ อันได้แก่ โปรแกรมหรือชุดคำสั่งที่เขียนสั่งงาน ให้คอมพิวเตอร์ทำงานตามขั้นตอน และข้อมูลที่ต้องใส่เข้าไปพร้อมกับโปรแกรม เพื่อส่งไปให้หน่วยประมวลผลกลางทำการประมวลผล และผลิตผลลัพธ์ที่ต้องการออกมา ตัวอย่างเช่น เครื่องอ่านบัตร คีย์บอร์ด เมาส์ จอยสติก จอสัมผัส ปากกาแสง กล้องดิจิตอล สแกนเนอร์ เป็นต้น
อุปกรณ์เอาต์พุต (Output device) คือ อุปกรณ์ที่ทำให้คอมพิวเตอร์คอมพิวเตอร์ควบคุมหรือส่งผลออกมาสู่โลกภายนอกได้ ตัวอย่างเช่น เครื่องเจาะบัตร จอภาพ เครื่องพิมพ์
อุปกรณ์นำข้อมูลออก หรืออุปกรณ์แสดงผล คือ อุปกรณ์ที่ทำให้คอมพิวเตอร์ควบคุมหรือส่งผลออกมาสู่ภายนอกตัวเครื่องได้ หลังจากที่คอมพิวเตอร์ได้ทำการประมวลผลแล้ว ก็จะต้องมีวิธีในการนำผลลัพธ์ออกมาแสดง ซึ่งสามารถแบ่งอุปกรณ์แสดงผลนี้ ออกได้เป็น 3 ประเภทคือ อุปกรณ์แสดงผลลัพธ์ชั่วคราว เช่น จอภาพ (Monitor) อุปกรณ์แสดงผลลัพธ์ถาวร เช่น เครื่องพิมพ์ (Printer) และอุปกรณ์แสดงผลลัพธ์ถาวรทางด้านกราฟิก เช่น พลอตเตอร์ (Plotter) เป็นต้น
7.1.1 การลงคะแนน (Polling)
(1) A communications technique that determines when a terminal is ready to send data. The computer continually interrogates its connected terminals in a round robin sequence. If a terminal has data to send, it sends back an acknowledgment and the transmission begins. Contrast with an interrupt-driven system, in which the terminal generates a signal when it has data to send.
(2) A technique that continually interrogates a peripheral device to see if it has data to transfer. For example, if a mouse button was pressed or if data is available at a communications port. Contrast with event-driven or interrupt-driven techniques, in which the operating system generates a signal and interrupts the system. (Techweb.com)
ระเบียบวิธีการที่สมบูรณ์ ในการเชื่อมต่อระหว่าง host และ ตัวควบคุม มีการทำ handshaking เป็นพื้นฐาน โดยสมมติให้มี 2 bits เชื่อมประสาน producer และ consumer หรือ controller และ host โดยมีการบ่งบอกสถานะขณะทำงาน
7.1.2 ขัดจังหวะ (Interrupts)

การขัดจังหวะจะทำงานอย่างต่อเนื่องร่วมกับ CPU จึงถูกเรียกว่า Interrupt-request line โดยทำงานเป็น Interrupt-driven I/O cycle สำหรับ 7 องค์ประกอบ
1. device driver initialtes I/O
2. initiates I/O
3. input ready, output complete, or error generates interrupt signal
4. CPU receiving interrupt, transfers control to interrupt handler
5. interrupt handler processes data, returns from interrupt
6. CPU resumes processing of interrupted task
7. CPU executing checks for interrupts between instructions
7.1.3 เข้าถึงหน่วยความจำโดยตรง (Direct memory access)

(Direct Memory Access) Specialized circuitry or a dedicated microprocessor that transfers data from memory to memory without using the CPU. Although DMA may periodically steal cycles from the CPU, data are transferred much faster than using the CPU for every byte of transfer. On PCs, there are eight DMA channels commonly used as follows. Most sound cards are set to use DMA channel 1
DMA คือ วงจรพิเศษที่ออกแบบมาเพื่อส่งข้อมูลระหว่าง หน่วยความจำ ถึงหน่วยความจำโดยไม่ใช้การทำงานของ CPU และเป็นการทำงานที่คาดหวัง หรือทำนายข้อมูลล่วงหน้า ในการเรียกข้อมูลที่ต้องการใช้ แทนที่จะให้ CPU เป็นคนสั่งงานให้เรียกข้อมูลโดยตรง
ภาพแสดงขั้นตอนการทำงานร่วมกันของ CPU, Cache, CPU memory bus, DMA, PCI bus, IDE disk controller และ Disk มีขั้นตอนต่าง ๆ 6 ขั้นตอน
1. device driver is told to transfer disk data to buffer at address X
2. device driver tells disk controller to transfer C bytes from disk to buffer at address X
3. disk controller initiates DMA transfer
4. disk controlelr sends each byte to DMA controller
5. DMA controller transfers bytes to buffer X, increasing memory address and decreasing c until c = 0
6. when c = 0, DMA interrupts CPU to signal transfer completetion

ความเร็วของอุปกรณ์ต่าง ๆ
อุปกรณ์ความเร็ว
คีย์บอร์ด10 Bps
เมาส์100 Bps
โมเด็ม 56 KB7 KBps
แชนแนลโทรศัพท์8 KBps
คู่สาย ISDN16 KBps
เครื่องพิมพ์เลเซอร์100 KBps
สแกนเนอร์400 KBps
อีเธอร์เน็ต (Classic)1.2 MBps
USB (Universal serial bus)1.5 MBps
ดิจิทอลแคมคอร์ดเดอร์4 MBps
ดิสก์ IDE5 MBps
ซีดีรอม 40X6 MBps
อีเทอร์เน็ต (Fast)12.5 MBps
บัส ISA16.7 Bps
ดิสก์ EIDE (ATA-2)16.7 MBps
FireWire (IEEE 1394)50 MBps
มอนิเตอร์ XGA60 MBps
เน็ตเวิร์ค SONET OC-1278 MBps
ดิสก์ SCSI Ultra 280 MBps
อีเธอร์เน็ต (Gigabit)125 MBps
เทป Ultrium320 MBps
บัส PCI528 MBps
SUN Gigaplane XB backplane20 GBps

7.2 Application I/O Interface
7.2.1 Block and character devices
โดยปกติระบบปฏิบัติการจะคาดหวังการเชื่อมต่อผ่าน read() write() หรือ seek() ซึ่งเป็นอุปกรณ์ส่งข้อมูลแบบ simple linear array of block หรือ raw I/O ตัวอย่างอุปกรณ์แบบนี้ที่เห็นได้ชัดที่สุดก็คือ keyboard

7.2.2 Network devices
ในระบบเครือข่ายจะมีการติดต่อสื่อสารกันผ่าน socket interface นอกจากการติดต่อแบบ read() write() และ seek() ยังมีการใช้อุปกรณ์ในเครือข่ายเชื่อมต่อเข้ามาผ่าน socket ได้อีกทางหนึ่ง โดยไม่ได้คำนึงถึงระบบปฏิบัติการว่าจะเป็น UNIX หรือ Windows แต่สนใจเฉพาะสิ่งที่ส่งเข้ามาว่าเข้ามาทางใด

7.2.3 Clocks and timers
คอมพิวเตอร์ส่วนใหญ่มี hardware clock และ timer ให้ข้อมูลพื้นฐานเกี่ยวกับเวลา 3 อย่าง
- บอกเวลาปัจจุบัน (Current time)
- บอกเวลาที่ผ่านไป (Elapsed time)
- ตั้ง trigger ที่จะปฏิบัติการต่อเวลา

7.2.4 Blocking and nonblocking I/O
การมี system-call interface รองรับ I/O ที่มาจาก blocking และ nonblocking เพราะผู้ใช้อาจใช้ทั้ง mouse และ keyboard ส่งข้อมูลพร้อมกัน ในขณะที่กำลังเปิดภาพยนต์จากแผ่น CD จึงต้องรอบรับข้อมูลต่าง ๆ ที่เข้ามา

Characteristics of I/O devices
aspectvariationexample
data-transfer modecharacter
block
terminal
disk
access methodsequential
random
modem
CD-ROM
transfer schedulesynchronous
asynchronous
tape
keyboard
sharingdedicated
sharable
tape
keyboard
device speedlatency
seek time
transfer rate
delay between operations
I/O directionread only
write only
read-write
CD-ROM
graphics controller
disk

7.3 Kernel I/O Subsystem
Kernel คือแก่นของระบบ ที่ให้บริการต่าง ๆ มากมาย และสัมพันธ์กับ I/O ด้านต่าง ๆ หรือกล่าวได้ว่าทั้ง 6 เรื่องต่อไปนี้ คือระบบย่อยของการจัดการภายใน kernel ที่เกี่ยวกับ I/O
7.3.1 I/O scheduling
7.3.2 Buffering (เก็บข้อมูลที่ปรากฎ)
7.3.3 Caching (เก็บข้อมูลที่เรียกใช้บ่อย และทำให้การเรียกใช้เร็วกว่า)
7.3.4 Spooling and device reservation (เป็น buffer ที่เก็บผลลัพธ์ของอุปกรณ์ เช่น printer)
7.3.5 Error handling
7.3.6 Kernel data structures

7.4 ปฏิบัติการติดตั้งอุปกรณ์เพิ่มเติม
- ฝึกติดตั้งอุปกรณ์ใหม่เพิ่มเข้าไป
- ฝึกตรวจสอบความเร็วของอุปกรณ์ input และ output ต่าง ๆ
- ฝึกเขียนแผนภาพแสดงการเชื่อมต่อระหว่าง CPU กับ I/O controller
- ค้นคว้าข้อมูลเกี่ยวกับ ระบบรับ และแสดงผล จากอินเทอร์เน็ต แล้วทำรายงาน และส่งตัวแทนนำเสนอหน้าชั้น
แนะนำเว็บไซต์ประกอบการค้นคว้าบางส่วน
+ http://infocom.cqu.edu.au/Courses/aut2001/85349/Resources/Lectures/12/allSlides.html (ภาพต่าง ๆ เกี่ยวกับ I/O)
+ http://www.techweb.com/encyclopedia/defineterm.jhtml?term=polling
ผู้สนับสนุน + ผู้สนับสนุน
+ รับผู้สนับสนุน
เอกสารอ้างอิง #
[1] Abraham silverschatz, Peter baer galvin, "Operating system concept", John wiley & Sons, New York, 2003.
[2] Milan Milenkovic, "Operating systems: concepts and design", McGraw-Hill inc., New York, 1992.
[3] William stallings, "Operating system", Prentice hall, New York, 1999.
[4] ไพศาล โมลิสกุลมงคล และคณะ, "ระบบปฏิบัติการ", สำนักพิมพ์ดวงกมลสมัย, กรุงเทพฯ, 2545.
[5] พิเชษฐ์ ศิริรัตนไพศาลกุล, "ระบบปฏิบัติการ (Operating system)", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2546.
[6] ดร.ยรรยง เต็งอำนวย, "ระบบปฏิบัติการ (Operating system)", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2541.
[7] ประชา พฤกษ์ประเสริฐ, "ระบบปฏิบัติการ", บริษัท ซัคเซส มีเดีย จำกัด., กรุงเทพฯ, 2549.
[8] วศิน เพิ่มทรัพย์, "คู่มือ MS-DOS", พี.เอ็น.การพิมพ์, กรุงเทพฯ, 2545.
[9] ชนินทร์ เชาวมิตร, "คู่มือยูนิกซ์เดสก์ทอป", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2538.
[10] ผศ.ดร.กฤษดา ขันกสิกรรม, "ระบบปฏิบัติการ (Operating Systems)", อาง้วนการพิมพ์, นครสวรรค์, 2555.
"Imagination is more important than knowledge" - Albert Einstein
Home
Thaiabc.com
Thainame.net
Lampang.net
Nation university
PHP
MySQL
Visual basic.NET
TabletPC
Linux
Online quiz
Download
Search engine
Web ranking
Add website
Blog : Education
Blog : ACLA
Blog : Lampang
Facebook.com
Twitter.com
About us
My dream
Site map
Sponsor
http://goo.gl/72BPC