OPERATIVNI SISTEMI
Upravljanje uredjajima.

Ulazni i izlazni uređaji su veoma važni za efikasno korišćenje računarskog sistema. Oni predstavljaju vezu ljudi sa računarom. Ulazni uređaji prikupljaju podatke iz okoline i prevode ih u oblik pogodan za obradu u računarskom sistemu. Izlazni uređaji preuzimaju podatke dobijene obradom i prosljeđuju ih na dalju obradu ili prikazuju u obliku upotrebljivom za ljude.

Računari rade sa velikim brojem različitih uređaja. To su: uređaji za memorisanje (npr. diskovi, trake), uređaji za prenos (npr. modemi), uređaji koji omogućuju interfejs sa ljudima (npr. tastatura, monitor, štampač) i drugi specijelizovani uređaji. Svaki od ovih uređaja treba da ima mogućnost da pošalje ili primi podatke iz računarskog sistema. Spoljašnji uređaji se priključuju na računar preko U/I modula.

U/I moduli

Spoljašnji uređaji računarskog sistema se još nazivaju i periferni uređaji ili periferali. U većini računarskih sistema procesor ne kontroliše direktno periferne uređaje, nego su oni priključeni na uređaj koji se naziva U/I modul. U/I modul komunicira direktno sa procesorom i procesor preko njega obavlja svu potrebnu komunikaciju sa U/I uređajima. Periferni uređaji su znatno sporiji od procesora tako da bi njihova direktna komunikacija sa procesorom i memorijom znatno usporila cio sistem. Osim toga, svaki periferni uređaj radi u skladu sa određenim pravilima. Nije isplativo uključivati u procesor logiku rada velikog broja različitih perifernih uređaja. Sa jedne strane bi to znatno usporilo operacije procesora, dok bi sa druge strane onemogućilo dodavanje novih tipova U/I uređaja.

U/I modul je direktno priključen na sistemsku magistralu i obezbjeđuje razmjenu informacija sa U/I uređajima i kontrolu njihovog rada na način koji najmanje utiče na performanse računarskog sistema. Glavne funkcije U/I modula su:

  • Kontrola i usklađivanje saobraćaja.
  • Komunikacija sa procesorom
  • Komunikacija sa uređajima.
  • Prihvatanje podataka.
  • Otkrivanje grešaka.

Tehnike izvršavanja U/I operacija

Programirani U/I

Najjednostavniji način izvršavanja U/I operacija je programirani U/I. Kada procesor izvršava program i naiđe na zahtjev za U/I operacijom, on određuje potrebne adrese i šalje komandu odgovarajućem U/I modulu. Postoje četiri tipa komandi koje procesor može da pošalje U/I modulu:

  • Kontrolna komanda koja se koristi za aktiviranje perifernog uređaja i kojom se naznačava akcija koju treba preduzeti.
  • Test komanda kojom se ispituje stanje U/I modula i odgovarajućih perifernih uređaja.
  • Komanda za čitanje izdaje direktivu U/I modulu da pročita podatak iz perifernog uređaja i smjesti ga u interni bafer.
  • Komanda za pisanje izdaje direktivu U/I modulu da pročita podatak sa magistrale i prenese ga u periferni uređaj.

Prekidima upravljan U/I

Prekidima upravljan U/I se primjenjuje na skoro svim računarskim sistemima, bez obzira na njihovu veličinu. Izuzetak mogu da budu jedino računarski sistemi sa vrlo ograničenom funkcijom. Primjer obavljanja U/I operacije sa perifernim uređajem uz korišćenje prekida je prikazan na slici.

Savremeni računarski sistem

 

Direktan pristup memoriji

Nedostaci oba prethodno opisana načina izvršavanja U/I operacija su što zahijevaju intervenciju procesora pri prenosu podataka između memorije i U/I modula. Prenos podatak se odvija preko procesora i brzina prenosa je ograničena brzinom kojom procesor može da testira i servisira U/I modul. Pri izvršavanju svake U/I operacije procesor mora da izvrši veliki broj instrukcija zbog čega ostali programi moraju da čekaju. Ovi nedostaci posebno dolaze do izražaja pri prenosu velikih količina podataka. U tom slučaju je efiksnije primjeniti tehniku prenosa nazvanu direktan pristup memoriji (eng. Direct memory access, DMA).

Direktan pristup memoriji zahtijeva dodatni modul priključen na sistemsku magistralu koji se DMA kontroler. DMA kontroler predstavlja specijalizovani procesor koji može da izvršava programirani U/I. Kada procesor treba da izvrši  U/I operaciju, on upiše DMA kontrolni blok u memoriju. Kontrolni blok sadrži adresu uređaja sa koga se vrši prenos ili na koji treba upisati podatke. Zatim procesor predaje adresu DMA kontrolnog bloka DMA kontroleru i prelazi na druge poslove. DMA kontroler nastavlja izvršavanje operacije i prenosi jedan po jedan bajt radeći direktno sa magistralom bez pomoći centralnog procesora. DMA dobija kontrolu nad magistralom samo kada ona nije zauzeta od strane centralnog procesora. Magistrala može da bude slobodna kada je procesor ne koristi ili kada DMA kontroler zahtijeva od procesora da privremeno suspenduje svoje operacije sa magistralom. Ovakav način rada DMA kontrolera se naziva krađa ciklusa, jer u suštiniDMA  krade cikluse na magistrali od centralnog procesora.

Po završetku operacije, DMA šalje prekid procesoru kojim ga obavještava da je operacija izvršena. Na taj način, procesoru se šalje samo jedan prekid, bez obzira na količinu prenesenih podataka.

    Index