40
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโโ I/O Systems Structure

9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

Embed Size (px)

Citation preview

Page 1: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

โครงสร�างระบบรบเข้�าและโครงสร�างระบบรบเข้�าและส�งออกส�งออก

I/O Systems Structure

Page 2: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

I/O Systems

I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware

Operations Streams Performance

Page 3: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Learning Objectives

เพื่��อศึ�กษาถึ�งแนวคิ�ดด�านการจั�ดการอ�ปกรณ์ ร�บเข้�าและส่งออก เพื่��อเข้�าใจัถึ�งหน�าที่%�ข้องระบบปฏิ�บ�ติ�การในการจั�ดการเก%�ยวก�บระบบ

ร�บเข้�าและส่งออก

Page 4: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

I/O Hardware

อ�ปกรณ์ น)าเข้�า (input device) คิ�อ อ�ปกรณ์ ที่%�ที่)าให�คิอมพื่�วเติอร ส่ามารถึส่�มผั�ส่และร�บร, �ส่��งติางๆ จัากโลกภายนอกได� ติ�วอยางเช่น เคิร��องอานบ�ติร คิ%ย บอร ด เมาส่

อ�ปกรณ์ ส่งออก (output device) คิ�อ อ�ปกรณ์ ที่%�ที่)าให�คิอมพื่�วเติอร คิวบคิ�มหร�อส่งผัลออกมาส่,โลกภายนอกได� ติ�วอยางเช่น เคิร��องเจัาะบ�ติร จัอภาพื่ เคิร��องพื่�มพื่

Common concepts Port Bus (daisy chain or shared direct access) Controller (host adapter)

ม% I/O instructions ส่)าหร�บคิวบคิ�มอ�ปกรณ์ อ�ปกรณ์ เหลาน�2นจัะม%เลข้ที่%�อย, (addresses ) ที่%�ถึ,กใช่�โดย

Direct I/O instructions Memory-mapped I/O

Page 5: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

A Typical PC Bus Structure

Page 6: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Device I/O Port Locations on PCs (partial)

Page 7: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

ค ณสมบติ�ข้องพอร�ติ

พื่อร ติเอาที่ พื่�ติ (output port) คิ�อติ�องส่ามารถึด�งกระแส่เข้�า และจัายกระแส่ ออกได� และติ�องม%เอ�าที่ อ�นพื่%แดนซ์ (out impedance) ติ)�า

พื่อร ติอ�นพื่�ติ (input port) คิ�อ ติ�องม%อ�มพื่%แดนซ์ (impedance) ส่,งจัะติรวจัจั�บแรงด�น ส่�ญญาณ์ที่%�เข้�ามาวาเป5น 1 หร�อ 0

ม%เรจั�ส่เติอร 4 ติ�ว เรจั�ส่เติอร ส่ถึานะ (status register) เรจั�ส่เติอร คิวบคิ�ม (control register) เรจั�ส่เติอร ข้�อม,ลเข้�า (data-in register) เรจั�ส่เติอร ข้�อม,ลออก (data-out register)

เรจั�ส่เติอร ส่ถึานะบรรจั�บ�ติแส่ดงการอานโดยโฮส่ติ (host)

Page 8: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

ติวิข้บอ ปกรณ�Device Driver

หากบรรจั�โปรแกรมคิวบคิ�มอ�ปกรณ์ I/O ที่�2งหมดเข้�าไว�ใน OS จัะที่)าให� OS ม%ข้นาดเที่อะที่ะ ไมย�ดหย�น และม%คิาใช่�จัายส่,งในการ upgrade OS แติละคิร�2ง

จั�งติ�องแยกโปรแกรมคิวบคิ�มอ�ปกรณ์ ออกมาเป5นส่วนหน��งติางหาก เร%ยกวา ติ�วข้�บอ�ปกรณ์ (device driver)

