11.chap11 io system
-
Upload
linh-nguyen-thanh -
Category
Documents
-
view
186 -
download
0
Transcript of 11.chap11 io system
-1-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
CHÖÔNG 11: HEÄ THOÁNG NHAÄP/ XUAÁT
(I/O SYSTEMS)
Giôùi thieäu heä thoáng nhaäp/xuaát Phaân loaïi thieát bò I/O Caùc phöông phaùp truy caäp I/O
PollingDuøng interruptDuøng DMA
Caùc dòch vuï I/O cuûa heä ñieàu haønh Caùc chöùc naêng quaûn lyù I/O Naâng cao hieäu suaát cuûa heä thoáng
I/O
-2-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
GIÔÙI THIEÄU HEÄ THOÁNG NHAÄP XUAÁT
Hoã trôï giao tieáp giöõa ngöôøi duøng –heä thoáng vaø giöõa caùc heä thoáng vôùi nhau
Thieát bò phaàn cöùng phuïc vuï I/O (I/O Hardware)– Device– Bus – Controller– Port: status, control, data in, data out
Caùc phaàn meàm phuïc vuï I/O (I/O Software)
-3-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
KEÁT NOÁI CAÙC THIEÁT BÒ I/O TREÂN PC
-4-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
TIEÂU CHUAÅN PHAÂN LOAÏI CAÙC THIEÁT BÒ I/O
Thieát bò khoái (block device)– Coù khaû naêng ñònh ñòa chæ tröïc tieáp– Khoâng ñònh ñòa chæ tröïc tieáp
Thieát bò theo kyù töï (character-stream device) Thieát bò truy xuaát tuaàn töï / ngaãu nhieân Thieát bò truy xuaát ñoàng boä/ baát ñoàng boä Thieát bò chia xeû ñöôïc hay thieát bò daønh
rieâng Toác ñoä cuûa thieát bò : nhanh, chaäm Cheá ñoä truy caäp thieùt bò:
– Thieát bò chæ ñoïc, chæ ghi, ñoïc / ghi
-5-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
TRUY CAÄP I/O BAÈÈNG PHÖÔNG PHAÙP POLLING
Hieän thöïc:– Traïng thaùi thieát bò: busy, error hay
command-ready– Khi thieát bò raûnh, CPU ra leänh truy caäp
I/O– Controller ñoïc leänh vaø thöïc thi taùc vuï.– Khi thöïc thi xong, controller ñaët laïi traïng
thaùi cuûa thieát bò: idle hoaëc error.– CPU lieân tuïc kieåm tra traïng thaùi thieát
bò ñeå ñoïc, ghi döõ lieäu neáu caàn thieátNhaän xeùt
-6-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
TRUY CAÄP I/O BAÈÈNG CAÙCH SÖÛ DUÏNG NGAÉT
QUAÕNG Thieát bò I/O taïo ngaét quaõng khi hoaøn taát taùc
vuï Khi coù ngaét quaõng
– Trình xöû lyù ngaét quaõng nhaän interrupt– Xaùc ñònh thieát bò gaây ngaét quaõng– Laáy döõ lieäu töø device register (leänh tröôùc laø leänh
ñoïc)– Khôûi ñoäng leänh tieáp theo cho thieát bò ñoù
Xöû lyù ngaét quaõng theo ñoä öu tieân, coù theå hoaõn hoaëc huûy moät soá ngaét quaõng
Ngaét quaõng cuõng ñöôïc duøng khi xaûy ra bieán coá
Nhaän xeùt?
-7-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
CHU KYØ NGAÉT QUAÕNG CUÛA I/O
-8-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
DIRECT MEMORY ACCESS - DMA Cho pheùp thieát bò I/O trao ñoåi döõ lieäu tröïc tieáp
vôùi boä nhôù khoâng caàn thoâng qua CPU
Hình veõ: Caùc böôùc truy
xuaát ñóa cöùng duøng
DMA
-9-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
CAÙC PHAÀN MEÀM PHUÏC VUÏ I/O (I/O SOFTWARE)
Caùc trình xöû lyù ngaét quaõng(Interrupt Service Routines)
Caùc trình ñieàu khieån thieát bò(Device Drivers)
Caùc dòch vuï cuûa heä ñieàu haønhThö vieän laäp trình vaø caùc
chöông trình khaùc
-10-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
CAÙC DÒCH VUÏ I/O DO HEÄ ÑIEÀU HAØNH CUNG
CAÁP
Ñaët teân thieát bò Caùc taùc vuï xöû lyù Ñieàu khieån truy caäp Caáp phaùt thieát bò Ñònh thôøi cho caùc thieát bò I/O Caùc kyõ thuaït bufffer, cache, spool Xöû lyù vaø phuïc hoài loãi
-11-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
GIAO TIEÁP I/O BLOCKING & NONBLOCKING
Blocking – Quaù trình goïi seõ treo ñeán khi giao tieáp I/O xong– Deã hieåu, deã söû duïng– Khoâng hieäu quaû trong moät soá tröôøng hôïp
Nonblocking – Haøm I/O return ngay khi coù theå – Hieän thöïc baèng kyõ thuaät multi-threading– Traû veà ngay soá byte ñöôïc ñoïc hoaëc ghi
Asynchronous – Quaù trình tieáp tuïc chaïy khi ñang giao tieáp vôùi I/O – Khoù duøng– I/O subsystem baùo hieäu cho quaù trình khi hoaøn
thaønh taùc vuï I/O.
-12-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
CAÙC CHÖÙC NAÊNG QUAÛN LYÙ I/O
Do module quaûn lyù I/O cuûa heä ñieàu haønh (Kernel I/O Subsystem) ñaûm nhaän
Caùc chöùc naêng chính– Ñònh thôøi I/O ( I/O scheduling)– Daønh rieâng thieát bò (device reservation)– Xöû lyù loãi (error handling)– Buffering– Caching– Spooling
-13-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
BUFFERING Löu döõ lieäu trong boä nhôù thay vì chuyeån
tröïc tieáp döõ lieäu giöõa caùc thieát bò Coù theå ñöôïc hieän thöïc ôû
– Caáp phaàn cöùng – Caáp heä ñieàu haønh
Muïc ñích– Xöû lyù vaán ñeà toác ñoä caùc thieát bò khaùc
nhau– Xöû lyù vaán ñeà kích thöôùc khoái döõ lieäu trao
ñoåi giöõa caùc thieát bò khaùc nhau– Giaûm thieåu thôøi gian quaù trình bò chaën khi
ghi döõ lieäu
-14-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
CACHING & SPOOLING Caching
– Duøng vuøng nhôù toác ñoä cao ñeå löu baûn sao cuûa döõ lieäu thöôøng xuyeân truy xuaát
– Ñaûm baûo tính nhaát quaùn cuûa cache: Kyõ thuaät write through Kyõ thuaät write back
Spooling (Simultaneous Peripheral Operation On-line)– Duøng thieát bò löu tröõ toác ñoä trung bình laøm
trung gian giao tieáp giöõa 2 thieát bò coù toác ñoä cheânh leäch nhau
– Ví duï : dòch vuï in aán
-16-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM
TAÊNG HIEÄU SUAÁT HEÄ THOÁNG I/O
Giaûm thieåu copy döõ lieäu (caching)Giaûm taàn soá interrupt (duøng kích thöôùc
khoái döõ lieäu truyeàn nhaän lôùn, smart controller…)
Giaûm taûi cho CPU baèng DMATaêng soá löôïng thieát bò ñeå traùnh tranh
chaápTaêng dung löôïng boä nhôù thöïcCaân baèêng hieäu suaát CPU, boä nhôù, bus
vaø thieát bò I/O ñeå ñaït throughput cao nhaát
…