งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ระบบรับเข้าและส่งออก ระบบรับเข้าและส่งออก I/O Systems นงลักษณ์ พรมทอง และวิเชษฐ์ พลาย มาศ.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ระบบรับเข้าและส่งออก ระบบรับเข้าและส่งออก I/O Systems นงลักษณ์ พรมทอง และวิเชษฐ์ พลาย มาศ."— ใบสำเนางานนำเสนอ:

1 ระบบรับเข้าและส่งออก ระบบรับเข้าและส่งออก I/O Systems นงลักษณ์ พรมทอง และวิเชษฐ์ พลาย มาศ

2 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 2 I/O Systems n I/O Hardware n Application I/O Interface n Kernel I/O Subsystem n Transforming I/O Requests to Hardware Operations n Streams n Performance

3 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 3 Learning Objectives n เพื่อศึกษาถึงแนวคิดด้านการจัดการอุปกรณ์รับเข้าและส่งออก n เพื่อเข้าใจถึงหน้าที่ของระบบปฏิบัติการในการจัดการเกี่ยวกับ ระบบรับเข้าและส่งออก

4 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 4 I/O Hardware n อุปกรณ์นำเข้า (input device) คือ อุปกรณ์ที่ทำให้คอมพิวเตอร์ สามารถสัมผัสและรับรู้สิ่งต่างๆ จากโลกภายนอกได้ ตัวอย่างเช่น เครื่องอ่านบัตร คีย์บอร์ด เมาส์ n อุปกรณ์ส่งออก (output device) คือ อุปกรณ์ที่ทำให้คอมพิวเตอร์ ควบคุมหรือส่งผลออกมาสู่โลกภายนอกได้ ตัวอย่างเช่น เครื่องเจาะ บัตร จอภาพ เครื่องพิมพ์ n Common concepts  Port  Bus (daisy chain or shared direct access)  Controller (host adapter) n มี I/O instructions สำหรับควบคุมอุปกรณ์ n อุปกรณ์เหล่านั้นจะมีเลขที่อยู่ (addresses) ที่ถูกใช้โดย  Direct I/O instructions  Memory-mapped I/O

5 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 5 A Typical PC Bus Structure

6 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 6 Device I/O Port Locations on PCs (partial)

7 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 7 คุณสมบัติของพอร์ต n พอร์ตเอาท์พุต (output port) คือต้องสามารถดึงกระแสเข้า และ จ่ายกระแส ออกได้ และต้องมีเอ้าท์อินพีแดนซ์ (out impedance) ต่ำ n พอร์ตอินพุต (input port) คือ ต้องมีอิมพีแดนซ์ (impedance) สูงจะตรวจจับแรงดัน สัญญาณที่เข้ามาว่าเป็น 1 หรือ 0 n มีเรจิสเตอร์ 4 ตัว  เรจิสเตอร์สถานะ (status register)  เรจิสเตอร์ควบคุม (control register)  เรจิสเตอร์ข้อมูลเข้า (data-in register)  เรจิสเตอร์ข้อมูลออก (data-out register) n เรจิสเตอร์สถานะบรรจุบิตแสดงการอ่านโดยโฮสต์ (host)

8 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 8 ตัวขับอุปกรณ์ Device Driver n หากบรรจุโปรแกรมควบคุมอุปกรณ์ I/O ทั้งหมดเข้าไว้ใน OS จะ ทำให้ OS มีขนาดเทอะทะ ไม่ยืดหยุ่น และมีค่าใช้จ่ายสูงในการ upgrade OS แต่ละครั้ง n จึงต้องแยกโปรแกรมควบคุมอุปกรณ์ออกมาเป็นส่วนหนึ่ง ต่างหาก เรียกว่า ตัวขับอุปกรณ์ (device driver) n ลักษณะเช่นนี้ OS ไม่จำเป็นต้องรู้จักลักษณะการทำงานของ อุปกรณ์ต่าง ๆ ปล่อยให้เป็นหน้าที่ของตัวขับอุปกรณ์ชนิดนั้นๆ OS รู้เพียงแต่การติดต่อและควบคุมอุปกรณ์ผ่านทางตัวขับ อุปกรณ์เท่านั้น