ล�กษณ์ะเช่นน%2 OS ไมจั)าเป5นติ�องร, �จั�กล�กษณ์ะการที่)างานข้องอ�ปกรณ์ ติาง ๆ ปลอยให�เป5นหน�าที่%�ข้องติ�วข้�บอ�ปกรณ์ ช่น�ดน�2นๆ OS ร, �เพื่%ยงแติการติ�ดติอและคิวบคิ�มอ�ปกรณ์ ผัานที่างติ�วข้�บอ�ปกรณ์ เที่าน�2น

Page 9: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

อ ปกรณ�เสม"อนVirtual Device

คิ�อการน)าเอาอ�ปกรณ์ ช่น�ดหน��งมาจั)าลองการที่)างานเป5นอ�ปกรณ์ อ%กช่น�ดหน��ง เพื่��อกอให�เก�ดคิวามคิลองติ�วในการที่)างานข้องระบบ

ติ�วอยางข้องการที่)าอ�ปกรณ์ เส่ม�อนก7คิ�อ การที่)าแรมด�ส่ก (Ram disk)

การติ�ดติอคิวบคิ�มแรมด�ส่ก น%2 ที่)าได�โดยผัานโปรแกรมที่%�ที่)าหน�าที่%�จั)าลองหนวยคิวามจั)าเป5นด�ส่ก เร%ยกวา ติ�วข้�บอ�ปกรณ์ เส่ม�อน (virtual device driver)

การที่)า SPOOL (Simultaneous peripheral operation on-line) ซ์��งเป5นการใช่�ใช่�ด�ส่ก แที่นเคิร��องพื่�มพื่

โดยม%โปรเซ์ส่หน��งข้อง OS ช่��อ SPOOLER ที่)าหน�าที่%�จั�ดการเร��องการที่)า SPOOL ข้องระบบ

Page 10: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

การส$ารวิจควิามติ�องการ(polling)

ที่�กๆ ช่วงเวลาหน��ง (Quantum time) ซ์%พื่%ย,จัะหย�ดงานที่%�ที่)าอย,ช่� �วคิราว และเว%ยนไปติรวจัเช่7คิที่%�แติละแช่นแนลเพื่��อด,วา ม%อ�ปกรณ์ ติ�วใดบ�างติ�องการส่งข้�อม,ลมาให�ซ์%พื่%ย,จัากอ�ปกรณ์ แรกไปถึ�งอ�ปกรณ์ ส่�ดที่�าย

เช่น พื่วกคิ)าส่��ง JNB TF1 , $ แบบน%2โปรแกรมจัะที่)าอะไรอยางอ��นไมได�เลย จัะติ�องรอจันกวา เง��อนไข้จัะ

เป5นจัร�ง จั�งที่)าให�เส่%ยเวลาไปโดยใช่เหติ�

Determines state of device command-ready busy Error

Busy-wait cycle to wait for I/O from device

Page 11: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

มอดู'ลข้องการรบส�งข้�อม'ลData Transfer Module

I/O module Functionality การคิวบคิ�มและการจั�บเวลา การส่��อส่ารระหวางโปรเซ์ส่ การส่��อส่ารระหวางอ�ปกรณ์ การจั�ดการบ�ฟเฟอร การติรวจัส่อบข้�อผั�ดพื่ลาด

มอด,ลการร�บเข้�าและส่งออกจัะติ�องส่��อส่ารก�บโปรเซ์ส่เซ์อร และส่��อส่ารก�บภายนอก เก%�ยวข้�องก�บ การถึอดรห�ส่คิ)าส่� �ง (command decoding), ข้�อม,ล (data), การรายงานส่ถึานะ (status reporting) การร�บร, �ที่%�อย, (address recognition)

Page 12: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

อ�ติราการส่งผัานอ�ปกรณ์ ข้อง Sun Enterprise 6000ที่%�มา (IEEE Computer Society, 1996, p.65).

Page 13: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

โครงสร�างข้องมอดู'ลการรบเข้�าและส�งออกI/O Module Structure

