More Related Content
PPT
PERSEPSI & PENGAMBILAN KEPUTUSAN HRM s2.ppt PPT
1 ระบบคอมพิวเตอร์และระบบปฏิบัติการ PPT
10 ca-mass-storage system structure (wichet p.'s conflicted copy 2012-12-17) PDF
สิ่งแวดล้อมทางการเรียนรู้ กับ กระบวนทัศน์ใหม่ของการเรียนรู้ PPT
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17) PPT
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17) PPTX
PPTX
Similar to 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)
PPT
3 ca-computer system structure PDF
PPT
2 ca-computer systems (wichet p.'s conflicted copy 2012-12-18) PPT
Operating System Chapter 2 PDF
PDF
PDF
PDF
PDF
DOCX
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์ PPTX
การจัดการอุปกรณ์อินพุตและอุปกรณ์เอาต์พุต PDF
คำศัพท์เกี่ยวกับคอมพิวเตอร์ที่น่าสนใจ PDF
PDF
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์ PDF
PDF
PDF
ใบความรู้ที่ 2 หลักการพื้นฐานของคอมพิวเตอร์ PDF
PPT
เทคโนโลยีคอมพิวเตอร์เพื่อการสื่อสาร PDF
โครงสร้างรายวิชา เทคโนโลยีสารสนเทศ 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)
- 1.
- 2.
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
ั
- 3.
Learning Objectives
เพื่อศึกษาถึงแนวคิดด้านการจัดการอุปกรณ์รับเข้าและส่งออก
เพื่อเข้าใจถึงหน้าที่ของระบบปฏิบัติการในการจัดการเกี่ยวกับ
ระบบรับเข้าและส่งออก
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 3
ั
- 4.
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
ั
- 5.
A Typical PCBus Structure
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 5
ั
- 6.
Device I/O PortLocations on PCs
(partial)
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 6
ั
- 7.
คุณ สมบัต ิของพอร์ต
พอร์ตเอาท์พุต (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
ั
- 8.
ตัว ขับ อุปกรณ์
Device Driver
หากบรรจุโปรแกรมควบคุมอุปกรณ์ I/O ทั้งหมดเข้าไว้ใน OS จะ
ทำาให้ OS มีขนาดเทอะทะ ไม่ยดหยุน และมีค่าใช้จ่ายสูงในการ
ื ่
upgrade OS แต่ละครั้ง
จึงต้องแยกโปรแกรมควบคุมอุปกรณ์ออกมาเป็นส่วนหนึ่งต่าง
หาก เรียกว่า ตัวขับอุปกรณ์ (device driver)
ลักษณะเช่นนี้ OS ไม่จำาเป็นต้องรู้จักลักษณะการทำางานของ
อุปกรณ์ต่าง ๆ ปล่อยให้เป็นหน้าที่ของตัวขับอุปกรณ์ชนิดนั้นๆ
OS รู้เพียงแต่การติดต่อและควบคุมอุปกรณ์ผ่านทางตัวขับ
อุปกรณ์เท่านั้น
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 8
ั
- 9.
อุป กรณ์เ สมือน
Virtual Device
คือการนำาเอาอุปกรณ์ชนิดหนึ่งมาจำาลองการทำางานเป็นอุปกรณ์
อีกชนิดหนึ่ง เพื่อก่อให้เกิดความคล่องตัวในการทำางานของระบบ
ตัวอย่างของการทำาอุปกรณ์เสมือนก็คือ การทำาแรมดิสก์ (Ram
disk)
การติดต่อควบคุมแรมดิสก์นี้ ทำาได้โดยผ่านโปรแกรมที่ทำาหน้าที่
จำาลองหน่วยความจำาเป็นดิสก์ เรียกว่า ตัวขับอุปกรณ์เสมือน
(virtual device driver)
การทำา SPOOL (Simultaneous peripheral operation on-
line) ซึ่งเป็นการใช้ใช้ดิสก์แทนเครื่องพิมพ์
โดยมีโปรเซสหนึ่งของ OS ชื่อ SPOOLER ทำาหน้าที่จัดการ
เรื่องการทำา SPOOL ของระบบ
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 9
ั
- 10.
การสำา รวจความต้อ งการ
(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
ั
- 11.
มอดูล ของการรับ ส่งข้อ มูล
Data Transfer Module
I/O module Functionality
การควบคุมและการจับเวลา
การสื่อสารระหว่างโปรเซส
การสื่อสารระหว่างอุปกรณ์
การจัดการบัฟเฟอร์
การตรวจสอบข้อผิดพลาด
มอดูลการรับเข้าและส่งออกจะต้องสื่อสารกับโปรเซสเซอร์และ
สื่อสารกับภายนอก เกี่ยวข้องกับ
การถอดรหัสคำาสั่ง (command decoding),
ข้อมูล (data),
การรายงานสถานะ (status reporting)
การรับรู้ทอยู่ (address recognition)
ี่
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 11
ั
- 12.
- 13.
โครงสร้า งของมอดูล การรับเข้า และส่ง
ออก
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
ั
- 14.
การควบคุม การรับ เข้าส่ง ออก
มีอยู่ 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
ั
- 15.
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
ั
- 16.
- 17.
Intel Pentium ProcessorEvent-Vector
Table
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 17
ั
- 18.
Direct Memory Access
การเคลื่อนย้ายข้อมูลจำานวนมากไม่นิยมใช้ programmed I/O
แต่ใช้ DMA แทน
จำาเป็นต้องมี DMA controller
การรับ-ส่งข้อมูลระหว่าง I/O กับหน่วยความจำาสามารถทำาได้
โดยตรงโดยไม่ต้องผ่าน CPU
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 18
ั
- 19.
Six Step Processto Perform DMA
Transfer
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 19
ั
- 20.
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
ั
- 21.
A Kernel I/OStructure
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 21
ั
- 22.
Characteristics of I/ODevices
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 22
ั
- 23.
อุป กรณ์แ บบบล็อกและแบบอัก ขระ
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
ั
- 24.
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
ั
- 25.
นาฬิก าและเวลา
Clocks and Timers
บอก เวลาปัจจุบัน, เวลาที่ผานไปแล้ว, การตั้งเวลา
่
อุปกรณ์บอกเวลาที่ใช้ผ่านไปแล้วและการตั้งเวลาเพื่อคำานวณ
การส่งสัญญาณ เรียกว่า programmable interval timer ใช้เพื่อ
ตั้งเวลา, กำาหนดช่วงเวลาของ interrupts
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 25
ั
- 26.
Blocking and NonblockingI/O
Blocking – กระบวนการจะถูกหยุดพักชั่วคราวจนกว่า I/O
completed
ง่ายต่อการใช้และเข้าใจ
เพียงพอต่อความต้องการบางประการ
Nonblocking - I/O จะถูกเรียกกลับมาเมื่อว่าง
งานทีมีการประมวลผลยังทำางานได้จนเสร็จสิ้น แล้วจึงเรียก
่
สัญญาณขัดจังหวะ เพื่อนำากระบวนการทังหมดที่มการเรียกระบบมา
้ ี
ติดต่อเข้าด้วยกัน
Asynchronous – กระบวนการก็รันไปในขณะที่ I/O ก็
executes ไป
ใช้งานยาก
I/O subsystem ส่งสัญญาณไปยังกระบวนการ เมือ I/O completed
่
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 26
ั
- 27.
Kernel I/O Subsystem
การจัดตาราง I/O (Scheduling)
บาง I/O request มีการจัดลำาดับผ่านคิวของแต่ละอุปกรณ์
บาง OS มีการจัดการเรื่องความเป็นธรรม
Buffering - เก็บข้อมูลในหน่วยความจำาในระหว่างการถ่ายโอน
ข้อมูลระหว่างอุปกรณ์
เพื่อรับมือกับอุปกรณ์ทมีความเร็วต่างกันมาก
ี่
เพื่อรับมือกับอุปกรณ์ทมีขนาดการถ่ายโอนข้อมูลต่างกัน
ี่
เพื่อสนับสนุนการทำางานแบบการสำารองข้อมูลทีเหมือนกัน (copy
่
semantics)
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 27
ั
- 28.
Sun Enterprise 6000Device-Transfer
Rates
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 28
ั
- 29.
Kernel I/O Subsystem
Caching - หน่วยความจำาความเร็วสูงใช้เก็บสำาเนาข้อมูล
มักใช้ในการสำาเนา
ใช้เพิมประสิทธิภาพเป็นหลัก
่
Spooling - เก็บผลลัพธ์ของอุปกรณ์
ใช้ในกรณีทอุปกรณ์นั้นสามารถรองรับการทำางานได้เพียงครั้งละ
ี่
หนึ่งงานในเวลาเดียวกัน
เช่น การพิมพ์
การสงวนอุปกรณ์ (Device reservation) – ทำาให้การเข้าถึง
อุปกรณ์แบบ exclusive
System calls สำาหรับจัดสรรและคืนการจัดสรร
ระวังการเกิด deadlock สำาหรับการร้องขออุปกรณ์
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 29
ั
- 30.
การจัด การข้อ ผิดพลาด
Error Handling
OS สามารถปกป้องข้อผิดพลาดที่จะเกิดจากการอ่านดิสก์,
อุปกรณ์ยงไม่พร้อมใช้งาน, การขัดข้องของการเขียน
ั
OS จะส่งคืน error number หรือ code เมื่อ I/O request เกิดล้ม
เหลว
System error logs จะบันทึกรายงานปัญหาที่เกิดขึ้น
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 30
ั
- 31.
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
ั
- 32.
UNIX I/O KernelStructure
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 32
ั
- 33.
I/O Requests toHardware
Operations
การอ่านแฟ้มจากดิสก์สำาหรับกระบวนการ:
พิจารณาอุปกรณ์เก็บแฟ้ม
แปลงชื่อในการแทนอุปกรณ์
อ่านข้อมูลเชิงกายภาพจากดิสก์ไปยังบัฟเฟอร์
สร้างข้อมูลให้พร้อมใช้งานไปยังกระบวนการที่ร้องขอ
ส่งคืนการควบคุมไปยังกระบวนการ
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 33
ั
- 34.
Life Cycle ofAn I/O Request
วิเ ชษฐ์ พลายมาศ | ระบบปฏิบ ต ิก าร (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 34
ั
- 35.
STREAMS
STREAM – คือช่องทางการสื่อสารแบบ full-duplex ระหว่าง a
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
ั
- 36.
- 37.
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
ั
- 38.
- 39.
การปรับ ปรุง ประสิทธิภ าพ
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
ั
- 40.