9 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 9 อุปกรณ์เสมือน Virtual Device n คือการนำเอาอุปกรณ์ชนิดหนึ่งมาจำลองการทำงานเป็นอุปกรณ์ อีกชนิดหนึ่ง เพื่อก่อให้เกิดความคล่องตัวในการทำงานของระบบ n ตัวอย่างของการทำอุปกรณ์เสมือนก็คือ การทำแรมดิสก์ (Ram disk) n การติดต่อควบคุมแรมดิสก์นี้ ทำได้โดยผ่านโปรแกรมที่ทำหน้าที่ จำลองหน่วยความจำเป็นดิสก์ เรียกว่า ตัวขับอุปกรณ์เสมือน (virtual device driver) n การทำ SPOOL (Simultaneous peripheral operation on-line) ซึ่งเป็นการใช้ใช้ดิสก์แทนเครื่องพิมพ์ n โดยมีโปรเซสหนึ่งของ OS ชื่อ SPOOLER ทำหน้าที่จัดการเรื่อง การทำ SPOOL ของระบบ

10 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 10 การสำรวจความต้องการ (polling) n ทุกๆ ช่วงเวลาหนึ่ง (Quantum time) ซีพียูจะหยุดงานที่ทำอยู่ ชั่วคราว และเวียนไปตรวจเช็คที่แต่ละแชนแนลเพื่อดูว่า มีอุปกรณ์ตัว ใดบ้างต้องการส่งข้อมูลมาให้ซีพียูจากอุปกรณ์แรกไปถึงอุปกรณ์ สุดท้าย n เช่น พวกคำสั่ง JNB TF1, $ n แบบนี้โปรแกรมจะทำอะไรอย่างอื่นไม่ได้เลย จะต้องรอจนกว่า เงื่อนไขจะเป็นจริง จึงทำให้เสียเวลาไปโดยใช่เหตุ n Determines state of device  command-ready  busy  Error n Busy-wait cycle to wait for I/O from device

11 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 11 มอดูลของการรับส่งข้อมูล Data Transfer Module n I/O module Functionality  การควบคุมและการจับเวลา  การสื่อสารระหว่างโปรเซส  การสื่อสารระหว่างอุปกรณ์  การจัดการบัฟเฟอร์  การตรวจสอบข้อผิดพลาด n มอดูลการรับเข้าและส่งออกจะต้องสื่อสารกับโปรเซสเซอร์และ สื่อสารกับภายนอก เกี่ยวข้องกับ  การถอดรหัสคำสั่ง (command decoding),  ข้อมูล (data),  การรายงานสถานะ (status reporting)  การรับรู้ที่อยู่ (address recognition)

12 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 12 อัตราการส่งผ่านอุปกรณ์ของ Sun Enterprise 6000 ที่มา (IEEE Computer Society, 1996, p.65).

13 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 13 โครงสร้างของมอดูลการรับเข้าและส่งออก I/O Module Structure n ทำหน้าที่อำนวยความสะดวก ให้โปรเซสเซอร์สามารถควบคุม การทำงานของอุปกรณ์รับเข้าส่งออกต่างๆได้ง่าย n I/O Module ทำงานหนักด้วยตัวเอง โดยจะเชื่อมต่อกับ โปรเซสเซอร์เรียกว่า ช่องสื่อสารการรับเข้าส่งออก (I/O channels) หรือ ไอโอโปรเซสเซอร์ (I/O processor) n I/O Module ที่ทำงานน้อย และต้องอาศัยการควบคุมจาก โปรเซสเซอร์โดยตรงเรียกว่า หน่วยควบคุมการรับเข้าส่งออก (I/O controller) หรือหน่วยควบคุมอุปกรณ์ (device controller)

14 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 14 การควบคุมการรับเข้าส่งออก n มีอยู่ 3 วิธี  การควบคุมการรับเข้าส่งออกด้วยโปรแกรม (Programmed I/O)  กระบวนการอินเทอร์รัพท์ (Interrupt-driven I/O)  การเข้าถึงหน่วยความจำหลักโดยตรง (Direct memory access : DMA) n Programmed I/O และ Interrupt-driven I/O ต้องใช้ processor คอยควบคุมและจัดการแลกเปลี่ยนข้อมูลระหว่าง หน่วยความจำหลักกับ I/O n ส่วนแบบ DMA นั้น I/O module จะแลกเปลี่ยนข้อมูลกันโดยตรง กับหน่วยความจำหลักโดยที่ processor ไม่ต้องเกี่ยวข้อง

15 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 15 Interrupts n CPU จะถูก Interrupt request line โดย I/O device n Interrupt handler (CPU) ได้รับ interrupts n จะพิจารณาว่าต้องทำตามคำร้องขอนั้นทันที่หรือรอเวลาไว้ก่อน n Interrupt vector to dispatch interrupt to correct handler  Based on priority  Some unmaskable n Interrupt mechanism also used for exceptions