ที่)าหน�าที่%�อ)านวยคิวามส่ะดวก ให�โปรเซ์ส่เซ์อร ส่ามารถึคิวบคิ�มการที่)างานข้องอ�ปกรณ์ ร�บเข้�าส่งออกติางๆได�งาย

I/O Module ที่)างานหน�กด�วยติ�วเอง โดยจัะเช่��อมติอก�บโปรเซ์ส่เซ์อร เร%ยกวา ช่องส่��อส่ารการร�บเข้�าส่งออก (I/O channels) หร�อ ไอโอโปรเซ์ส่เซ์อร (I/O processor)

I/O Module ที่%�ที่)างานน�อย และติ�องอาศึ�ยการคิวบคิ�มจัากโปรเซ์ส่เซ์อร โดยติรงเร%ยกวา หนวยคิวบคิ�มการร�บเข้�าส่งออก (I/O controller) หร�อหนวยคิวบคิ�มอ�ปกรณ์ (device controller)

Page 14: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

การควิบค มการรบเข้�าส�งออก

ม%อย, 3 ว�ธี% การคิวบคิ�มการร�บเข้�าส่งออกด�วยโปรแกรม (Programmed I/O) กระบวนการอ�นเที่อร ร�พื่ที่ (Interrupt-driven I/O) การเข้�าถึ�งหนวยคิวามจั)าหล�กโดยติรง (Direct memory access :

DMA) Programmed I/O และ Interrupt-driven I/O ติ�องใช่�

processor คิอยคิวบคิ�มและจั�ดการแลกเปล%�ยนข้�อม,ลระหวางหนวยคิวามจั)าหล�กก�บ I/O

ส่วนแบบ DMA น�2น I/O module จัะแลกเปล%�ยนข้�อม,ลก�นโดยติรงก�บหนวยคิวามจั)าหล�กโดยที่%� processor ไมติ�องเก%�ยวข้�อง

Page 15: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Interrupts

CPU จัะถึ,ก Interrupt request line โดย I/O device

Interrupt handler (CPU) ได�ร�บ interrupts

จัะพื่�จัารณ์าวาติ�องที่)าติามคิ)าร�องข้อน�2นที่�นที่%�หร�อรอเวลาไว�กอน

Interrupt vector to dispatch interrupt to correct handler Based on priority Some unmaskable

Interrupt mechanism also used for exceptions

Page 16: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Interrupt-Driven I/O Cycle

Page 17: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Intel Pentium Processor Event-Vector Table

Page 18: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Direct Memory Access

การเคิล��อนย�ายข้�อม,ลจั)านวนมากไมน�ยมใช่� programmed I/O แติใช่� DMA แที่น

จั)าเป5นติ�องม% DMA controller

การร�บ-ส่งข้�อม,ลระหวาง I/O ก�บหนวยคิวามจั)าส่ามารถึที่)าได�โดยติรงโดยไมติ�องผัาน CPU

Page 19: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Six Step Process to Perform DMA Transfer

Page 20: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Application I/O Interface

I/O system calls จัะหอห��มพื่ฤติ�กรรมข้องอ�ปกรณ์ ให�อย,ในช่�2นที่��วไป

ในช่�2นข้องติ�วข้�บอ�ปกรณ์ (Device driver Layer) ถึ,กซ์อนไว�ระหวางระบบยอยน)าเข้�าส่งออกก�บติ�วข้�บอ�ปกรณ์

ประเภที่ข้องอ�ปกรณ์ แบงติามคิ�ณ์ล�กษณ์ะการร�บส่งข้�อม,ล Character-stream or block Sequential or random-access Sharable or dedicated Speed of operation read-write, read only, or write only

Page 21: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

A Kernel I/O Structure

Page 22: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Characteristics of I/O Devices

Page 23: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

วิ�เชษฐ์� พลายมาศ | ระบบปฏิ�บติ�การ (OS: Operating Systems) | ระบบร�บเข้�า/ส่งออก (I/O Systems) | 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

Page 24: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Network Devices

