Terminal

Fra DDHFwiki
Spring til navigation Spring til søgning
TeleVideo 920C - ASCII terminal fra 1980

En terminal er den fysiske enhed, der etablerer grænsefladen mellem menneske og maskine. Et stort EDB system kan have flere tusinde terminaler tilknyttet. Arbejdsstationer og andre personlige computere har også skærm og tastatur, men de anses ikke for at være terminaler, da det ikke er deres primære funktion. De kan dog bruges som terminaler ved hjælp af terminalemuleringssoftware.

De tidligste computere var håndlavede og terminalen var typisk en modificeret elektrisk skrivemaskine eller en TELEX sender/modtager. Senere, i slutningen af tresserne, kom der generelle teletypeprintere, såsom Teletype Model 33, som blev meget populære. Spillene i bogen BASIC Computer Games, som køberen selv skulle taste ind var skrevet til teletypeprintere. Dette var normalen op til midten af halvfjerdserne. Derefter blev skærmterminaler billigere og overtog markedet fuldstændigt. Resten af artiklen omhandler kun skærmterminaler.

En terminal kan være i "block mode" eller "echo mode".

I det sidste tilfælde, når man trykker på en tast, så bliver tegnet sendt med det samme til værts-computeren, som sender tegnet tilbage for at blive vist på skærmen. Denne type fik øgenavnet en "dum" terminal da den ikke lavede nogen lokal behandling af brugerens indtastning men lod værts-computeren gøre alt arbejdet. I block mode bliver alle indtastede tegn opsamlet i terminalens hukommelse, og først når en "Send" knap bliver tastet, bliver hele pakken sendt til værts-computeren. Fordelen er at det giver bedre svartider når forbindelsen er langsom og man kan øge udnyttelsesgraden af systemet. Metoden bruges til udfyldning af formularer på skærm. Værts-computeren sender ledetekster og kontrolkoder der fortæller skærmen hvor indtastningsfelterne er. Brugeren kan hoppe mellem felterne med cursor og tabulator-tasterne, men kan ikke ændre på andet.

De tidligste skærmterminaler er fra slutningen af tresserne, men blev ikke solgt i større mængder. Eksempler er IBM 2260 fra 1964 og Datapoint 3300 fra 1969. De første der skabte et gennembrud var IBM 3270 og Lear Siegler ADM-3 terminaler. Disse blev hurtigt efterfulgt af tilsvarende produkter fra andre leverandører.

IBM 3270

IBM 3270 terminalen blev udviklet i 1971 i forbindelse med IBM's nye System/360 produktserie. Den og senere modeller blev fra 70erne og frem en de facto standard for mainframe terminaler. 3270eren er kendt for udelukkende at være en block-mode terminal. Det giver som nævnt en højere udnyttelsesgrad, men visse ting er svære at udføre. Et eksempel er tekstbehandling. Man kan ikke bare scrolle op og ned i dokumentet en linje ad gangen, men må sende en kommando for at få programmet til at skifte til en ny side. Terminalen brugte EBCDIC tegnsættet.

ASCII terminaler

Den første billige ASCII terminal var ADM-3 fremstillet af Lear-Siegler i 1975. Den havde kun store bogstaver, hvilket var normalt i forhold til teletypeprintere, men var væsentlig hurtigere til samme pris og skulle ikke fodres med papir. Den blev omgående en succes. Det er ukendt om der fandtes en udgave med danske tegn. ADM-3 var designet til at være en direkte erstatning for en teletype og kunne kun udføre de samme operationer - f.eks. lade markøren skifte linje. Hvad der på en printer ville være et sideskift blev en kommando til at blanke skærmen. Det var ikke set som en mangel. Der var ikke noget software der kunne udnytte en mulighed for at flytte markøren rundt på skærmen. I 1976 udkom ADM-3A med kontrol-sekvenser til at sætte markøren på en specifik lokation på skærmen.

ANSI standarden og VT100

Efterhånden som flere firmaer sendte nye terminaler på markedet opstod der et problem. De tidligste produkter havde meget begrænset funktionalitet. F.eks. var der ingen mulighed for svag skrift. Fabrikanterne innoverede, og lagde flere funktioner ind til lavere pris end konkurrenterne. Det førte til at tegn-sekvenserne for at aktivere funktionen var anderledes end sekvensen for den samme funktion på en anden terminal. Producenterne forsøgte i stor udstrækning at være kompatible med populære tidligere generationer terminaler, men der opstod en diversitet, som betød at softwareudviklerne måtte gøre det muligt for kunderne at konfigurere programmellet til den terminal de havde valgt at bruge. $TERM variablen i UNIX og Linux er et ekko fra den tid.

I forlængelse af deres arbejde med at standardisere nationale varianter af ASCII tegnsæt, etablerede European Computer Manufacturers Association (ECMA) en komité for at specificere yderligere kontrolsekvenser i samarbejde med ANSI. Målet var i høj grad at standardisere sekvenser for det eksisterende, og sørge for at der var plads til fremtidig funktionalitet. Den første udgave af ECMA-48 blev publiceret i 1976. En næsten identisk standard blev udgivet af ANSI i 1979. I de følgende år blev betegnelsen 'ANSI-kompatibel' måden at markedsføre overholdelsen af denne internationale standard.

