Input-output (az angol input / output , I / O ) a számítástechnikában - az információfeldolgozó (például számítógép ) és a külvilág közötti interakció, amely lehet személy (alany) vagy bármilyen más információ feldolgozó rendszer. A bemenet a rendszer által vett jel vagy adat, a kimenet pedig az általa (vagy onnan) küldött jel vagy adat. A kifejezés egy adott művelet megjelöléseként (vagy a megjelölés kiegészítéseként) is használható: "I/O végrehajtása" azt jelenti, hogy bemeneti vagy kimeneti műveleteket hajtanak végre . Az I/O eszközöket egy személy (vagy más rendszer) használja a számítógéppel való interakcióhoz. Például a billentyűzetek és az egerek kifejezetten számítógépes beviteli eszközök, míg a monitorok és nyomtatók számítógépes kimeneti eszközök. A számítógépek közötti kommunikációt szolgáló eszközök, például a modemek és a hálózati kártyák általában egyidejűleg szolgálnak bemeneti és kimeneti eszközként.
Egy eszköz bemeneti vagy kimeneti eszközként való hozzárendelése a perspektívától függ. Az egerek és a billentyűzetek az emberi felhasználó által végrehajtott fizikai interakciókat veszik át (a felhasználóhoz viszonyítva ezek kimeneti műveletek), és azokat a számítógép által megérthető jelekké alakítják. Az ezekről az eszközökről származó információ kimenete a számítógépbe történő bemenet. Hasonlóképpen, a nyomtatók és a monitorok fogadják a számítógép által kiadott bemeneti jeleket. Ezután ezeket a jeleket olyan formává alakítják, amelyet egy személy láthat vagy olvashat. (A felhasználók számára az információ ilyen reprezentációinak olvasásának vagy megtekintésének folyamata az információ bevitele vagy fogadása.)
A számítógép-architektúrában a processzor és a fő memória kombinációja (azaz a memória, amelyből a processzor speciális utasítások segítségével közvetlenül tud olvasni és írni ) alkotja a számítógép "agyát", és ebből a szempontból minden cserét. információ ezzel a kombinációval, például a lemezmeghajtóval , bemenetet-kimenetet jelent. A processzor és a hozzá tartozó elektronikus áramkörök memória-leképezett I/O- t valósítanak meg, amelyet alacsony szintű programozásban használnak az eszközillesztők implementálásakor .
A magas szintű operációs rendszer és szoftver más, elvontabb I/O fogalmakat és primitíveket használ. Például a legtöbb operációs rendszer az alkalmazási programokat a koncepción keresztül valósítja meg . A C és C++ programozási nyelvek , valamint a Unix operációs rendszerek családja hagyományosan absztrakt fájlok és eszközök adatfolyamként, amelyekből kiolvasható, ráírható vagy mindkettő. A C szabványos könyvtár funkciókat valósít meg a bemeneti és kimeneti adatfolyamokkal való munkavégzéshez .
Az Algol-68 programozási nyelv kontextusában a bemeneti és kimeneti mechanizmusokat együttesen cserének nevezték . Az Algol-68 cserekönyvtár a következő szabványos fájlokat (eszközöket) ismerte fel: stand in, stand out, stand errorés stand back.
A speciális primitív függvények alternatívája az I/O monád , amely lehetővé teszi a programok számára, hogy egyszerűen leírják az I/O-t, és a műveletek kikerülnek a program hatóköréből. Ez igen figyelemreméltó, hiszen az I/O funkcióknak minden programozási nyelvben vannak mellékhatásai , de manapság a tisztán funkcionális programozás egyre népszerűbb.
Az I/O interfész minden egyes eszköz processzorvezérlését igényli. Az interfésznek megfelelő logikával kell rendelkeznie a processzor által generált eszközcím értelmezéséhez.
A kapcsolatfelvételt az interfésznek kell megvalósítania a megfelelő típusú (BUSY, READY, WAITING) parancsokkal, hogy a processzor az interfészen keresztül kommunikálhasson az I/O eszközzel.
Ha különböző adatformátumok átvitelére van szükség, akkor az interfésznek képesnek kell lennie a soros (rendezett) adatok párhuzamos formára konvertálására és fordítva.
Lehetővé kell tenni a megszakítások és a megfelelő típusú számok előállítását a processzor általi további feldolgozáshoz (ha szükséges).
A memória-leképezett I/O- t használó számítógépek úgy érik el a hardvert, hogy bizonyos memóriahelyeket olvasnak és írnak rájuk ugyanazon összeállítási nyelvi utasítások használatával, amelyeket a számítógép általában a memória elérésekor használ.
Az adatok a memóriából való kiolvasásának vagy tárolásának többféle módja van. Mindegyik módszer egy címzési mód, és megvannak a maga előnyei és korlátai.
A címzési módok számos típusra oszthatók, mint például a közvetlen címzés, a közvetett (közvetett) címzés, az azonnali címzés, az indexcímzés, az alapcímzés, az alapindex címzés, az implikált címzés stb.
Ennél a típusnál maga az adatcím az utasítás része. Amikor a processzor dekódol egy utasítást, megkapja annak a memóriahelynek a címét, ahonnan a szükséges információ kiolvasható (ahova írható).
Mov Reg. [Addr]
Ebben az esetben az Addr operandus az adatokat tartalmazó memóriaterületre mutat, és bemásolja azokat a megadott Reg regiszterbe.
Ebben az esetben a cím egy nyilvántartásban tárolható. Az utasítások hozzáférnek a címet tartalmazó nyilvántartáshoz. Vagyis az adatok fogadásához az utasításnak dekódolnia kell a megfelelő regiszter adatait. A regiszter tartalma címként kerül feldolgozásra, melynek segítségével az információ beolvasásra/írásra kerül a megfelelő memóriaterületre.
Az I/O a portokhoz (memória) történő hozzárendeléssel (bemeneti információ) általában kifejezetten az I/O műveletek végrehajtására tervezett utasítások használatát igényli.
Az operációs rendszerek szempontjai | |||||
---|---|---|---|---|---|
| |||||
Típusok |
| ||||
Sejtmag |
| ||||
Folyamatmenedzsment _ |
| ||||
Memóriakezelés és címzés | |||||
Betöltési és inicializálási eszközök | |||||
Héj | |||||
Egyéb | |||||
Kategória Wikimedia Commons Wikikönyvek Wikiszótár |