Enhedsuafhængighed - Device independence
Enhedsuafhængighed er processen med at gøre et softwareprogram i stand til at fungere på en lang række enheder uanset den lokale hardware, som softwaren bruges til.
Indhold
Mainframes og minicomputers
Sprog på højt niveau, både dem med og uden en eksplicit OPEN-kommando, til at åbne en fil, havde ofte evnen til abstrakt at henvise til en datafil:
- LÆS (11,21, END = 9900) NAVN
21 FORMAT (A20)
- i FORTRAN siges at bruge "enhed" 11 - uden at navngive filen.
- LÆS TILPASNING, TIL SLUTT GÅ TIL FÆRDIG FOR NU.
- i COBOL opnår noget lignende.
Desktop computing
I de tidlige dage af computerdesign og -udvikling indtil omkring 1980 blev software typisk specifikt skrevet til at fungere på den specifikke hardware, hvor softwaren blev brugt. Softwaren var tæt knyttet til hardwaren og kunne ikke fungere uafhængigt af den. Da computere blev billigere, generaliserede personlige computere , blev konceptet med perifere enheder introduceret, hvor basishardwaren kunne have en række forskellige tilbehørsenheder fra forskellige producenter.
Til at begynde med krævede software, der skulle bruge denne tilbehørshardware, specielt designet til at understøtte den. I MS-DOS-tiden måtte spilprogrammører typisk skrive brugerdefineret styresoftware til hver type lydkort eller videokort, der muligvis er installeret på brugerens computer. Behovet for at yde brugerdefineret support til så mange enheder brugte en betydelig mængde tid til softwareudvikling.
Til sidst blev hardwareabstraktionslag (HAL) såsom DirectX udviklet, som adskiller applikationssoftware fra den underliggende hardware. Applikationssoftwaren behøver ikke at vide noget om den hardware, som den skulle bruges til. I stedet opdager den maskinvarens egenskaber gennem det standardiserede abstraktionslag og bruger derefter abstrakte kommandoer til at kontrollere hardwaren. Det er op til HAL at kunne oversætte disse kommandoer til det specifikke format, der kræves for hver enhed, ved hjælp af enhedsdrivere, der typisk leveres af hardwareproducenten.
Virtualisering og emulering
Da computerkraften er fortsat med at stige, er der tilstrækkelig behandlingskapacitet til rådighed til, at hele hardwareenheder kan simuleres i software. Dette har medført udviklingen af hypervisor og enheds virtualisering og emulering , hvilket giver mulighed for, at software, der er skrevet til en bestemt type hardware, kan genbruges på helt anden hardware, eller tilsyneladende uafhængige operativsystemer, der kan laves til at dele en enkelt enhed.
Brug af internettet
Internettet tilgængeligt med enhver enhed under alle omstændigheder og af alle mennesker. Den World Wide Web Consortium (W3C) har indledt Device Uafhængighed arbejdsgruppe, som har til formål at forene internettet , hvilket gør det tilgængeligt fra mange typer af Internet apparater . Dets mission er at undgå opdeling af internettet i rum, som kun undergrupper af enheder kan få adgang til.
En nøglepublikation af arbejdsgruppen for enhedsuafhængighed er henstillingen Composite Capability / Preference Profiles .
WURFL, den trådløse universelle ressourcefil , er et open source-produkt, der adresserer enhedsregistrering og muligheden for at betjene flere brugeroplevelser til forskellige klasser af browsere og enheder, baseret på funktionerne i den anmodende HTTP-klient.