16 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 16 Interrupt-Driven I/O Cycle

17 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 17 Intel Pentium Processor Event-Vector Table

18 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 18 Direct Memory Access n การเคลื่อนย้ายข้อมูลจำนวนมากไม่นิยมใช้ programmed I/O แต่ใช้ DMA แทน n จำเป็นต้องมี DMA controller n การรับ-ส่งข้อมูลระหว่าง I/O กับหน่วยความจำสามารถทำได้ โดยตรงโดยไม่ต้องผ่าน CPU

19 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 19 Six Step Process to Perform DMA Transfer

20 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 20 Application I/O Interface n I/O system calls จะห่อหุ้มพฤติกรรมของอุปกรณ์ให้อยู่ในชั้น ทั่วไป n ในชั้นของตัวขับอุปกรณ์ (Device driver Layer) ถูกซ่อนไว้ ระหว่างระบบย่อยนำเข้าส่งออกกับตัวขับอุปกรณ์ n ประเภทของอุปกรณ์แบ่งตามคุณลักษณะการรับส่งข้อมูล  Character-stream or block  Sequential or random-access  Sharable or dedicated  Speed of operation  read-write, read only, or write only

21 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 21 A Kernel I/O Structure

22 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 22 Characteristics of I/O Devices

23 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 23 อุปกรณ์แบบบล็อกและแบบอักขระ Block and Character Devices n Block devices ได้แก่ disk drives  Command ประกอบด้วย read, write, seek  Raw I/O หรือ file-system access  อาจใช้การเข้าถึงแฟ้มแบบ Memory-mapped n Character devices ประกอบด้วย keyboards, mice, serial ports  Commands ประกอบด้วย get, put  Libraries layered on top allow line editing

24 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 24 Network Devices n จะมีส่วนต่อประสานเป็นของตัวเองที่เพียงพอสำหรับบล็อกและ อักขระ n Unix และ Windows NT/9i/2000 ใช้ socket interface  แยก network protocol ออกจาก network operation  Includes select functionality n เป็นวิธีการที่ใช้อย่างแพร่หลาย (pipes, FIFOs, streams, queues, mailboxes)

25 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 25 นาฬิกาและเวลา Clocks and Timers n บอก เวลาปัจจุบัน, เวลาที่ผ่านไปแล้ว, การตั้งเวลา n อุปกรณ์บอกเวลาที่ใช้ผ่านไปแล้วและการตั้งเวลาเพื่อคำนวณ การส่งสัญญาณ เรียกว่า programmable interval timer ใช้เพื่อ ตั้งเวลา, กำหนดช่วงเวลาของ interrupts

26 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 26 Blocking and Nonblocking I/O n Blocking – กระบวนการจะถูกหยุดพักชั่วคราวจนกว่า I/O completed  ง่ายต่อการใช้และเข้าใจ  เพียงพอต่อความต้องการบางประการ n Nonblocking - I/O จะถูกเรียกกลับมาเมื่อว่าง  งานที่มีการประมวลผลยังทำงานได้จนเสร็จสิ้น แล้วจึงเรียก สัญญาณขัดจังหวะ เพื่อนำกระบวนการทั้งหมดที่มีการเรียกระบบมา ติดต่อเข้าด้วยกัน n Asynchronous – กระบวนการก็รันไปในขณะที่ I/O ก็ executes ไป  ใช้งานยาก  I/O subsystem ส่งสัญญาณไปยังกระบวนการ เมื่อ I/O completed

27 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 27 Kernel I/O Subsystem n การจัดตาราง I/O (Scheduling)  บาง I/O request มีการจัดลำดับผ่านคิวของแต่ละอุปกรณ์  บาง OS มีการจัดการเรื่องความเป็นธรรม n Buffering - เก็บข้อมูลในหน่วยความจำในระหว่างการถ่ายโอน ข้อมูลระหว่างอุปกรณ์  เพื่อรับมือกับอุปกรณ์ที่มีความเร็วต่างกันมาก  เพื่อรับมือกับอุปกรณ์ที่มีขนาดการถ่ายโอนข้อมูลต่างกัน  เพื่อสนับสนุนการทำงานแบบการสำรองข้อมูลที่เหมือนกัน (copy semantics)

28 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 28 Sun Enterprise 6000 Device-Transfer Rates

