CHƯƠNG 9: HỆ THỐNG NHẬP/ XUẤT (I/O SYSTEMS)

GIỚI THIỆU HỆ THỐNG NHẬP GIỚI THIỆU HỆ THỐNG NHẬP XUẤTXUẤT  HỗHỗ trợtrợ giaogiao tiếptiếp giữagiữa ngngưườiời dùngdùng ––hệhệ thống

thống vàvà giữagiữa cáccác hệhệ

cứng phục

phục vụvụ I/OI/O ((I/OI/O Hardware Hardware))

thống vớivới nhaunhau thống Thiết bịbị phầnphần cứng  Thiết Device Device BusBus Controller Controller PortPort:: status,

status, control,

control, datadata in,in, datadata outout phục vụvụ I/OI/O ((I/OI/O Software Software))

 CácCác phầnphần mềmmềm phục

2

KẾT NỐI CÁC THIẾT BỊ I/O TRÊN KẾT NỐI CÁC THIẾT BỊ I/O TRÊN PCPC

3

TIÊU CHUẨN PHÂN LOẠI TIÊU CHUẨN PHÂN LOẠI CÁC THIẾT BỊ I/O CÁC THIẾT BỊ I/O

 ThiếtThiết bịbị khối

 CóCó khảkhả nnăăngng đđịnhịnh đđịaịa chỉchỉ trựctrực tiếptiếp  Không

khối (block device) (block device)

Không đđịnhịnh đđịaịa chỉchỉ trựctrực tiếptiếp

device) (character--streamstream device)