จัะม%ส่วนติอประส่านเป5นข้องติ�วเองที่%�เพื่%ยงพื่อส่)าหร�บบล7อกและอ�กข้ระ

Unix และ Windows NT/9i/2000 ใช่� socket interface แยก network protocol ออกจัาก network operation Includes select functionality

เป5นว�ธี%การที่%�ใช่�อยางแพื่รหลาย (pipes, FIFOs, streams, queues, mailboxes)

Page 25: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

นาฬิ�กาและเวิลาClocks and Timers

บอก เวลาป=จัจั�บ�น , เวลาที่%�ผัานไปแล�ว , การติ�2งเวลา

อ�ปกรณ์ บอกเวลาที่%�ใช่�ผัานไปแล�วและการติ�2งเวลาเพื่��อคิ)านวณ์การส่งส่�ญญาณ์ เร%ยกวา programmable interval timer ใช่�เพื่��อติ�2งเวลา , ก)าหนดช่วงเวลาข้อง interrupts

Page 26: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Blocking and Nonblocking I/O

Blocking – กระบวนการจัะถึ,กหย�ดพื่�กช่��วคิราวจันกวา I/O completed งายติอการใช่�และเข้�าใจั เพื่%ยงพื่อติอคิวามติ�องการบางประการ

Nonblocking - I/O จัะถึ,กเร%ยกกล�บมาเม��อวาง งานที่%�ม%การประมวลผัลย�งที่)างานได�จันเส่ร7จัส่�2น แล�วจั�งเร%ยกส่�ญญาณ์

ข้�ดจั�งหวะ เพื่��อน)ากระบวนการที่�2งหมดที่%�ม%การเร%ยกระบบมาติ�ดติอเข้�าด�วยก�น

Asynchronous – กระบวนการก7ร�นไปในข้ณ์ะที่%� I/O ก7 executes ไป ใช่�งานยาก I/O subsystem ส่งส่�ญญาณ์ไปย�งกระบวนการ เม��อ I/O completed

Page 27: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Kernel I/O Subsystem

การจั�ดติาราง I/O (Scheduling) บาง I/O request ม%การจั�ดล)าด�บผัานคิ�วข้องแติละอ�ปกรณ์ บาง OS ม%การจั�ดการเร��องคิวามเป5นธีรรม

Buffering - เก7บข้�อม,ลในหนวยคิวามจั)าในระหวางการถึายโอนข้�อม,ลระหวางอ�ปกรณ์ เพื่��อร�บม�อก�บอ�ปกรณ์ ที่%�ม%คิวามเร7วติางก�นมาก เพื่��อร�บม�อก�บอ�ปกรณ์ ที่%�ม%ข้นาดการถึายโอนข้�อม,ลติางก�น เพื่��อส่น�บส่น�นการที่)างานแบบการส่)ารองข้�อม,ลที่%�เหม�อนก�น (copy

semantics)

Page 28: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Sun Enterprise 6000 Device-Transfer Rates

Page 29: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Kernel I/O Subsystem

Caching - หนวยคิวามจั)าคิวามเร7วส่,งใช่�เก7บส่)าเนาข้�อม,ล ม�กใช่�ในการส่)าเนา ใช่�เพื่��มประส่�ที่ธี�ภาพื่เป5นหล�ก

Spooling - เก7บผัลล�พื่ธี ข้องอ�ปกรณ์ ใช่�ในกรณ์%ที่%�อ�ปกรณ์ น�2นส่ามารถึรองร�บการที่)างานได�เพื่%ยงคิร�2งละหน��ง

งานในเวลาเด%ยวก�น เช่น การพื่�มพื่

การส่งวนอ�ปกรณ์ (Device reservation) – ที่)าให�การเข้�าถึ�งอ�ปกรณ์ แบบ exclusive System calls ส่)าหร�บจั�ดส่รรและคิ�นการจั�ดส่รร ระว�งการเก�ด deadlock ส่)าหร�บการร�องข้ออ�ปกรณ์