Den første populære terminal, der understøttede den nye standard, var VT100 fra Digital Equipment Corporation (DEC). VT100 var en implementering af en del af ECMA-48/ANSI X3.64 standarden. Konkurrenterne gjorde det hurtigt muligt at skifte til VT100 tilstand, der havde minimum samme sæt af funktioner som VT100. Hvis programmerne kun brugte de samme funktioner i den "profil" som VT100 blev, så var der garanti for at terminalen kunne vise det. Det blev derfor normalt at sætte $TERM variablen på UNIX til "vt100", selvom terminalen muligvis kunne meget mere.

Terminal servere

En terminal er normalt forbundet med computeren over en seriel forbindelse baseret på RS-232 standarden. I starten gik kablet direkte mellem terminalerne og computeren, og der var et tilsvarende antal stik i computeren. Da der kom lokalnet, blev det almindeligt at installere terminalservere. Disse var en node på netværket, og havde et antal serielle stik. Terminalen var forbundet til terminalserveren således at når man startede en session, så fik man en menu over de computere man kunne forbinde sig til. Man valgte en, og fra terminalserveren til den valgt computer foregik forbindelsen over lokalnettet med TELNET eller DECnet LAT.

Terminalemulering på Windows 98

Emulering

Da billige modemmer kom på markedet begyndte der et udvikle sig et marked for Bulletin Board Systems. Private satte et modem på deres hjemmecomputer og brugte et terminalemuleringsprogram til at koble op.

På arbejdspladserne brugte man PCens serielle port eller satte et netværkskort i. Derfra kørte man software, som kunne emulere en ASCII eller IBM 3270 terminal.

Andre terminaltyper

Tektronix 4010

Firmaet Tektronix fremstillede en terminalserie til at vise vektorgrafik. Normalt fremstilles skærmbilledet ved at elektronstrålen svinger sidelæns én linje ad gangen mens strålen tændes og slukkes for a få ét punkt til at lyse op på skærmen. Strålen rammer en belægning, som langsomt afgiver lys længe nok til at strålen kommer forbi igen. Man får terminalen til at vise noget ved at sende et tegn til terminalen og det vil blive lagt ind i terminalens hukommelse på det sted hvor markøren er. Terminalen tegner derefter billedet fra indholdet i hukommelsen. I Tektronixs 4010-serie, sender programmøren en sekvens af kontrol-koder, som beskriver hvor en streg starter og hvor den ender på en 1024x768 matrice. Terminalen tegner derefter stregen direkte istedet for at tegne vandrette linjer. Terminalen har endnu en elektronkanon, som bare sender en svag stråle til hele skærmen. Styrken er lige kraftig nok til at genopfriske belægningen således at linjer forbliver tegnet op og mørke områder forbliver mørke. Terminalen skulle dermed ikke holde styr på hvilke streger der var tegnet. Bogstaver blev også lavet som vektorgrafik og kunne tegnes i flere størrelser. Der var dog én væsentlig ulempe. Terminalen kunne ikke scrolle teksten, og man kunne ikke fjerne et bogstav med backspace tasten. Man kunne kun blanke hele skærmen. Det blev gjort ved at stoppe elektronkanonen længe nok til at der ikke var nogen belægning tilbage der lyste op.

X Terminal

Massachusetts Institute of Technology (MIT) udviklede et grafisk brugerinterface (GUI) kaldet X til universitets egne UNIX arbejdsstationer i 1984. Hvor GUIen for det meste er en del af operativsystemet eller skriver direkte til grafikkortets hukommelse, valgte MIT en mere indirekte løsning. De designede det som en klient-server arkitektur. Serveren er et program der kører på brugerens arbejdsstation, og de grafiske programmer er klienter der kommunikerer med serveren via X Window protokollen. Klienterne kunne derved køre på en server i maskinstuen og vise skærmbilledet på brugerens arbejdsstation.

I det tidlige 90ere var der flere firmaer, som introducerede X terminaler. Disse havde X serveren i ROM, og kunne ikke bruges til andet end at være terminaler. De var til gengæld væsentligt billigere end arbejdsstationer.

Moderne brug

I dag, hvor alle personlige computere har grafiske brugergrænseflader, er terminalen blevet en program man kan starte. Programmets hovedvindue emulerer en tekst-baseret skærm og starter typisk en kommandofortolker, som giver mulighed for at bruge værktøjer på computeren, som der ikke er grafiske programmer for. Det primære eksempel er nok X Windows xterm. Microsoft Windows har haft et console program fra starten, men formålet var oprindeligt at gøre det muligt at køre MS-DOS programmer, som ikke var skrevet om til Windows. I 2019, i forbindelse med lanceringen a PowerShell, implementerede Microsoft en terminal applikation i Windows 10. Den har den samme funktionalitet som man kan finde i xterm og dens efterfølgere. Ikke-grafiske brugergrænseflader har stadigvæk sin berettigelse.

Galleri