Lyukkártya

A Wikipédiából, a szabad enciklopédiából
A Jaquard-féle szövőszék lyukkártyái

A lyukkártya vagy Hollerith-kártya olyan adathordozó, elsődlegesen adatbeviteli eszköz, ahol a digitális információt a keménypapírból készült kártyán adott pozícióban meglevő lyukakkal ábrázolják.

Története[szerkesztés | forrásszöveg szerkesztése]

Lyukkártyákat és ehhez hasonló rendszereket már a 18. század közepén használtak az automatizálás és az adatfeldolgozás területén. Többnyire az ismétlődő folyamatok vezérlése volt a céljuk. Léteztek többek között lyukkártya-vezérlésű szövőszékek, ahol a lyukkártyát falapocskák jelentették. A verkliket gyakran lyukkártyához hasonló adattárolók vezérelték, de más automatikus vagy félig automatikus zeneszerszámoknál is megjelent ez a megoldás. Charles Babbage lyukkártya-vezérlést tervezett az analitikai géphez.

Könyvtári lyukkártya

A lyukkártyák eredete a zenélő dobozok működési módjáig vezethető vissza. Ezeknél és hasonló automatáknál egy forgó henger a rajta levő lyukakkal vezérelte a zeneszámok lejátszását vagy mechanikai folyamatok vezérlését.

A lyukkártyán való adattárolás alapja az, hogy az adott automata működéséhez szükséges adatokat megfelelő formában kódolják. Egy vékony kartonra lyukakat készítenek, amelyeknek a helyét a mindenkori kódtáblázat határozza meg. A funkció végrehajtásához az adathordozón levő lyukakat egy olvasóegység beolvassa és egy megfelelő berendezéssel dekódolja. A parancsok bevitele történhet mechanikus, pneumatikus, optikai vagy elektomechanikai úton.

Az 1990-es évekig léteztek olyan lyukkártyák, amelyeket kézzel lehetett feldolgozni. A könyvtárakban például olyan kártyákat használtak, amelyeknek a négy oldalán voltak a lyukak. Egy hosszú tűt behelyezve a keresési feltételnek megfelelő lyukba ki lehetett választani azokat a katalóguscédulákat, amelyek megfeleltek a keresési kritériumnak. Összetett kereséseket is végre lehetett hajtani több tű segítségével.

Hollerith-kártya[szerkesztés | forrásszöveg szerkesztése]

COBOL-program egyik utasítását tartalmazó lyukkártya

Az utóbb a számítástechnika területén felhasznált lyukkártya-formátum története az 1890-es amerikai népszámláláskor kezdődött.[1] Ekkor fejlesztett ki Herman Hollerith egy olyan eljárást, amely lyukkártyák segítségével végezte a kiértékelést. A berendezés segítségével Dr. Herman Hollerith alig négy hét alatt végzett a 11. amerikai népszámlálás adatainak rögzítésével és kiértékelésével. A gépeket kb. 40 munkatárs működtette.

Ezt követően a lyukkártyát mechanikus és elektromechanikus számoló- illetve lyukkártya-rendező gépeknél alkalmazták. 1928-ig kellett arra várni azonban, hogy a lyukkártya végleges, szabványos formátumot kapjon. Ezt a fajta lyukkártyát nevezik a feltalálója nyomán Hollerith-kártyának.

A Hollerith-kártya téglalap alakú, 18,7 cm × 8,3 cm nagyságú, 0,17 mm vastagságú kartonpapír, amelyre az előre megadott helyekre oszloponként lyukakat szúrtak, hogy egy sor karaktert kódoljanak.

A 20. századi számítógépek kifejlesztésekor a már létező lyukkártyák kézenfekvő megoldást jelentettek a programok és adatok beviteléhez. Konrad Zuse első számítógépe, a Zuse Z1 lyukszalagra írt kóddal működött, később azonban a számítógépekhez majdnem kizárólag Hollerith-kártyát használtak.

A Hollerith-kártyák eredetileg 240 pozíciót tartalmaztak, amelyet hamarosan 45 oszlop és 12 sorra terjesztettek ki. Ez 45 darab 12 bites karakternek felelt meg. (Később a 6 bites kódolás 90 karakter tárolását tette lehetővé.) Az IBM 1928-ban szabadalmaztatott egy 80 oszlopos formátumot, amely széles körben elterjedt. Eredetileg oszloponként csak egy lyukat lehetett szúrni a számoknak, később ehhez jött egy második lyuk a nagybetűkhöz illetve egy harmadik a különleges jelekhez. Az EBCDIC-kód használatával 1964-től kezdve hat lyuk/oszlopig lehetett elmenni. Egy lyukkártya egy sornyi szövegnek felelt meg és a kártya egy oszlopa egy karaktert ábrázolt, tehát a lyukkártya kapacitása 80 byte volt. Ez azt jelenti, hogy egy manapság használatos 80 gigabájtos merevlemez egymilliárd lyukkártyának felel meg; ha ennyi kártyát egymásra raknánk, a magasságuk 170 km lenne.

