Një paisje I/O në përgjithësi konsiston në dy pjesë : një controller dhe vetë paisja. Kontrolleri është një chip ose një bashkësi chipesh që kontrollojnë fizikisht paisjen. Ai pranon komanda nga sistemi i shfrytëzimit dhe i realizon këto komanda.
Në shumë raste kontrolli i paisjes është shumë i ndërlikuar, kështu që puna e kontrollerit është të paraqesë një ndërfaqe të thjeshtë për sistemin e shfrytëzimit.

Pjesa tjetër është vete paisja, e cila ka një ndërfaqe të thjeshtë sepse ato nuk kanë një detyrë të ndërlikuar. Këto paisje duhet të jenë standarte, psh çdo disk kontroller IDE mund të trajtojë çdo disk IDE ( IDE është shkurtim i Integrated Drive Electronics dhe është tipi standart i diskut në proçesorët pentium dhe në disa lloje të tjerë proçesorësh). Përderisa ndërfaqja e paisjes fshihet pas kontrollerit, gjithçka që sheh sistemi i shfrytëzimit është ndërfaqja e kontrollerit e cila mund të jetë krejt ndryshe nga ndërfaqja e nga ndërfaqja e paisjes.
Duke qenë se secili tip i kontrollerit është i ndryshëm, software të ndryshëm nevojiten për të kontrolluar secilin nga këto tipe kontrollerash. Software-i që i ndërvepron me kontrollerin quhet një device driver. Secili kontroller mbështet një driver për çdo sistem shfrytëzimi që suporton, psh një scanner paiset me driverat e Windows 98, Windows 2000 dhe Unix .
Një driver, që të përdoret, duhet të vendoset në sistemin e shfrytëzimit dhe të ekzekutohet në kernel mode. Teorikisht një driver mund të ekzekutohet dhe jashtë kernel-it, por kjo kërkon mundësinë që një driver nga user mode të aksesojë një paisje në mënyrë të kontrolluar. Ekzistojnë tre mënyra që një driver mund të vendoset në kernel. Mënyra e parë është të rilidhet kernel me driver-in e ri dhe më pas të bëhet një boot-im të ri sistemit. Shumë sisteme në Unix funksionojnë në këtë mënyrë. Mënyra e dytë është të ndërhyhet në skedarët e sistemit të shfrytëzimit duke i treguar që ka nevojë për një driver të ri dhe më pas të bëjë një boot-im sistemit. Në momentin e boot-imit, sistemi i shfrytëzimit gjen driverin e kërkuar dhe e ngarkon atë. Në këtë mënyrë funksionon Windows. Mënyra e tretë është e tillë që sistemi i shfrytëzimit ndërkohë që është në ekzekutim është i aftë të pranojë driver-at e rinj dhe t’i instalojë ata pa pasë nevojë të bëjë një boot-im të ri. Kjo mënyrë po përhapet më shpejt. Paisje të tilla si Usb dhe paisjet IEEE 1394 ngarkohen në këtë mënyrë.

Çdo kontroller ka një sasi regjistrash që përdoren për të komunikuar me to. Për të aktivizuar një kontroller, driver-i merr një komandë nga sistemi i shfrytëzimit dhe e përkthen atë në vlera që do shkruhen në regjistrat e paisjeve.
Inputi dhe outputi mund të realizohen në tre mënyra të ndryshme. Në mënyrën më të thjeshtë, një program kryen një sistem call, të cilën kernel-i e përkthen në një thirrje proçedure për një driver të caktuar. Më pas driver-i nis proçesin e I/O dhe kryen një cikël që zgjat për aq kohë sa duhet të realizohet proçesi I/O. Kur ky proçes ka mbaruar, driver-i vendos të dhënat që duhet dhe sistemi i shfrytëzimit i kalon kontrollin programin që kreu këtë sistem call. Kjo mënyrë quhet dhe busy waiting dhe ka disavantazhin që bllokon CPU-në derisa të mbarojë punë paisja.
Metoda e dytë është e tillë që një driver nis punën e paisjes dhe kërkon për një interrupt kur paisja të mbarojë punën. Në këtë moment sistemi i shfrytëzimit bllokon programin dhe kryen ndonjë pune tjetër. Kur kontrolleri sheh që puna e paisjes ka kryer, atëherë ai jep një interrupt për të treguar realizimin e punës.

Sidita Duli

Share
Published by
Sidita Duli

Recent Posts

Studime për Inteligjencë Artificiale (AI) dhe Data Science: program studimi Bachelor

Vitet e fundit kanë nisur programe të reja studimi, Bachelor dhe Master, me fokus Inteligjencë…

3 muaj ago

Studime për Informatikë: lëndët dhe tregu i punës

Dega e studimit Informatike është aktualisht mjaft e kërkuar nga maturantët dhe nga tregu i…

5 muaj ago

Shkenca kompjuterike: profili dhe tregu i punes

Një nga programet e studimit më të kërkuara aktualisht janë Shkenca Kompjuterike. Po cili është…

5 muaj ago

Perdorimi i Notion ne vitin 2023

Këtë vit kam nisë të mbaj shënime dhe të organizoj projektet freelance me një aplikacion…

1 vit ago

Java dhe MySQL

Komponent kryesor i një aplikacioni në Java është lidhja dhe ndërveprimi me një bazë të…

1 vit ago

10 gjuhët e programimit për vitin 2023

Në këtë blog po përmbledh gjuhët e programimit më të preferuara, të cilat kryesojnë listën…

1 vit ago