29 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 29 Kernel I/O Subsystem n Caching - หน่วยความจำความเร็วสูงใช้เก็บสำเนาข้อมูล  มักใช้ในการสำเนา  ใช้เพิ่มประสิทธิภาพเป็นหลัก n Spooling - เก็บผลลัพธ์ของอุปกรณ์  ใช้ในกรณีที่อุปกรณ์นั้นสามารถรองรับการทำงานได้เพียงครั้งละ หนึ่งงานในเวลาเดียวกัน  เช่น การพิมพ์ n การสงวนอุปกรณ์ (Device reservation) – ทำให้การเข้าถึง อุปกรณ์แบบ exclusive  System calls สำหรับจัดสรรและคืนการจัดสรร  ระวังการเกิด deadlock สำหรับการร้องขออุปกรณ์

30 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 30 การจัดการข้อผิดพลาด Error Handling n OS สามารถปกป้องข้อผิดพลาดที่จะเกิดจากการอ่านดิสก์, อุปกรณ์ยังไม่พร้อมใช้งาน, การขัดข้องของการเขียน n OS จะส่งคืน error number หรือ code เมื่อ I/O request เกิด ล้มเหลว n System error logs จะบันทึกรายงานปัญหาที่เกิดขึ้น

31 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 31 Kernel Data Structures n Kernel เก็บข้อมูลสถานะสำหรับ I/O components, ประกอบด้วย open file tables, network connections, character device state n โครงสร้างข้อมูลมีความซับซ้อนสูงเพื่อใช้แกะรอยบัฟเฟอร์, ตำแหน่งหน่วยความจำ และ “dirty” blocks n การใช้ object-oriented methods บางชนิด และ message passing ในการใช้งาน I/O

32 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 32 UNIX I/O Kernel Structure

33 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 33 I/O Requests to Hardware Operations n การอ่านแฟ้มจากดิสก์สำหรับกระบวนการ:  พิจารณาอุปกรณ์เก็บแฟ้ม  แปลงชื่อในการแทนอุปกรณ์  อ่านข้อมูลเชิงกายภาพจากดิสก์ไปยังบัฟเฟอร์  สร้างข้อมูลให้พร้อมใช้งานไปยังกระบวนการที่ร้องขอ  ส่งคืนการควบคุมไปยังกระบวนการ

34 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 34 Life Cycle of An I/O Request

35 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 35 STREAMS n STREAM – คือช่องทางการสื่อสารแบบ full-duplex ระหว่าง a user-level process กับ a device n A STREAM ประกอบด้วย: - STREAM head ส่วนต่อประสานกับกระบวนการผู้ใช้ - driver end ส่วนต่อประสานกับอุปกรณ์ - zero หรือ more STREAM modules ระหว่าง อุปกรณ์และ กระบวนการเหล่านั้น n แต่ละมอดูลบรรจุด้วย a read queue และ a write queue n ใช้ Message passing ในการสื่อสารระหว่างคิว

36 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 36 The STREAMS Structure

37 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 37 Performance n I/O เป็นปัจจัยหลักในเรื่องประสิทธิภาพของระบบ  ความต้องการ CPU ในการ execute device driver, kernel I/O code  การสลับบริบท (Context switches) เมื่อมีการ interrupts  การทำสำเนาข้อมูล (Data copying)  ความคับคั่งของการจราจรเครือข่าย (Network traffic especially stressful)

38 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 38 Intercomputer Communications

39 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 39 การปรับปรุงประสิทธิภาพ Improving Performance n ลดจำนวนการสลับบริบท (Reduce number of context switches) n ลดการทำสำเนาข้อมูล (Reduce data copying) n ลด interrupts โดยใช้การถ่ายโอนครั้งละจำนวนมาก, ตัวควบคุม ที่ฉลาด (smart controllers), และ polling n ใช้ DMA n สร้างสมดุลประสิทธิภาพของ CPU, memory, bus, และ I/O เพื่อให้ได้ปริมาณงานสูงสุด (highest throughput)

40 วิเชษฐ์ พลายมาศ | ระบบปฏิบัติการ (OS: Operating Systems) | ระบบรับเข้า/ส่งออก (I/O Systems) | 40 Device-Functionality Progression


ดาวน์โหลด ppt ระบบรับเข้าและส่งออก ระบบรับเข้าและส่งออก I/O Systems นงลักษณ์ พรมทอง และวิเชษฐ์ พลาย มาศ.

งานนำเสนอที่คล้ายกัน


Ads by Google