A lyukak előre rögzített elhelyezkedése több programozási nyelv szintaxisára is hatással volt. A régi Fortran-verzióknál az első öt oszlopot egy numerikus címkének tartották fenn. A lyukkártyák szemrevételezésével így könnyen észre lehetett venni, ha egy címke azaz egy kártya rossz helyre került. A hatodik oszlopban egy jel, általában egy * vagy egy nagy C (=continue) azt jelölte, hogy a kártya az előzőnek a folytatása. Az utolsó nyolc oszlop (73-tól 80-ig) a kommentároknak volt fenntartva. A Fortran-programokhoz gyártott lyukkártyákon ezeket a mezőket vizuálisan is megjelölték.

Működése[szerkesztés | forrásszöveg szerkesztése]

IBM kártyalyukasztó

A lyukkártyák írására vagyis lyukasztására külön gép, a kártyalyukasztó szolgált, de készítettek kézi lyukasztásra szolgáló egyszerű kártyalyukasztókat is. A kártyalyukasztó írógép-billentyűzetből, lyukasztórészből és egy programkártyából állt. Miután a kártyalyukasztóval rávitték a kódot a kártyákra, a kártyákat egy második gépen ellenőrizték. A második gépen újra bevitték az adatokat és ha a második bevitel egyezett a kártyán már meglevő lyukasztásokkal, akkor a gép ellenőrzöttként jelölte meg a kártyát. A programkártya a munka megkönnyítésére szolgált. Ennek segítségével például numerikus vagy alfanumerikus mezőket lehetett definiálni a kártyán és ezekhez a mezőkhöz közvetlenül lehetett ugrani. Volt egy másolóbillentyű is, amelynek segítségével egy kártyát a megadott oszlopig lehetett másolni. A programkártya megkönnyítette a tömeges adatbevitelt azzal, hogy bizonyos oszlopokat automatikusan átugrott, vagyis elég volt csak a tiszta adatokat begépelni, nem volt szükség vezérlőbillentyűk használatára. Az újabb készülékek arra is alkalmasak voltak, hogy a lyukkártya adattartalmát szövegesen is megjelenítsék a kártyán.

Lyukkártyarendező gép (szorter)

A kártyák beolvasása optikai vagy mechanikus olvasóberendezésekkel történt. A lyukkártyaköteget behelyezték az olvasórekeszbe és egy súllyal lenyomtatták. Egy gombbal bekapcsolták az olvasóberendezést, ezután a gép levegő befújásával fellazította a köteget és egyesével beolvasta a kártyákat. Maga a beolvasás vagy mechanikus letapogatással vagy fotocellákkal történt.

Ebben az időben a programok nem interaktív módon működtek; a programot elindították, beolvasta az adatokat, feldolgozta őket és kiadta az eredményeket. Ehhez a működési módhoz három kártyakötegre volt szükség: az egyik a programot, a másik a bemenő adatokat tartalmazta, és a harmadikra kerültek a kimenő adatok. Nagytömegű bemenő adat feldolgozásakor a kártyarögzítés után néha hatalmas mennyiségű lyukkártyát kellett a megfelelő sorrendbe rendezni. Erre használták a szortergépeket, magyar elnevezéssel a lyukkártyarendező gépeket. A harmadik köteg használata elég kivételes volt, mivel az eredményeket legtöbbször elegendő volt papírra nyomtatni.

Utóélet[szerkesztés | forrásszöveg szerkesztése]

IBM 3700 (System/3) lyukkártya

Az 1960-as évektől kezdődően az interaktív adatbeviteli lehetőségek fokozatos elterjedésével a lyukkártya fokozatosan vesztett számítástechnikai jelentőségéből. Az 1960-as évek végén az IBM még tervezte kisebb méretű és nagyobb kapacitású kártyák bevezetését, de erre már nem került sor. A lyukkártyákat azonban továbbra is alkalmazták más területeken, például mosógépek programjainak tárolására, illetve beléptető kártyaként. Ezekben az esetekben azonban a kártya nem kartonpapírból, hanem vékony műanyaglapból készült. A chipkártyák elterjedése azonban ennek a felhasználási módnak is véget vetett.

Hollerith-kártyákat néhány mechanikus blokkolóóránál még használnak. Használatban maradtak az amerikai választási eljárásokban is, de az eljárás megbízhatóságát George W. Bush elnökké választásakor súlyos kritikák érték.[2]

Kapcsolódó szócikkek[szerkesztés | forrásszöveg szerkesztése]

Batch programozás

Jegyzetek[szerkesztés | forrásszöveg szerkesztése]

További információk[szerkesztés | forrásszöveg szerkesztése]

Commons
A Wikimédia Commons tartalmaz Lyukkártya témájú médiaállományokat.