A számítástechnika őskora az az időszak volt, amikor még nem voltak valódi számítógépek. Ókorról akkortól kezdve beszélek, amikor a valódi számítógépek megjelenhettek: a két korszak között pedig a Neumann-elv jelenti a határkövet.
Neumann János Egyesült Államokban élő magyar matematikus (az angol nyelvű szakirodalomban John von Neumann, mert apját nemesi rangra emelték, amikor ő tízéves volt) 1945. június 30-án publikált egy rövidke, befejezetlen tanulmányt Az EDVAC-jelentés első vázlata címmel. Ezen a matematikai szaknyelven írt művecskén alapszik a számítástechnika tudománya – ámbár a legtöbb számítástechnikus soha nem olvasta, még csak nem is hallott róla.
A Neumann-elv vagy Neumann-architektúra szerint felépülő számítógép négyféle részből áll: beviteli és kiviteli egységből, memóriából és központi egységből. A beviteli egység arra szolgál, hogy az adatok bejussanak a memóriába; a kiviteli egység arra, hogy kijussanak onnan. A memória tárolja az adatokat és a programokat, a központi egység pedig végrehajtja. Ez az elv nemsokára hatvanöt éves lesz, de mindmáig ezen alapul a számítástechnika és az összes számítógép, a digitális órától a legnagyobb szerverig.
Az ókor első számítógépe mégsem egészen a Neumann-elv szerint épült fel, az ugyanis bináris gépekről beszél, az első gép pedig még decimális volt. Ráadásul nem tárolt programot. Háromévi munka után 1946-ban jelentették be elkészültét, a neve ENIAC, és az amerikai hadsereg megbízásából a pennsylvaniai egyetem építette; később a marylandi Ballisztikai Kutatólaboratóriumban helyezték üzembe, ahol 1955-ig folyamatosan dolgozott. Tüzérségi ballisztikai számításokra szánták, de a hidrogénbombával kapcsolatos képletekkel próbálták ki.
Nagyon büszkék voltak az új „elektronikus agyra”. Ezerszer gyorsabban számolt, mint bármilyen elektromechanikus szerkezet. Legismertebb fotója itt látható, persze csak a gép egy részét ábrázolja, hiszen az egész monstrum nem fért egyszerre a kamera elé. Huszonhét tonnát nyomott és akkora helyet foglalt el, mint egy közepes méretű lakás: 63 négyzetmétert. De a negyvenes években senkit se lepett meg, hogy egy számítógépnek nemcsak a képességei hatalmasak, hanem a méretei is. Később a képességek mintha zsugorodtak volna, de a méretek maradtak.
Még adok egy linket, ahol „élőben” meg lehet nézni az ENIAC működését, egy csinos kis szimulációban, ahol az ember csak kiválasztja a futtatandó programot, a beépített kezelőszemélyzet bedrótozza azt a java-ENIAC-ba, és máris villoghatnak a lámpácskák. És nem kell benne vákuumcsövet cserélni. Az igazi ENIAC-ban átlag kétnaponta kiégett egy vákuumcső, és akkor az egész gép leállt, de negyedóra alatt megtalálták a hibásat és kicserélték. Ügyes szakemberek voltak, mert a gép több mint tizenhétezer vákuumcsövet tartalmazott.
Az első Neumann-elvű, bináris számítógép az EDVAC, amelynek tervezésekor Neumann János megírta azt a bizonyos füzetkét. A gép ugyanabban a marylandi laboratóriumban üzemelt, ahol az ENIAC, 1946-tól 1961-ig. Ennek már a memóriaméretét is meg tudom mondani: mai mértékegységgel 5,5 kilobyte volt. Már csak egy kisebb lakás alapterületét foglalta el (45 és fél négyzetmétert), és kevesebb mint nyolc tonnát nyomott. Harminc ember kellett a kezeléséhez. A felépítése, akárcsak az ENIAC-é, félmillió dollárt emésztett fel.
Ez a remek fotó az UNIVAC–I gép modelljéről készült, és remek áttekintést ad a múlt század közepének számítógépeiről. Balra fent látható a központi komplexum, amely 430-szor 240 centis alapterületű és 260 centi magas volt; ez tartalmazta a processzort és a memóriát. A modellt a Smithsonian intézet készítette, a számítógépet pedig 1951-ben az ENIAC tervezői alkották; ez volt az első kereskedelemben kapható számítógép. Számos példányt eladtak belőle; konkrétan meg tudom mondani, milyen számos példányt. Negyvenhatot, mindet amerikai kormányhivataloknak és nagyvállalatoknak; közembernek nem volt rá se pénze, se üzemeltetési költségvetése, se szüksége. A gép ára 159 ezer dollárról másfél millióra emelkedett. Központi memóriája 12 kilobyte-ra rúgott. Ennek is van szimulátora, de ez nem weben fut, hanem letölthető shareware.
Csakis az ókorban épülhetett meg minden idők legnagyobb számítógépe, az AN/FSQ–7. Ötvenötezer vákuumcső, kétezer négyzetméter alapterület, 275 tonna összsúly. Az IBM és az amerikai légierő ötvenkettőt épített belőle az ötvenes években, a bombázógépek földi támogatását végző informatikai rendszer számára. A képen persze csak a gép egy kis része látható. A szekrény végében van a telefon, amivel segítséget lehetett hívni, ha a gép elromlott. Minden szekrény végében volt egy.
Az utolsó vákuumcsöves gépek egyike az 1961-ben készült ANITA Mk VII-es és VIII-as volt (utóbbi képe látható itt), amik igazán nem voltak nagyok. Elfértek az asztalon. Viszont nem is voltak programozhatóak, nem tudtak többet a négy alapműveletnél, és egy meghökkentő külsejű billentyűzeten lehetett beírni a számokat. Ez is óriási előrelépés persze az előző évtizedekhez képest.
1955-től a vákuumcső helyét átveszi a már 1947-ben feltalált tranzisztor. A gépek gyorsabbak és okosabbak lettek, de kisebbek még nemigen. Az utolsó tranzisztoros gépek egyike, az 1968-as évjáratú PDP–10-es képe mutatja, hogy szebbek viszont igenis lettek. Ilyen ízléses szekrényekbe költöztek; a képen persze csak egy részlet látható, a processzor és hat memóriamodul.
Aztán jött az integrált áramkör és vele a következő korszak, de ne szaladjunk ennyire előre. Nézzük meg, hogyan használták ezeket a gépeket.
Az egyik fontos probléma az idő volt. Az óriási gépek működtetése rengeteg pénzbe került, az áram is, a kezelőszemélyzet fizetése is, meg hát a termeket fűteni és világítani kellett. Eleinte arra is rengeteg idő ment el, hogy a programot „betáplálják” (valaha ez volt a világ legismertebb számítástechnikai szakkifejezése, ami néha ma is felbukkan, pedig a számítástechnikusok régesrég nem használják). Az operátor kapcsolókat nyomkodott és csatlakozókat dugdosott, és a program hipp-hopp, benne volt a gépben – néhány órába telt csupán. De ez nem volt nagy baj, mert utána úgyis hetekig tartott lefuttatni.
Aztán a gépek gyorsabbak lettek, az operátorok viszont nem, hiszen ők továbbra is emberek voltak. Meg kellett oldani, hogy a programok gyorsabban bekerüljenek a gépbe. Bevezették a kötegelt feldolgozást. A programozó megírta és „meglyukasztotta” a programot, aztán egy köteg lyukkártyával vagy egy tekercs lyukszalaggal besétált az operátorokhoz, akik átvették és besorolták fontosság szerint. Hogy egy-egy program fontossága mitől függött, azt bizonyára sokféle szempont határozta meg – napokba telhetett, míg egy program sorra került. Amikor egy programfuttatás véget ért, az operátor betette a következőt a kártya- vagy szalagolvasóba, és máris lehetett beolvasni és futtatni. Amikor lefutott, az eredményt az operátor átadta a programozónak, aki hazavitte, áttanulmányozta, megtalálta a hibát, kijavította, újralyukasztotta…
A programozó ekkoriban nem is látta a számítógépet. A következő időszakban sem, amikor már közvetlenebb kapcsolatban állt vele. Ez az időosztásos rendszerek kora, ami a hatvanas évek elején jött el. A programokat ekkor már nem az operátor, hanem maga a programozó etette meg a számítógéppel – de nem közvetlenül. A programozó egy elektromos írógép előtt ült, amit teletype-nak hívtak, ezen írta le a programot.
Ilyen volt egy teletype. Képernyőről persze szó se lehetett, a teletype mindent leírt a papírra, mielőtt továbbította volna a számítógépnek, és a számítógép is a papíron válaszolt. Jó sok papírt fogyasztottak, főleg mert sok ilyen teletype volt, mindegyik előtt ült egy felhasználó és egyszerre kommunikáltak a számítógéppel. Ez az időosztásos rendszer: a gép idejét felosztották a sok felhasználó között, ami gazdaságosabb volt, mint ha a gép egyetlen felhasználóval foglalkozik, akire az idő túlnyomó részében csak várnia kell.
Az első időosztásos rendszer, ami kereskedelmi sikert is aratott, a DTSS névre hallgatott, és a New Hampshire-i Dartmouth College-ban helyezték üzembe 1964-ben, egy General Electric gyártmányú számítógépen. Ennek a rendszernek különleges jelentősége van: itt született a következő évek nagy hatású – és a középkor legjelentősebb – programnyelve, a BASIC. Erről a programnyelvről néhány évvel ezelőtt írtam egy könyvet, s úgy gondolom, most jött el az ideje, hogy a blogban folytatásokban közzétegyem. Történeti ismertetésünk tehát itt kettéágazik, az általános számítástechnika-történeti és a BASIC-történeti részre.
Ekkoriban a számítógépek persze nemcsak lyukkártyán és -szalagon tárolták az adatokat, hanem a legmodernebb technikát, a mágneslemezt is alkalmazták. A képen két IBM 350-es típusú merevlemez, magyar nevén wincsi látható, alig 152-szer 74 centis, 172 centi magas szekrényke, ekkoriban ugyanis szigorú szabály volt az IBM-nél, hogy minden terméküknek be kell férnie egy közönséges ajtón. A berendezés kis méretéhez nagy tárolókapacitás tartozott: mai mértékre átszámítva közel 4 és fél megabyte.
A számítástechnika ókorának végét a mikroszámítógépek megjelenése jelenti. Az első mikroszámítógép 1973-ban látott napvilágot, vagyis az évezredeken át tartó őskort mindössze huszonnyolc évig tartó ókor követte. Persze a nagy kutatóintézeti számítógépek még sok évig üzemben maradtak, de a történelem kerekét már a kicsi gépek forgatták tovább.