riêng thiết bịbị dànhdành riêng

 ThiếtThiết bịbị theotheo kýký tựtự (character  ThiếtThiết bịbị truytruy xuấtxuất tuầntuần tựtự // ngẫungẫu nhiên nhiên  ThiếtThiết bịbị truytruy xuấtxuất đđồngồng bộ/bộ/ bấtbất đđồngồng bộbộ  ThiếtThiết bịbị chiachia xẻxẻ đưđượcợc hayhay thiết  TốcTốc đđộộ củacủa thiết  ChếChế đđộộ truytruy cậpcập thiét

nhanh, chậmchậm

 ThiếtThiết bịbị chỉchỉ đđọc,ọc, chỉchỉ ghi,ghi, đđọcọc // ghighi

thiết bịbị :: nhanh, thiét bịbị::

4

thiết bịbị:: busy,

busy, error

error hayhay command

ready command--ready

thái thiết thiết bịbị rảnh,

rảnh, CPUCPU rara lệnhlệnh truytruy cậpcập I/OI/O

Controller đđọcọc lệnhlệnh vàvà thực

thực thithi táctác vụvụ..

TRUY CẬP I/O BẰÈNG TRUY CẬP I/O BẰÈNG NG PHÁP POLLING PHPHƯƠƯƠNG PHÁP POLLING thực::  HiệnHiện thực Trạng Trạng thái  KhiKhi thiết Controller KhiKhi thực

xong, controller

controller đđặtặt lạilại trạng

trạng thái

thái củacủa

thực thithi xong, error.. thiết bịbị:: idleidle hoặchoặc error thiết

CPUCPU liênliên tụctục kiểmkiểm tratra trạng

trạng thái

thái thiết

thiết bịbị đđểể đđọc,ọc, ghighi dữdữ

thiết liệuliệu nếunếu cầncần thiết

 NhậnNhận xétxét

5

quãng khikhi hoànhoàn tấttất táctác vụvụ

TRUY CẬP I/O BẰÈNG TRUY CẬP I/O BẰÈNG CÁCH SỬ DỤNG NGẮT CÁCH SỬ DỤNG NGẮT QUÃNG QUÃNG  ThiếtThiết bịbị I/OI/O tạotạo ngắtngắt quãng quãng  KhiKhi cócó ngắtngắt quãng

 TrìnhTrình xửxử lýlý ngắtngắt quãng quãng thiết bịbị gâygây ngắtngắt quãng  XácXác đđịnhịnh thiết  LấyLấy dữdữ liệuliệu từtừ device register (lệnh device register  KhởiKhởi đđộngộng lệnhlệnh tiếptiếp theotheo chocho thiết

interrupt quãng nhậnnhận interrupt

(lệnh trtrưướcớc làlà lệnhlệnh đđọc)ọc) thiết bịbị đđóó

quãng theotheo đđộộ ưưuu tiên, tiên, cócó thểthể hoãnhoãn hoặchoặc hủyhủy mộtmột sốsố

 XửXử lýlý ngắtngắt quãng quãng ngắtngắt quãng quãng cũngcũng đưđượcợc dùng  NgắtNgắt quãng  NhậnNhận xét?xét?

dùng khikhi xảyxảy rara biếnbiến cốcố

6

CHU KỲ NGẮT QUÃNG CỦA CHU KỲ NGẮT QUÃNG CỦA I/OI/O

7

DIRECT MEMORY ACCESS -- DMADMA DIRECT MEMORY ACCESS

thiết bịbị I/OI/O traotrao đđổiổi dữdữ liệuliệu trựctrực tiếptiếp vớivới bộbộ nhớnhớ không

không cầncần

 ChoCho phépphép thiết thông quaqua CPUCPU thông

Hình vẽ: Các bước truy xuất đĩa cứng dùng DMA

8

 CácCác trình

thiết bịbị

CÁC PHẦN MỀM PHỤC VỤ CÁC PHẦN MỀM PHỤC VỤ I/O SOFTWARE)) I/O (I/O SOFTWARE I/O ( quãng trình xửxử lýlý ngắtngắt quãng  CácCác trình Routines)) Service Routines Interrupt Service ((Interrupt trình đđiềuiều khiển khiển thiết Drivers)) Device Drivers ((Device  CácCác dịchdịch vụvụ củacủa hệhệ đđiềuiều hànhhành  ThThưư việnviện lậplập trình

trình vàvà cáccác chchươươngng trình

trình kháckhác

9

CÁC DỊCH VỤ I/O CÁC DỊCH VỤ I/O DO HỆ ĐIỀU HÀNH CUNG CẤP DO HỆ ĐIỀU HÀNH CUNG CẤP

thiết bịbị

thiết bịbị I/OI/O

 ĐặtĐặt têntên thiết  CácCác táctác vụvụ xửxử lýlý  ĐiềuĐiều khiển  CấpCấp phátphát thiết  ĐịnhĐịnh thời  CácCác kỹkỹ thuạt  XửXử lýlý vàvà phục

bufffer, cache, spool cache, spool

khiển truytruy cậpcập thiết bịbị thời chocho cáccác thiết thuạt bufffer, phục hồihồi lỗilỗi

10

 Blocking

xong trình gọigọi sẽsẽ treotreo đđếnến khikhi giaogiao tiếptiếp I/OI/O xong

dụng hiểu, dễdễ sửsử dụng Không hiệuhiệu quảquả trong trong mộtmột sốsố trtrưườngờng hợphợp

return ngayngay khikhi cócó thểthể

threading thuật multimulti--threading thực bằngbằng kỹkỹ thuật

trình tiếptiếp tụctục chạychạy khikhi đđangang giaogiao tiếptiếp vớivới I/OI/O

GIAO TIẾP I/O BLOCKING & GIAO TIẾP I/O BLOCKING & NONBLOCKING NONBLOCKING Blocking –– QuáQuá trình  DễDễ hiểu,  Không  Nonblocking Nonblocking –– HàmHàm I/OI/O return  HiệnHiện thực  TrảTrả vềvề ngayngay sốsố bytebyte đưđượcợc đđọcọc hoặchoặc ghighi Asynchronous –– QuáQuá trình  Asynchronous dùng  KhóKhó dùng subsystem báobáo hiệuhiệu chocho quáquá trình  I/OI/O subsystem

trình khikhi hoànhoàn thành thành táctác vụvụ

I/OI/O..

11

(Kernel I/OI/O

CÁC CHỨC NĂNG QUẢN LÝ CÁC CHỨC NĂNG QUẢN LÝ module quảnquản lýlý I/OI/O củacủa hệhệ đđiềuiều hànhhành (Kernel  DoDo module I/O I/O Subsystem) đđảmảm nhậnnhận Subsystem) chính chức nnăăngng chính

 CácCác chức

scheduling) thời I/OI/O (( I/OI/O scheduling) ĐịnhĐịnh thời reservation) (device reservation) thiết bịbị (device riêng thiết DànhDành riêng handling) (error handling) XửXử lýlý lỗilỗi (error Buffering Buffering Caching Caching Spooling Spooling

12

BUFFERING BUFFERING

 LLưưuu dữdữ liệuliệu trong

trong bộbộ nhớnhớ thaythay vìvì chuyển chuyển trựctrực tiếptiếp dữdữ liệuliệu giữagiữa cáccác

thiết bịbị thiết

 CóCó thểthể đưđượcợc hiệnhiện thực cứng  CấpCấp phầnphần cứng  CấpCấp hệhệ đđiềuiều hànhhành

 MụcMục đđíchích

thực ởở

 XửXử lýlý vấnvấn đđềề tốctốc đđộộ cáccác thiết  XửXử lýlý vấnvấn đđềề kíchkích ththưướcớc khối

thiết bịbị kháckhác nhaunhau

khối dữdữ liệuliệu traotrao đđổiổi giữagiữa cáccác thiết thiết bịbị

kháckhác nhaunhau  GiảmGiảm thiểu thiểu thời thời giangian quáquá trình trình bịbị chặnchặn khikhi ghighi dữdữ liệuliệu

13

CACHING & SPOOLING CACHING & SPOOLING

Caching  Caching  DùngDùng vùng vùng nhớnhớ tốctốc đđộộ caocao đđểể llưưuu bảnbản saosao củacủa dữdữ liệuliệu ththưườngờng

xuyên truytruy xuấtxuất xuyên

Peripheral Operation

 Spooling

Operation OnOn--lineline)) trung bìnhbình làmlàm trung

