V sklopu ra�unalni�kega sistema je ve� krmilnikov perifernih naprav (device controllers). Dovolj tipi�no so ti krmilniki priklju�eni na skupno vodilo, ki omogo�a dostop do pomnilnika. Na posamezen krmilnik je lahko povezanih tudi ve� naprav. Primer takega krmilnika je SCSI krmilnik. (Small Computer System Interface). Naloga krmilnika je premik podatkov med periferno napravo in lokalnim pomnilnikom.
Za start posamezne vhodno-izhodne operacije mora CPE vpisati ustrezne kode v registre v perifernega krmilnika. Krmilnik nato izvede ustrezno operacijo (obi�ajno prenos) in nato obvesti centralno procesno enoto, da je operacija zaklju�ena. Temu dogodku pravimo prekinitveni zahtevek.
Tako situacijo normalno posredno spro�i programski proces, ki zahteva prenos podatkov. Po takem zahtevku lahko program �aka, da se vhodno-izhodna operacija zaklju�i (sinhrona vhodno-izhodna operacija), ali pa program te�e dalje hkrati s potekom vhodno-izhodne operacije. V tem primeru potrebujemo �e primeren sistemski klic, ki omogo�i procesu, da kasneje po�aka na zaklju�ek spro�ene vhodno-izhodne operacije. Sistem mora imeti mo�nost isto�asnega sledenja ve�jemu �tevilu vhodno-izhodnih zahtevkov. Zato mora imeti tabelo z opisom stanja posameznih naprav (periferna statusna tabela, device status table). V taki tabeli so normalni podani: tip posamezne naprave, njeni naslovi, stanje).
Ko pride do prekinitvenega zahtevka, operacijski sistem ugotovi,
katera naprava ga je povzro�ila, naslovi ustrezni element periferne statusne
tabele in ustrezno popravi njegove podatke (status, �tevce podatkov ipd).
![]() |
Ko je vhodno-izhodna operacija zaklju�ena, pogleda sistem, kateri proces je �akal na njen zaklju�ek, in ga sprosti za nadaljevanje. Tak na�in vhodno-izhodnih operacij je asinhron. |
Obi�ajno so vse vhodno-izhodne in�trukcije za��itene in normalnemu uporabniku prepovedane. Ra�unalnik jih izvaja le, �e je v takoimenovanem sistemskem stanju (kernel mode, system mode).
S stali��a operacijskega sistema mora biti zagotovljena �im ve�ja neodvisnost od posebnosti posameznih perifernih naprav oziroma njihovih krmilnikov. Zato vhodno-izhodni podsistem obi�ajno sestavljajo naslednji podsklopi:
Ustrezno vmesno
polje za pomnenje podatkov (pri sistemu UNIX so to bloki medpomnilnika
pri diskih in drugih blokovnih napravah, c-liste pri terminalih in drugih
znakovnih napravah),
Splo�en
vmesnik do gonilnikov perifernih naprav,
Gonilniki
(drivers) za posamezne vrste perifernih naprav.
Vsaki periferni napravi lahko ustreza poseben gonilnik, �e pa je ve� naprav istega tipa, lahko imamo en gonilnik za vse take naprave (na primer diske). Sistem lahko podpira tudi takoimenovane programske naprave (software devices), katerim ni prirejena nobena fizi�na periferija. Tako bi lahko na primer obravnavali pomnilni�ke lokacije, ki so sicer procesu nedostopne.