Page 30: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

การจดูการข้�อผิ�ดูพลาดูError Handling

OS ส่ามารถึปกป<องข้�อผั�ดพื่ลาดที่%�จัะเก�ดจัากการอานด�ส่ก ,อ�ปกรณ์ ย�งไมพื่ร�อมใช่�งาน , การข้�ดข้�องข้องการเข้%ยน

OS จัะส่งคิ�น error number หร�อ code เม��อ I/O request เก�ดล�มเหลว

System error logs จัะบ�นที่�กรายงานป=ญหาที่%�เก�ดข้�2น

Page 31: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Kernel Data Structures

Kernel เก7บข้�อม,ลส่ถึานะส่)าหร�บ I/O components, ประกอบด�วย open file tables, network connections, character device state

โคิรงส่ร�างข้�อม,ลม%คิวามซ์�บซ์�อนส่,งเพื่��อใช่�แกะรอยบ�ฟเฟอร ,ติ)าแหนงหนวยคิวามจั)า และ “dirty” blocks

การใช่� object-oriented methods บางช่น�ด และ message passing ในการใช่�งาน I/O

Page 32: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

UNIX I/O Kernel Structure

Page 33: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

I/O Requests to Hardware Operations

การอานแฟ<มจัากด�ส่ก ส่)าหร�บกระบวนการ: พื่�จัารณ์าอ�ปกรณ์ เก7บแฟ<ม แปลงช่��อในการแที่นอ�ปกรณ์ อานข้�อม,ลเช่�งกายภาพื่จัากด�ส่ก ไปย�งบ�ฟเฟอร ส่ร�างข้�อม,ลให�พื่ร�อมใช่�งานไปย�งกระบวนการที่%�ร �องข้อ ส่งคิ�นการคิวบคิ�มไปย�งกระบวนการ

Page 34: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Life Cycle of An I/O Request

Page 35: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

STREAMS

STREAM – คิ�อช่องที่างการส่��อส่ารแบบ full-duplex ระหวาง a user-level process ก�บ a device

A STREAM ประกอบด�วย:- STREAM head ส่วนติอประส่านก�บกระบวนการผั,�ใช่�- driver end ส่วนติอประส่านก�บอ�ปกรณ์ - zero หร�อ more STREAM modules ระหวาง อ�ปกรณ์ และกระบวนการเหลาน�2น

แติละมอด,ลบรรจั�ด�วย a read queue และ a write queue

ใช่� Message passing ในการส่��อส่ารระหวางคิ�ว

Page 36: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

The STREAMS Structure

Page 37: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Performance

I/O เป5นป=จัจั�ยหล�กในเร��องประส่�ที่ธี�ภาพื่ข้องระบบ

คิวามติ�องการ CPU ในการ execute device driver, kernel I/O code

การส่ล�บบร�บที่ (Context switches) เม��อม%การ interrupts การที่)าส่)าเนาข้�อม,ล (Data copying) คิวามคิ�บคิ��งข้องการจัราจัรเคิร�อข้าย (Network traffic

especially stressful)

Page 38: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Intercomputer Communications

Page 39: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

การปรบปร งประส�ทธิ�ภาพImproving Performance

ลดจั)านวนการส่ล�บบร�บที่ (Reduce number of context switches)

ลดการที่)าส่)าเนาข้�อม,ล (Reduce data copying) ลด interrupts โดยใช่�การถึายโอนคิร�2งละจั)านวนมาก, ติ�วคิวบคิ�ม

ที่%�ฉลาด (smart controllers), และ polling ใช่� DMA ส่ร�างส่มด�ลประส่�ที่ธี�ภาพื่ข้อง CPU, memory, bus, และ I/O

เพื่��อให�ได�ปร�มาณ์งานส่,งส่�ด (highest throughput)

Page 40: 9 ca-io systems structure (wichet p.'s conflicted copy 2012-12-17)

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

Device-Functionality Progression