cache::  ĐảmĐảm bảobảo tínhtính nhấtnhất quánquán củacủa cache through thuật writewrite through thuật writewrite backback

trung giangian giaogiao tiếptiếp

 KỹKỹ thuật  KỹKỹ thuật Spooling ((Simultaneous  DùngDùng thiết giữagiữa 22 thiết

Simultaneous Peripheral thiết bịbị llưưuu trữtrữ tốctốc đđộộ trung thiết bịbị cócó tốctốc đđộộ chênh

 VíVí dụdụ :: dịchdịch vụvụ inin ấnấn

chênh lệchlệch nhaunhau

14

CHU KỲ I/O CHU KỲ I/O

15

thiểu copy

(caching) copy dữdữ liệuliệu (caching) interrupt (dùng

truyền (dùng kíchkích ththưướcớc khốikhối dữdữ liệuliệu truyền

TĂNG HIỆU SUẤT HỆ THỐNG TĂNG HIỆU SUẤT HỆ THỐNG I/OI/O  GiảmGiảm thiểu  GiảmGiảm tầntần sốsố interrupt lớn, smart

smart controller

nhậnnhận lớn,

tranh chấpchấp

nhớ, busbus vàvà thiết

thiết bịbị I/OI/O đđểể

controller……))  GiảmGiảm tảitải chocho CPUCPU bằngbằng DMADMA tránh tranh thiết bịbị đđểể tránh  TTăăngng sốsố llưượngợng thiết thực dung llưượngợng bộbộ nhớnhớ thực  TTăăngng dung suất CPU,CPU, bộbộ nhớ, bằêng hiệuhiệu suất  CânCân bằêng throughput caocao nhấtnhất

đđạtạt throughput

 ……

16

MụcMục tiêutiêu

 GiớiGiới thiệu

thiệu vaivai tròtrò củacủa việcviệc tổtổ chức chức dữdữ liệuliệu trong trong mộtmột

đềđề ánán tintin họchọc..

thuật vàvà cấucấu trúctrúc dữdữ liệuliệu..

 MốiMối quanquan hệhệ giữagiữa giảigiải thuật  CácCác yêuyêu cầucầu tổtổ chức  KháiKhái niệmniệm kiểukiểu dữdữ liệuliệu__cấucấu trúctrúc dữdữ liệuliệu  TổngTổng quanquan vềvề đánhđánh giágiá độđộ phức

chức cấucấu trúctrúc dữdữ liệuliệu

thuật phức tạptạp giảigiải thuật

17