Interfejs

Sučelje ili interfejs (engl. interface) zajednička je deljena granica, posredstvom koje dve ili više komponenti računarskog sistema vrše razmenu informacija. Razmena informacija može se odvijati između softvera, hardverskih komponenti, perifernih uređaja, ljudi ili kao kombinacija navedenih. Pojedine računarske komponente, poput ekrana osetljivih na dodir, mogu istovremeno i primati i slati podatke posredstvom interfejsa, dok neke druge poput mikrofona, jedino omogućavaju prijem podataka.[1]

Hardverski interfejs

Hardverski interfejs je prisutan u mnogim uređajima poput: magistrala, uređaja za skladištenje podataka, ulazno-izlaznih uređaja itd. Tehnički, hardverski interfejs opisan je mehaničkim, električnim i logičkim signalima koji se razmenjuju na fizičkom međusklopu dva uređaja, kao i protokolima kojima se vrši sekvencija signala (signaliziranje).[2]

Standardan interfejs, poput SCSI, odvaja dizajn i primenu jedne hardverske komponente od dizajna i primene drugih hardverskih komponenti unutar istog računarskog sistema. Takav modularni pristup omogućava korisnicima i proizvođačima hardvera veliku fleksibilnost u implementaciji računarskog sistema.[2]

Hardverski interfejs može biti paralelan ili serijski. Kod paralelnog interfejsa prenos podataka vrši se kroz nekoliko provodnika istovremeno, dok se kod serijskog interfejsa prenos podataka vrši bajt po bajt korišćenjem jednog provodnika.

Softverski interfejs

Pojam softverskog interfejsa, obuhvata široki raspon različitih tipova interfejsa, na različitim nivoima operativnog sistema.[3] Operativni sistem može posredovati u komunikaciji između korisnika i hardverskih komponenti ili programi (aplikacije) koji se pokreću pod određenim operativnim sistemom mogu zahtevati komunikaciju sa drugim programima, nitima istog programa (engl. threads) ili komunikaciju sa delovima samog operativnog sistema.

Dizajn i primena softverskog interfejsa u praksi

Ključni princip prilikom dizajna softverskog interfejsa, jeste zabrana nekontrolisanog pristupa računarskim resursima i omogućavanje njihovog korišćenja isključivo kroz dobro definisane ulazne tačke (engl. entry points).[4]Pored zadovoljenja bezbednosnih zahteva, korišćenje softverskog interfejsa omogućava i jednostavnije, funkcionalnije korišćenje kompjuterskih resursa. Softverski interfejs omogućava da različiti programi (ili niti istog programa) dele zajedničke: konstante, tipove podataka, procedure, specifikacije izuzetaka i potpise metoda. Takođe, ponekad se javne varijable programa definišu kao deo softverskog interfejsa.

U toku dizajna i implementacije softverskog interfejsa, treba težiti ka zadovoljenju principa modularnosti. Interfejs programskog modula A mora biti definisano nezavisno od njegove implementacije.


Korisnički interfejs

Korisnički interfejs predstavlja tačku interakcije između računara i čoveka što uključuje bilo koju proceduru interakcije (kao što su grafika, zvuk, položaj, kretanje i sl.) gde se podaci prenose između korisnika i računarskog sistema.

Reference