Input-output (fra det engelske input/output , I/O ) i datalogi - interaktionen mellem en informationsprocessor (for eksempel en computer ) og omverdenen, som enten kan være en person (fag) eller enhver anden information behandlingssystem. Input er signalet eller data modtaget af systemet, og output er signalet eller dataene sendt af (eller fra) det. Udtrykket kan også bruges som en betegnelse (eller tilføjelse til betegnelse) for en specifik handling: "udfør I/O" betyder at udføre input- eller outputoperationer . I/O-enheder bruges af en person (eller et andet system) til at interagere med en computer. For eksempel tastaturerog mus er specialdesignede computerinputenheder, mens skærme og printere er computeroutputenheder. Enheder til kommunikation mellem computere, såsom modemer og netværkskort , fungerer normalt som input- og outputenheder på samme tid.
Tildeling af en enhed som input- eller outputenhed afhænger af perspektivet. Mus og tastaturer tager fysiske interaktioner udført af en menneskelig bruger (i forhold til brugeren vil disse være outputhandlinger) og omdanner dem til signaler, som computeren kan forstå. Outputtet af information fra disse enheder er dets input til computeren. På samme måde modtager printere og skærme inputsignaler, som en computer udsender. Så konverterer de disse signaler til en form, som en person kan se eller læse. (For brugere er processen med at læse eller se sådanne repræsentationer af information input eller modtagelse af information.)
I computerarkitektur udgør kombinationen af en processor og hovedhukommelse (det vil sige hukommelse, hvorfra processoren kan læse og skrive direkte til den ved hjælp af særlige instruktioner ) computerens "hjerne", og fra dette synspunkt kan enhver udveksling af information med denne kombination, for eksempel med diskdrev , indebærer input-output. Processoren og dens medfølgende elektroniske kredsløb implementerer hukommelseskortlagt I/O , der bruges i lavniveauprogrammering ved implementering af enhedsdrivere .
Operativsystemet og softwaren på højt niveau bruger andre, mere abstrakte I/O-koncepter og primitiver. For eksempel implementerer de fleste operativsystemer applikationsprogrammer gennem konceptet . Programmeringssprogene C og C++ såvel som Unix -familien af operativsystemer abstraherer traditionelt filer og enheder som datastrømme, der kan læses fra, skrives til eller begge dele. C-standardbiblioteket implementerer funktioner til at arbejde med strømme til input og output.
I forbindelse med programmeringssproget Algol-68 blev input- og outputmekanismerne samlet omtalt som udveksling . Algol-68-udvekslingsbiblioteket genkendte følgende standardfiler (enheder): stand in, stand out, stand errorog stand back.
Et alternativ til specielle primitive funktioner er I/O- monaden , som tillader programmer blot at beskrive I/O, og handlingerne tages uden for programmets omfang. Dette er ret bemærkelsesværdigt, da I/O-funktioner har bivirkninger i ethvert programmeringssprog, men rent funktionel programmering har vundet popularitet i disse dage.
I/O-grænsefladen kræver processorstyring af hver enhed. Interfacet skal have den passende logik til at fortolke enhedsadressen genereret af processoren.
Kontaktetablering skal implementeres af grænsefladen ved hjælp af de relevante kommandoer af typen (OPTAGET, KLAR, VENTER), så processoren kan kommunikere med I/O-enheden gennem grænsefladen.
Hvis der er behov for at overføre forskellige dataformater, så skal interfacet være i stand til at konvertere serielle (ordrede) data til parallel form og omvendt.
Det skal være muligt at generere interrupts og tilsvarende typer af numre til videre behandling af processoren (hvis nødvendigt).
En computer, der bruger hukommelseskortlagt I/O, får adgang til hardware ved at læse og skrive til bestemte hukommelsesplaceringer ved at bruge de samme assemblersprog-instruktioner, som en computer normalt ville bruge, når den tilgår hukommelse.
Der er flere måder, hvorpå data kan læses fra eller placeres i hukommelsen. Hver metode er en adresseringstilstand og har sine egne fordele og begrænsninger.
Adresseringstilstande er opdelt i mange typer, såsom direkte adressering, indirekte (indirekte) adressering, øjeblikkelig adressering, indeksadressering, basisadressering, basisindeksadressering, underforstået adressering osv.
I denne type er selve dataadressen en del af instruktionen. Når processoren afkoder en instruktion, modtager den adressen på en hukommelsesplacering, hvorfra den nødvendige information kan læses (hvor den kan skrives).
Mov Reg. [Addr]
I dette tilfælde peger Addr - operanden på et hukommelsesområde, der indeholder dataene og kopierer dem til det specificerede Reg-register.
I dette tilfælde kan adressen gemmes i et register. Instruktionerne vil få adgang til registret, der indeholder adressen. Det vil sige, at for at modtage data skal instruktionen afkode dataene i det tilsvarende register. Indholdet af registret vil blive behandlet som en adresse, ved hjælp af hvilken information vil blive læst / skrevet fra / til det tilsvarende hukommelsesområde.
I/O med allokering (inputinformation) til porte (hukommelse) kræver normalt brug af instruktioner, der er specielt designet til at udføre I/O-operationer.
af operativsystemer | Aspekter|||||
---|---|---|---|---|---|
| |||||
Typer |
| ||||
Nucleus |
| ||||
Procesledelse _ |
| ||||
Hukommelseshåndtering og adressering | |||||
Indlæsnings- og initialiseringsværktøjer | |||||
skal | |||||
Andet | |||||
Kategori Wikimedia Commons Wikibooks Wiktionary |