A számítógép felépítése és működése
A számítógép alapvető működését tekintve adatfeldolgozó gép. Ez magában foglalja az adatok beolvasását a külvilágból, amivel számításokat végez és tárol, a számítások eredményeit pedig megjeleníti (valamilyen formában) a külvilág számára.
Számítógép
Adatbevitel
Megjelenítés
adatfeldolgozás (számítás), adattárolás beviteli eszközök: billentyűzet, egér, mikrofon, joystick, szkenner, kamera, fényképezőgép stb.
feldolgozás (számítások az adatokkal), adattárolás (memória és háttértárak)
megjelenítőeszközök: kivetítő, hangfal, monitor, nyomtató, fax stb.
1. ábra: A számítógép, mint adatfeldolgozó gép
A továbbiakban részletesebben megvizsgáljuk a következőket: Elméleti alapozás: néhány szó oldal1 a kettes (és 16os) számrendszerről és az A/D átalakításról; adattárolási módok: memóriafajták; háttértárolók (mágneses és optikai); adatbeviteli eszközök: billentyűzet, egér, szkenner, mikrofon; megjelenítőeszközök: képmegjelenítés (videokártya, monitor), nyomtatás. (Az adatok feldolgozásáról nem esik szó, mert az túl nagy témakör lenne…)
1. Elméleti alapok 1.1. A kettes számrendszerről Számlálás közben mi tízesével csoportosítunk (valószínűleg azért, mert 10 ujjunk van). Ezt a szám írásunk is követi. A helyiértékek: egy, tíz, száz (10x10=102), ezer (103), tízezer (104), … De nem volt ez mindig így: Mezopotámia, sumérok: a 6, 12, 60 számoknak kitüntetett szerepe volt. Innen származik az időmérés: 1 óra az 60 perc, egy nappal pedig 12 óra (és az éjjel is 12 óra). 12 hónap egy év. Matematika, szögmérés: 1 fok= 60 perc Angol (és még néhány más) nyelvben a 11 és 12 számoknak külön nevük van. Köznyelvben a múlt századokban a tucat szó (12t jelent) elterjedt volt.2 Római számok írása: 5ös csoport is kitüntetett. Latin, olasz, francia: A számnevekben 20as csoportosítást fedezhetünk fel.
1 2
Bocs, kicsit hosszabb lett, mert célszerű átismételni az ált. iskola 3.-os tananyagot. Valószínűleg azért, mert a gyakorlatban könnyebb vele dolgozni. Például amikor a piacon néhány ember osztozkodik: egy tucat tojást lehet két-, három-, négy- és hatfelé is osztani. (A tíz csak kettő és öt felé osztható.)
2004.07.07.; v0.9.2; © BMRG
1
Számítógépgenerációk:
Relés számítógépek (elektromechanikus elv) Elektroncső (elektromos elv) Tranzisztor (elektromos elv) A relé, elektroncső, a tranzisztor3 a számítógépekben kétféle állapotban tud működni, egy kapcsolóhoz hasonlóan: bekapcsolt/kikapcsolt; vezet/nem vezet; vagy van feszültség/nincs feszültség. (A mágnes lemez is kétféle állapottal (északdél vagy délészak) működik.) Mi 10es számrendszert használunk, mert ez nekünk „testhezálló” (az ujjaink száma miatt4), de a számítógépeknek ez nem kényelmes, nekik a kétféle állapot esik jól. Tehát kétféle jellel is mindent le kell tudni írni. Tízes számrendszerben 10 féle jelünk van (a számjegyek), tízesével csoportosítunk. Kettes számrendszerről beszélünk, ha két jelet fogunk használni, azaz kettesével csoportosítunk. Ekkor 2es, 4es, 8as, 16os, … csoportokat képezünk, ezek lesznek a helyiértékek:
2. ábra: Csoportosítás 2es számrendszerben
1 darab 8as csoport 0 darab 4es csoport 1 darab 2es csoport 1 darab 1es
Helyiértékek: 8 4 2 1 A szám leírva: 1 0 1 1
Jelölés: Ha nem egyértelmű, hogy a „1011” szám az tízes számrendszerben értelmezett szám vagy pedig kettes számrendszerbeli szám (mint a példában), akkor a szám után szoktuk írni a számrend szert: 1011D az 10es (decimális) számrendszert jelöl, a 1011B pedig kettes (bináris) számot.
AZ INFORMÁCIÓ MÉRTÉKEGYSÉGE a bit, azaz egy darab kettes számrendszerbeli számjegy (binary digit). A kettes számrendszer terjengős: a példában szereplő „tizenegyes” számot kettes számrendszerben egy 4 számjegyű számmal tudunk leírni (10es számrendszerben pedig kétjegyű szám is bőven elég). Ezért a számítógépek alapegységének a 8 bitből álló bináris számot választották, ennek a neve BYTE (magyarul leírva: BÁJT)5. Ez azt jelenti, hogy a számítógép általában 8 bittel (vagy ennek többszö rösével) végez műveletet egyszerre. Kettes számrendszerben
Hasonló gondolat 10es számrendszerben
A számok 01 közti számjegyekből állnak. A helyi A számok 09 számjegyekből állnak. A helyi értékek (jobbról balra haladva): értékek (jobbról balra haladva): 20= 1; 21= 2; 22= 4;
23= 8; 24= 16; 25= 32;
26= 64; 27=128; 28 = 256;
29 = 512; 210=1024; …
100=1; 101=10; 102=100;
103=1000; 104=10 000; 105=100 000; …
Egy szám így nézhet ki: 11101 Ennek az értéke (jobbról balra olvasva): 1*1 + 0*2 + 1*4 + 1*8 + 1*16 = 29
Egy szám így nézhet ki: 10591 Ennek értéke (jobbról balra olvasva): 1*1 + 9*10 + 5*100 + 0*1000 +1*10000 = 10 591
A legnagyobb 4 jegyű szám: 1*1 + 1*2 + 1*4 + 1*8 = 15, ami nem más, mint 241. tehát négyjegyű számokkal 24=16 féle számot tudunk leírni 0tól 15ig
A legnagyobb 4 jegyű szám: 9*1 + 9*10 + 9*100 + 9*1000 = 9999, ami nem más, mint 1041. Tehát négyjegyű számokkal 104 = 10000 féle számot lehet leírni 0tól 9999ig.
3 4 5
És a tranzisztorokból álló integrált áramkörök is. Általános iskola 2. osztályban sokan az ujjaikon számolnak. Mi a továbbiakban az angol írásmódot használjuk. (Fizikában sem magyarítjuk a Newton mértékegységet „Nyúton”-ra.)
2004.07.07.; v0.9.2; © BMRG
2
Kettes számrendszerben
Hasonló gondolat 10es számrendszerben
8 jegyű számokkal: 28=256 féle számot tudunk 8 jegyű számokkal 108=100 000 000 féle számot leírni 0tól 281ig (azaz 255ig) (255 = 11111111B) tudunk leírni 0tól 1081ig (azaz 99 999 999ig). A hosszú számokat (a könnyebb olvashatóság A hosszú számokat (a könnyebb olvashatóság kedvéért) 4es csoportokban szoktuk leírni: kedvéért) 3es csoportokban szoktuk leírni: 1010 0110 0101 193 326 042 A „kilo” prefixum értéke (informatikában) 1024
A „kilo” prefixum értéke 1000
A számok után írt nulla 2vel való szorzást jelent, A számok után írt nulla 10zel való szorzást jelent, mert ezzel a „kettedesvesszőt” mozgatjuk.6 mert a tizedesvesszőt mozgatjuk.
Prefixumok (kilo, mega, giga) a számítástechnikában Prefixum=előtag. Prefixumok jelentése: 1000 méter= 1 kilométer 1000 gramm = 1kilogramm A „kilo” jelentése tehát 1000.
1 méter= 1000 milliméter 1 kilométer = 1000 méter = 1 000 000 milliméter A „milli” jelentése ezred.
A függvénytáblázatokban megtalálhatóak a prefixumok (1015től 1018ig). Néhány példa: kilo = 1000 Mega = 1000 kilo = 1 000 000 Giga = 1000 Mega = 1 000 000 kilo = 1 000 000 000 Tera = 1000 Giga = 1 000 000 Mega = 109 kilo = 1012 Informatikában a kettes számrendszert használjuk, amiben nem az 1000, hanem az 1024 a kerek szám. (1024 = 210) Mivel ez a két szám közel egyenlő, ezért informatikában a kilo 1024et jelent: 1024 byte = 1 kilobyte (rövidítve: 1024 B = 1 kB) Nagyobb számokkal: 1 MB = 1024 kB = 1024*1024 B (kB = kilobyte , MB = Megabyte, GB = Gigabyte) 1 GB = 1024 MB = 1024*1024 kB = 1024*1024*1024 B = 1 073 741 824 B Ezért van az, hogy akinek hivatalosan 64 MB memóriája van, annak a számítógépe nem 64 000, hanem 65 536 KBot számol össze bekapcsoláskor. Ez az oka, hogy egy 60 GBos merevlemeznek valójában 56 GBnál is kevesebb a kapacitása. (A „boltosok” és a gyártók 1000rel számolnak 1024 helyett, mert így nagyobb számot írhatnak rá, hogy jobban el tudják adni.)
Átváltás 10es és 2es számrendszer között
BINÁRISBÓL DECIMÁLISBA: 27 26 25 24 23 22 21 20
01101100B = 0·27 + 1·26 + 1·25 + 0·24 +1·23 + 1·22 0·21 +0·20 = 26 + 25 + 23 + 22 = 64+32+8+4 = 108D DECIMÁLISBÓL BINÁRISBA: 122D = 0*128 + 1*64 + 1*32 + 1*16 + 1*8 + 0*4 + 1*2 + 0*1 = 01111010B A módszer lényege, hogy megmondjuk, hogy hány 1es, 2es, 4es, …, 128as, … bináris számjegy kell ahhoz, hogy kijöjjön a 122 decimális szám. Ez egy kicsit nehéz, mert sokat kell kivonni és számolni hozzá. ÁTVÁLTÁS DECIMÁLISBÓL (PROFI MÓDON) BINÁRISBA: Hogy megértsük, először vegyünk egy egyszerű feladatot: váltsuk át a 2836 decimális (10es számrendszerű) számot 10es számrendszerbe! Ez azt jelenti (azon felül, hogy semmit sem kell csinálni), hogy mondjuk meg, hány 1es, 10es, 100as, … kell hozzá. Ez nem nehéz, ránézésre ki tudjuk olvasni. De ha az a feladat, hogy ne ránézzünk, hanem számítsuk ki, hogy melyik helyiértékből mennyi van, akkor így számolnánk:
6
Mert egy ahogy 10-es számrendszerben egy helyiértékkel léptetés 10-es szorzót jelent (pl. 102 helyett 103), úgy kettes kettes számrendszerben ez 2-es szorzót jelent (pl. 22 helyett 23).
2004.07.07.; v0.9.2; © BMRG
3
Maradék A 2836ot elosztjuk 10zel, a maradékot (egyesek száma) a vonaltól jobbra, az egészrészt (ahányszor megvan) alá írjuk: Tovább osztunk, hogy megkapjuk a 10esek számát: Majd a 100sok számát: Az ezreseket: Tízezres már nincs, mert elértük a 0t:
2836 6 283 3 28 8 2 2 0
A maradékokat kiolvasva: kell 6 darab egyes, 3 darab 10es, 8 darab 100as, 2 darab ezres. A számot pedig lentről fölfelé lehet kiolvasni: 2836 Most váltsuk át a 122 decimális számot kettes számrendszerbe: Elosztjuk 2vel, hogy megkapjuk a egyesek számát (leírjuk alá), a maradékot (egyesek száma) pedig a vonaltól jobbra: Majd ismét elosztjuk, hogy megkapjuk a 2esek számát: Majd ismét elosztjuk, hogy megkapjuk 4esek számát: Majd a 8asok számát: Majd a 32esek számát: ...
122 0 61 30 15 7 3 1
1 0 1 1 1 1
Lentről fölfelé kiolvasva: 1111010, hasonlóan előző feladathoz. Még elé szoktunk írni 0ákat, hogy kiegészítsük 8 számjegy hosszúra:7 0111 1010
Összeadás, kivonás természetes számokkal Kettes számrendszerben
Hasonló gondolat 10es számrendszerben
1+1 = 10
9 + 1 = 10
111 + 1 = 1000
999 + 1 = 1000
1111 0100 + 0110 0101 10101 1001
99910900 + 01100101 101011001
Magyarázat: kettes számrendszerben az „1” a legnagyobb számjegy, ha ezt megnöveljük, akkor az értéke 0 lesz, és keletkezik egy átvitel.
Magyarázat: tízes számrendszerben a „9” a legnagyobb számjegy. Ha ezt eggyel megnöveljük, akkor az értéke 0 lesz, és keletkezik egy átvitel.8
Az összeadás művelete a fenti példán: (jobbról balra) 0+1 az egy, leírjuk az 1et, nincs átvitel. 0+0 az nulla, leírjuk a 0t, nincs átvitel. 1+1=10B,9 leírjuk a 0t, marad az 1. 0+0=0, plusz az átvitel az 1, leírjuk az 1et. 1+0=1, leírjuk az 1et, nincs átvitel. 1+1=10, leírjuk a 0t, maradt az 1. 1+1=10, + átvitel, az 11, leírjuk az 1et, marad 1. 1+0=1, + átvitel az 10, leírjuk a 0t, marad 1. semmi (azaz 0) + átvitel az 1, leírjuk. Ugyanez 10es számrendszerben: 11110100B = 244D + 01100101B = +101D 101011001B = 345D
Az összeadás művelete a fenti példán: (jobbról balra) 0+1 az egy, leírjuk az 1et, nincs átvitel. 0+0 az nulla, leírjuk a 0t, nincs átvitel. 9+1=10, leírjuk a 0t, marad az 1. 0+0=0, plusz az átvitel az 1, leírjuk az 1et. 1+0=1, leírjuk az 1et, nincs átvitel. 9+1=10, leírjuk a 0t, maradt az 1. 9+1=10, plusz az átvitel, az 11, leírjuk az 1et, marad 1. 9+0=9, plusz átvitel, az 10, leírjuk a 0t, marad 1. semmi (azaz 0) + átvitel az 1, leírjuk.
7 8 9
Mert a byte-ban mindig 8 bit van, mint ahogy a vízórában is mindig 5 számjegy van, legfeljebb az eleje 0-ákból áll. A példában azért szerepel 9-es és 1-es is, mert kettes számrendszerben az „1” egyben a legnagyobb számjegy is, tehát kicsit a 10-es rendszerbeli 9-eshez is hasonló (ha hozzáadunk 1-et, 10-et kapunk). Természetesen 1+1=2, de a 2 kettes számrendszerben leírva 2D=10B
2004.07.07.; v0.9.2; © BMRG
4
Kettes számrendszerben
Kivonás: 1110 1011 – 0111 0110 0111 0101
Hasonló gondolat 10es számrendszerben
Kivonás: 19931031 – 09940930 09990101
Magyarázat: A kivonás hasonló, mint 10es szám Ha kisebb számból kell kivonni a nagyobbat: rendszerben. Ha nagyobb számot kell kivonni a például 0ból a 9et, akkor nem 0ból, hanem 10 kisebből (azaz 0ból 1et), akkor keletkezik egy ből vonjuk ki a 0t, és lesz egy átvitel (kölcsön). átvitel, és 10B = 2Dból vonunk ki 1et. (101 = 1)
Negatív számok Előfordul, hogy egy kisebb számból kell kivonni a nagyobb számot. Ekkor az eredmény egy negatív szám. Matematikában ilyenkor a szám elé írunk egy előjelet. De a számítógép csak 0t és 1et tud kényelmesen ábrázolni (vezet/nem vezet, bekapcsol/kikapcsol), a „–” jelet már nem tudja. Egyik megoldás: a szám előjelét is egy bittel jelezzük. Például: ha ez a bit 0, akkor a szám pozitív, ha 1, akkor negatív:
Előjelbit Egy byteon (8 biten) 0255 között tudunk egy természetes számot ábrázolni. Ha viszont negatív számokat is szeretnénk tárolni, akkor megtehetjük azt10, hogy a bal szélső bit ne a szám része legyen, hanem a szám előjele. Így a szám tárolására a többi 7 bit marad, tehát az egy byteban tárolt számok +127 és –127 között vehetnek fel értékeket. (0111 1111B = +127D, 1111 1111B = –127D) A bal szélső bit (7. bit) pedig az előjelet jelenti. 0000 0011 értéke +3 1000 0011 értéke –3 A MEGOLDÁS JELLEMZŐI: Ez jó és egyszerű dolog, mert ahogy papíron csak egy „–” jelet kell a 3as elé írni, úgy itt is csak a 7. bitet kell 1be állítani. Van viszont két hátránya: egyrészt kétféle nulla van (+0 és –0)11. Másrészt a műveleteket többféle képpen kell elvégezni aszerint, hogy két pozitív, két negatív, vagy egy pozitív és egy negatív számot kell összeadni (vagy kivonni).
Egyes komplemens: Ez a negatív számoknak egy olyan ábrázolási módja, ahol nem az előjelbitet állítjuk, hanem az összes bitet az ellenkezőjére fordítjuk: 0000 0011 értéke +3 1111 1100 értéke –3 A komplemens szó jelentése: kiegészítés, pótlék, teljes mennyiség. Egy szám, és a komplemense mindig 1111 1111ra egészíti ki egymást.12. A megoldás jellemzői: Hasonló, mint az előjelbites módszer. (Az, hogy összes bitet kell ellenkezőjére billenteni, technikailag szinte mindegy.) Jellemzői: A (bal szélső) 7. bitből ugyanúgy leolvasható, hogy a szám negatív vagy pozitív. Ugyanaz a két hátránya is: két nulla, és különböző műveletek a különböző előjelű számok esetén.
Kettes komplemens Ennek a megoldásnak („kódolásnak”) előnye, hogy kiküszöböli az előző megoldások két hátrányát. A lényege az, hogy a negatív számokat úgy ábrázolja, mint ahogy a kilométerszámláló vagy a gázóra: ha a gázórát elkezdenénk visszafelé tekerni (visszafelé folyik a gáz), akkor a számok csökkennek rajta, majd elérik a 0t, majd körbefordul, és 9999ről számlál tovább visszafelé. Tehát a csupa 9es, az olyan, mint a –1, a 9998 pedig, mint a –2. (Ha (9998ról) előre tekerünk 3at, akkor a körbefordulás miatt 0001et kapunk: (–2)+3=+1. Hasonló módon történik ez a byteon belül is: a byte olyan, mint egy 2es számrendszerben működő 8 számjegy hosszú gázóra. A csupa 1es (1111 1111) jelenti a –1et, az 1111 1110 a –2t, és így tovább. A pozitív és negatív számok határa 1000 0000nél van. Ez a legkisebb negatív szám, a –128. A 10 Legalábbis ha mi készítjük a számítógépet. Mert akkor azt teszünk, amit akarunk. 11 A +0 értéke előjelbites szám esetén: 0000 0000; a –0 jele pedig: 1000 0000. 12 Azt nem tudom megmondani, hogy ez miért jó, de biztosan van valami oka. 2004.07.07.; v0.9.2; © BMRG
5
legnagyobb pozitív szám pedig a 0111 1111, Előjel Bináris 2.es Gáz Előjele vagyis a +127. nélk.* számérték k.** óra sen*** A KETTES KOMPLEMENS KÓDOLÁS JELLEMZŐI: 0 0000 0000 0 5000 5000 Előnyei: Csak 1 darab nulla érték van (nincs 1 0000 0001 1 5001 4999 külön +0 és –0 szám); 2 0000 0010 2 5002 4998 Egyszerűen végezhetőek az alapműveletek: 3 0000 0011 3 … … csak egyféle összeadás (és kivonás) van. 4 0000 0100 4 9996 4 Hátránya: kicsit bonyolultabb a pozitív számból a … … … 9997 3 negatívat képezni: 126 0111 1110 126 9998 2 127 0111 1111 127 9999 1 ÖSSZEADÁS kettes komplemens negatív szám 128 1000 0000 128 0000 0 mal: 129 1000 0001 127 0001 1 –2 1111 1110 –2 1111 1110 130 1000 0010 126 0002 2 + +4 + 0000 0100 + –3 1111 1101 … … … 0003 3 2 0000 0010 –5 (1) 1111 1011 252 1111 1100 4 0004 4 253 1111 1101 3 … … Az első összeadást pont úgy végeztük, mintha két pozitív számot adnánk össze, és jó a végeredmény. (Ez az igazi előnye a 2es 254 1111 1110 2 4998 4998 komplemens kódolásnak.). A második összeadásban van egy 255 1111 1111 1 4999 4999 13 átvitel, amit elhagyunk, mert a 8 bit végére értünk . (Ez olyan, mint amikor az autó kilóméterórája körbefordul 100 ezer kilométer után.)
* A bináris szám előjel nélküli számként értelmezve ** A bináris szám kettes komplemens (előjeles) számként értelmezve. ***
1. táblázat: Előjel nélküli és kettes komplemens számok
ÁTVÁLTÁSI SZABÁLY (odavissza):
Minden bitet az ellenkezőjére váltunk14, majd a számhoz hozzáadunk 1et. 0000 0001 komplemense: 1111 1110. Ehhez 1et hozzáadva: 1111 1111et kapunk. Visszaváltás ugyanígy történik: 1111 1111 minden bitjét az ellenkezőjére váltjuk: 0000 0000. Majd 1et hozzáadva: 0000 0001. (Visszakaptuk az kiindulási számot, az 1et.) Másfajta átváltási szabály: Jobbról balra haladva leírjuk a számjegyeket, addig, ameddig elérünk az első 1esig. Még ezt az egyest is leírjuk, de az utána levő biteket az ellenkezőjére fordítjuk Mindkét átváltási szabály jól működik! Sőt, a nulla ellentettje nulla marad. Az egyetlen kivétel a –128, amelynek nem lehet így ellentett értéket számítani, mivel 1 byteon előjelesen csak +127ig tudunk ábrázolni. Ilyenkor nem fér el a szám egy byteon15 (azaz túlcsordul), ezért több bitet kell felhasználnunk, például 9 (vagy 16) bit hosszú számokkal kell számolni. (Ez éppen olyan, mintha a gázórán nem 4, hanem 8 számjegy lenne.)16 –128 = 1111 1111 1000 0000 +128 = 1111 1111 0000 0000
Tört számok Ahogy 10es (decimális) számrendszerben le lehet írni azt, hogy 3½= 3,5, úgy kettes számrendszer eben is le lehet írni hasonlót.
13 14 15 16
De ha 8-nál több bitből álló számról lenne szó, akkor ez az átvitel végigfutna a többin is. Azaz 1-es komplemenst képezünk. Ahogy a 99+99 sem fér el két számjegyen, és ezért veszünk egy harmadik számjegyet is. Ekkor visszafelé tekeréskor a 0 alatti szám (a –1) nem 9999, hanem 99999999 lenne.
2004.07.07.; v0.9.2; © BMRG
6
Kettes számrendszerben
Hasonló gondolat a 10es számrendszerben
A kettedesponttól balra haladva találjuk: egyesek, kettesek, négyesek, 8asok, … helyiértékeit. A kettedesponttól jobbra haladva találjuk: felesek, negyedesek, 8adosok, 16odosok, … Azaz egy szám (1101,110B) így néz ki: … 23 22 21 2 0 21 22 23 … 1 1 0 1 , 1 1 0 1101,101B = 23 + 22 + 20 + 21 + 23 = 8 + 4 + 1+ ½ + ¼ =13,75
A tizedesponttól balra haladva találjuk: 1esek, 10esek, százasok, … helyiértékeit. A tizedesponttól jobbra haladva találjuk: tizedesek, 100adosok, 1000redesek, … Azaz egy szám (3431,123) így néz ki: … 103 102 101 100 101 102 103 … 3 4 3 1 , 1 2 3
Például dönthetünk úgy is, hogy egy byteban mindig fixen középen van a kettedespont. Ekkor a bal oldali 4 biten 0000tól 1111ig ábrázolhatjuk az egészeket, a jobb oldali 4 biten pedig a törtrészt: 0000tól 1111ig (azaz 0 tizenhatodtól 15 tizenhatodig). Így egy byteon 0tól 15 15 tudunk ábrázolni 16 tört számokat is 4 „kettedesjegy” pontossággal. Ezt a fajta számábrázolást (ahol megmondjuk, hogy fixen az nedik helyen van a tizedesvessző) fixpontos számábrázolásnak hívjuk. (Az egész számok olyan fixpontos számok, ahol a szám végén van a tizedesvessző (vagy tizedespont))
Lebegőpontos számok Nagy számokat normál alakban szoktunk ábrázolni: például 1 mol ≈ 6,02252⋅1023 atom (nem írjuk ki a sok 0t17). A lebegőpontos szám két részből áll: az 1 és 10 közötti számot (6,02252t) mantisszának hívják, az 10 hatványkitevőjét pedig karakterisztikának18. Ez a szám azt jelenti, hogy a 6,02252ben a tizedesvesszőt mozgassuk 23 helyiértékkel jobbra, hogy megkapjuk a számot. Ugyanez működik 2es számrendszerben is, csak a szám valahogy így néz ki: 1,10110⋅2110 . Tehát ez azt jelenti, hogy az 1,10110 számban a kettedesvesszőt mozgassuk el jobbra 6 értékkel (mivel 110B=6D ). Természetesen mind a mantissza, mind a karakterisztika lehet pozitív is és negatív is.19 A lebegőpontos számokat (a kellő pontosság miatt) nem 8, hanem 32 vagy 64 biten szokták ábrázolni. Azt, hogy ebből hány bit a karakterisztika, és hány bit a mantissza, az IEEE 7541985 szabvány határozza meg. Egy jó összefoglaló található (angol nyelven) például a http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html weboldalon. „Egyszeres pontosságú” számok: 32 biten tároljuk: 31. bit: mantissza előjele; 30.23. bitek: karakterisztika; 22.0. bitek: mantissza Az ilyen számoknál a mantissza kb. 6 számjegy pontosságú, és a karakterisztikával 1038 nagyságrendű számokat lehet leírni. „Dupla pontosságú” számok: 64 biten tároljuk: 63. bit: mantissza előjele; 62.52. bitek: karakterisztika; 51.0. bitek: mantissza Az ilyen számoknál mantisszája 1415 számjegy pontosságú, és a karakterisztikával 10308 nagyságrendű számokat lehet leírni.
A világon 10 féle ember létezik: aki érti a kettes számrendaszert és aki nem.
1.2. A tizenhatos (hexadecimális) és nyolcas (oktális) számrendszer Hogy az informatikusoknak ne kelljen olyan hosszú bináris számokat írni, ezért a 16os számrendszert is használják. A számok leírásához kettes számrendszerben 2, tízes számrendszerben 10, tizenhatos számrendszerben 16 különböző számjegy kell (azaz csak kellene, mert csak 10 számjegyünk van). Mivel nem akartak hat új jelet bevezetni az új számjegyeknek, ezért az angol ABC első hat betűjét használták fel erre a célra. A=10, B=11, C=12, D=13, E=14, F=15. Ha a számítógéppel kapcsolatban ilyen számokat látunk, hogy 2F8 vagy 7D5, akkor „az valószínűleg nem sült bolondság, hanem tizenhatos számrendszer béli szám”20.
17 De én most megteszem: 602 252 000 000 000 000 000 000. 18 Az angol szakkifejezés a karakterisztika szóra: exponent. 19 A negatív mantissza-értéket általában előjelbites módszerrel ábrázolják, a karakterisztikát pedig eltolt nullaponttal. Ez olyan, hogy például azt mondjuk, hogy az 50 legyen a nulla. Ekkor az 51 a +1, 52 a +2, … és a 49 a –1, 48 a –2, … 20 Kezdő UHU-Linux Felhasználók Kódexe, 40. oldal 2004.07.07.; v0.9.2; © BMRG
7
Néha jelölni kell, hogy a „34” az 10es vagy 16os szám rendszerbeli szám. Ezért gyakran így írják: 0x34 vagy 34h esetleg $34. Az egész 16os számrendszernek az a nagy előnye, hogy minden négyjegyű kettes számrendszerbeli számot egy darab egyjegyű számmal le tudunk írni. Ráadásul nagyon könnyű átváltani a két számrendszer között oda vissza: Egy byte az pont egy kétjegyű hexadecimális számmal ábrázolható, így a jobb oldali 4 és a jobb oldali 4 bináris számjegy is egyegy hexa számjegyet jelent. A helyiértékek: 1es, 16os, 16*16os, 16*16*16os, … Mennyit ér 10es számrendszerben a 7D4?
AZ
OKTÁLIS SZÁMOK pedig 07 közti számjegyekből állnak.
Az oktális és a bináris számok is könnyen válthatóak át egymásba: egy oktális számjegy pont 3 biten ábrázol hatóak. A 3. táblázat megadja a különféle számrendszerek egyes helyiértékeinek 10es rendszerbeli értékét, így segítséget nyújthat az átváltáshoz. Tört számok esetén is segíthet, mert bár a tizedes (vagy kettedes) vesszőtől jobbra levő értékeket nem tünteti fel a táblázat, könnyen kiszámolható az 1/x képlettel (ahol x a megfelelő helyiérték a táblázatból).21
10es
2es
16os
10es
2es
16os
0
0
0
16
1 0000
10
1
1
1
17
1 0001
11
2
10
2
18
1 0010
12
3
11
3
19
1 0011
13
4
100
4
20
1 0100
14
5
101
5
21
1 0101
15
6
110
6
22
1 0110
16
7
111
7
23
1 0111
17
8
1000
8
24
1 1000
18
9
1001
9
25
1 1001
19
10
1010
A
26
1 1010
1A
11
1011
B
27
1 1011
1B
12
1100
C
28
1 1100
1C
13
1101
D
29
1 1101
1D
14
1110
E
30
1 1110
1E
15
1111
F
31
1 1111
1F
2. táblázat: Átváltás 2es és 16os számrendszer között
Számjegy
Helyiérték
Helyiértékek a különféle számrendszerekben
1 2 3 4
0 1 2 3
100 = 1 101 = 10 102 = 100 103 = 1000
20 = 1 21 = 2 22 = 4 23 = 8
80 = 1 81 = 8 82 = 64 83 = 512
160 = 1 161 = 16 162 = 256 163 = 4096
5 6 7 8
4 5 6 7
104 = 10000 105 = 100000 106 = 1000000 107 = 10000000
24 = 16 25 = 32 26 = 64 27 = 128
84 = 4096 85 = 32768 86 = 262144 87 = 2097152
164 = 65536 165 = 1048576 166 = 16777216 167 = 268435456
9 10 11 12
8 9 10 11
108 = 100000000 109 = 1000000000 1010 = … 1011 = …
28 = 256 29 = 512 210 = 1024 211 = 2048
88 = 16777216 89 = 134217728 810 = 1073741824 811 = 8589934592
168 = 4294967296 169 = 68719476736 1610 = … 1611 = …
10es számr. (decimális)
2es számr. (bináris)
8as számr. (oktális)
16os számr. (hexadecimális)
Az első oszlop a számjegyek helye a számban, jobbról balra számolva. (Például az „508”-as számból a „8”-as az első számjegy (egyesek), és az „5”-ös a harmadik számjegy (aminek helyiértéke 10-es rendszerben 100-as, 8-as rendszerben 64-es, 16-os rendszerben pedig 256-os))
3. táblázat: A helyiértékek 10es, 2es, 8as és 16os számrendszerekben
1.3. BCD számok Ez a Binary Coded Decimal (azaz Binárisan Kódolt Decimális) számokat jelöli. Az ilyen szám nem egy 8 bites szám, hanem két darab 4 bites szám, melyek a 09 értékeket vehet fel. Tehát a számjegyeket tároljuk. Mivel nem egy szám, hanem két független számjegy, ezért az alapműveleteket nem a „hagyományos” módon kell elvégezni. Például a 17es szám BCDben így néz ki: 0001 0111 (az első 4 bit értéke 1, a második 4 bité 7). 21 Például a második tizedesjegyhez kinézzük a 102 = 100-at ,tehát értéke 1/100 lesz. Ugyanez 16-os számrendszerben: kinézzük a 162 = 256-ot ,tehát értéke 1/256 lesz. 2004.07.07.; v0.9.2; © BMRG
8
1.4. Az A/D és D/A átalakítás A külvilág jelei mások, mint amit a számítógép belsőleg értelmezni tud. Ezért a bemenő jeleket át kell alakítani olyan formára, amit a számítógép belsőleg megért. A számítógépből kijövő jeleket pedig vissza kell alakítani olyan formába, amit mi értelmezni tudunk. A természetben úgynevezett analóg jelek vannak. Például úgy hallunk, hogy a fülünk (vagy egy mikrofon) érzékeli a levegő nyomásának a változását.22 Ha felrajzolnánk a levegő nyomását, akkor például ilyen ábrát kapnánk (bal oldali ábra): nyomás (Pascal)
A/D
D/A
1 0
idő [másodperc]
idő [másodperc]
A számítógép viszont csak digitális jeleket, azaz nullák és egyek sorozatát értik meg (jobb oldali ábra). Hogy a számítógép érzékelhesse a külvilág jeleit, a két fajta jel között átalakításra van szükség. E célt szolgálják az analóg→digitális átalakítók (röviden: A/D vagy ADC). A számítógépből kijövő (digitális) jelet pedig vissza kell alakítani analóggá. E célra a digitális→analóg átalakító (röviden: D/A vagy DAC) való. Digitális jeleket nem csak a számítógépek használnak. Az üvegszálas telefonkábelekben is digitális jelek áramlanak. A kábel egyik végén (lézerrel) „bevillogtatnak”, amit a másik végén érzékel egy vevő eszköz. (Ez digitális jel, mert csak két állapota van: világit/nem világít.) Sőt, bizonyos szempontból a Morse jel is nevezhető digitálisnak. ÁTALAKÍTÁS MŰKÖDÉSE: Első lépés: A fenti grafikonra mmpapírt illesztünk, és például 5mm enként leolvassuk a magasságot. (Ha ez nem egész értékre jön ki akkor kerekítünk a legközelebbire). Ezt a lépést mintavételezésnek hívják. Ezután (második lépés) a kapott számértéket átalakítjuk bináris számmá, és a számsorozatot (01100010110) átadjuk a számítógépnek.23 AZ A/D ÁTALAKÍTÁS MŰKÖDÉSE: A binárisan kapott számmal arányos fizikai jelet (feszültség, áram, hangerő stb.) állítunk elő. Kézi módszer: fogunk egy mmpapírt, és (például 5 mmenként) a számértéknek megfelelő magasságban berajzolunk egyegy pontot. Ezután a pontokat összekötjük, és így megkaptuk a függvényt. (A kerekítések miatt előfordul, hogy egy A/D átalakítás majd D/A visszaalakítás nem adja vissza pontosan ugyanazt az eredményt, mint az eredeti. Például mmpapírral 1 mmnél kisebb egységet nem tudunk mérni.24)
A D/A
HANGKÁRTYA: A mikrofon a hangot (analóg jel, nyomásváltozás) elektromos analóg jellé alakítja. A hangkártya ebből az elektromos jelből elég sűrűn (például másodpercenként 22 ezerszer) mintát vesz (megméri a feszültséget). Ezt a mért értéket átalakítja számmá, és majd ezt a számot tudja feldolgozni vagy eltárolni a számítógép. (Ez azt jelenti, hogy a felvett hang minden egyes másodpercéről 22 000 számot kell tárolni.) Zenélés számítógéppel: A számítógéppel előállított „zene” valójában egy számsorozat. Ezt a számso rozatot a hangkártya analóg elektromos jellé alakítja, amit a hangszóró levegőben terjedő hanghullá mokká alakít. 22 Az érzékelt hangok valójában különféle ismétlődő nyomásváltozások. 23 A valóságban elektronikus áramkör végzi el a mintavételezési és bináris számmá alakítást. (Milliméterpapír nélkül.) 24 A hiba azomban nem biztos, hogy rossz: például egy jó szabó sem abszolút pontosan szabja le a ruhát, de olyan kicsi hibával dolgozik (például 2 mm-t téved a ruha hosszánál), ami már nem számít. 2004.07.07.; v0.9.2; © BMRG
9
Példa: analóg és digitális telefonközpont, ISDN telefonok D/A és A/D átalakító: Digitális vonal (vastag): Központ 1
Központ 2
Teljesen analóg rendszer (régen)
Központ 1
Központ 2
Analóg telefonvonalak, de a központok között digitális vonal (ma)
Központ 1
Központ 2
A központok között, és az előfizetők felé is digitális vonal (ISDN) (ma)
Régen analóg központok voltak analóg előfizetői vonalakkal: A hang elektromos jelként jutott el a telefontól a központba, aztán a központok között, végül a hívott telefonjáig. Sok kábelt kellett kihúzni a telefonközpontok között, hogy sok vonalat tudjanak egyszerre kapcsolni. Később a központok közötti összeköttetést lecserélték digitális, üvegszálas átvitelre, hogy több vonalat tudjanak egyidejűleg összekötni két központ között egyetlen üvegszálas kábelen. Ehhez a közpon tokban rengeteg A/D és D/A átalakítóra volt szükség. Emiatt bonyolultabbak és drágábbak lettek a telefonközpontok. Az ISDN telefonvonal már nem analóg, hanem digitális jelekkel kommunikál a központtal. Így a köz pontban nincs szükség az analóg és digitális jelek közti átalakításra. Ezek a funkciók ugyanis az elő fizetői telefonokba kerültek beépítésre. (A telefon javítása a tulajdonos problémája, nem a központé.)
1.5. Szövegek tárolása FELADAT: A számítógép tudjon tárolni betűket is. A PROBLÉMA: A számítógép csak számokat tud tárolni, csak számokkal tud műveleteket végezni. (Azt is
leginkább bináris számokkal: vezet/nem vezet, van feszültség/nincs feszültség) A MEGOLDÁS: A betűket, írásjeleket stb. (egy szóval karaktereket) kódolni fogjuk. A kódolás azt jelenti, hogy egyegy betűhöz egyegy számot rendelünk. Például a számok jelentsék a következőt: 1=A, 2=Á, 3=B, 4=C, 5=CS, 6=D, 7=DZ, 8=DZS, 9=E, 10=É, 11=F, 12=G … Ezeket a kódokat és jelentéseket egy táblázatban felírjuk egy lapra, hogy el ne felejtsük. Ezt a táblázatot hívják kódlapnak. Ezután ha például azt látjuk leírva, hogy 9, 3, 10, 6 akkor (az előbbi kódlap alapján értelmezve) ki tudjuk találni, hogy miről van szó.25 Persze többféle módon lehet számokat rendelni a karakterekhez, a fenti az csak egy találomra kiválasztott példa. Ezzel a hozzárendeléssel az a baj, hogy önkényesen történik. Lehet, hogy a világ más részén valaki úgy is gondolhatja, hogy az egyjegyű számokhoz (09) az írásjeleket és a szünetet rendeli, és 10től kezdi az Abetűt.26 Ha két program nem ugyanazt a betűszám összerendelést használja, akkor amit az egyik programmal elkészítettünk, a másik programból megnézve zagyvaságnak tűnik. Ez nem jó. Közösen meg kell állapodni, hogy melyik szám melyik betűt jelenti. A legelterjedtebb ilyen megálla podás az Amerikai Szabványos Kódolás (American Standard Code for Information Interchange, röviden ASCII).27 Mivel az alapegység a byte, ami 8 bitből áll, ehhez a számtartományhoz rendeltek karaktereket. Ebből egy bitet akkoriban a kommunikáció ellenőrzésére használták, ezért csak a maradék 7 biten tárolt 128 számhoz (0127 közötti értékek) rendeltek karaktereket. Íme néhány karakter kódja:
25 Dél körül. 26 Egy orosz programozónak pedig valószínűleg nem a magyar ABC jut az eszébe… 27 Az IBM az ASCII létrehozásakor már belsőleg használt egy EBCDIC nevű kódolást. Az IBM nagygépek még most is így működnek belsőleg. 2004.07.07.; v0.9.2; © BMRG
10
Szám
Binárisan
Hex
Mit jelent?
20 21
Szünet (space) Felkiáltójel … (írásjelek és matematikai jelek)
48 49 50 … 57 5863
0011 0000 0011 0001 0011 0010 … 0011 1001
@ A B C … Z További írásjelek: [ \ ] ^ _
97 98 99 100 … 122 123127
0110 0000 0110 0001 0110 0010 0110 0011 … 0111 1010
32 33
0010 0000 0010 0001
…
…
47
0010 1111
2F
64 65 66 67 … 90 9196
0100 0000 0100 0001 0100 0010 0100 0011 … 0101 1010
40 41 42 43 … 5A
Szám
Binárisan
Hex 30 31 32 … 39 … 60 61 62 63 … 7A
Mit jelent? 0 1 2 … 9 További jelek: : ; < = > ? ` a b c … z További írásjelek:{ | } ~
A 031 közötti számkódok különleges célra lettek meghatározva28, a „rendes” karakterek 32vel (hexa 20) kezdődnek. Amit érdemes megjegyezni az, hogy 48tól (hexa 30) kezdődnek a számjegyek, és 65 (hexa 41) a nagy „A”, és 65+32 (hexa 41+20) a kis „a” betű). A másik fontos észrevétel, hogy nem tartalmaz ékezetes (magyar) karaktereket, mivel eredetileg az USA számára (angol nyelvhez) készült. Ebből elég sok bonyodalom adódik, melyeket most nem részletezünk. A lényeg, hogy a 128255 tartományban minden ország meghatározta, hogy melyik szám melyik ékezetes betűt jelentse. Így alakultak ki (csak Magyarországot tekintve) a CWI, IBM852, Windows1250, ISO88592 kódlapok.29 (Jelenleg az ISO88592 az elterjedten használt kódlap.) A magyar kódlap és a többi ország kódlapjai is mind ugyanazokhoz a számkódokhoz (128255) rendelik a saját ékezetes betűiket.30 Ezért egyszerre csak 1 kódlap használható. Így viszont nem lehet például egy szövegben leírni magyar, francia cirill és görög betűket. Ezért megterveztek egy nagy egyesített (unified) kódlapot (code page), amiben a világ összes betűje szerepel. Ez lett az UNICODE. Ez a szabvány a karaktereket – hogy a sok ezer kínai, indiai, afrikai betű is beleférjen nem 8, hanem 21 biten ábrázolja.31 A szabványt néhány évente újra tárgyalják, és ha szükséges, új karaktereket vesznek fel a szabványba. Mivel a UNICODE 8 bitnél hosszabb értékekkel dolgozik (a mai számítógépek pedig a byteot szere tik), ezért csak lassan terjedt el.32 Megemlítendő még, hogy az MSWord már 1997 óta a UNICODE egyik 16bites részhalmazát használja. Itt egy betűt egy (vagy két) darab 16 bites „karakter” ír le. Azaz egy karakter két egymás utáni byteot foglal el. Ha egy szöveget úgy látunk, hogy minden második betűje egy négyzet, az azért van, mert azt nem byteonként (8 bitenként) kellene értelmezni (ahogy a programunk teszi), hanem kétbyteonként (16 bitenként).
Mostanában (2004) kezdik széleskörűen használni UTF8nak nevezett kódolást33, ami a 21 bites UNICODE egy speciális 8 bites kódolása. Így a magyar szövegek alig lettek hosszabbak, mint korábban (a legtöbb betű 1 byteos), de mégis van lehetőség ugyanabban a szövegkörnyezetben leírni az „egzotikus” betűket is (görög, cirill, kínai).34
28 Mint például: lapdobásjel (nyomtatónak); tárcsázásjel (modemnek), újsor-jel (táv-írógépnek); üzenet/fájl vége stb. 29 Azért nem 1 darab van, hanem ennyi, mert az IBM és Microsoft is a saját (több országra kiterjedő) szempontjaik szerint saját kódlapokat határoztak meg. (Az, hogy egyes országok már addigra kitaláltak valamit, az nem számított.) Ebből volt is kavarodás az elmúlt időszakban. A 852-es kódlap magyar szabvány lett: MSZ 7795-3:1992 néven. Mai napig ez a magyar nyelvű DOS betűinek kódolása. 30 Például a 165 az jelenthet (magyar kódlap szerint) „á” betűt, de egy svéd vagy francia kódlap szerint egy másik betűt jelent. 31 Néhány éve kérték, hogy a Star Trek-ből ismert harcias Klingon nép ABC-jét is vegyék bele az UNICODE kódlapba. De a mérnökökből álló döntőbizottság végül komolytalannak tartotta az ötletet. Az ősi magyar rovásírás még elbíráslás alatt áll. 32 Két ok lassítja a terjedését: egyrészt, hogy a 21 bites kód nem 256, hanem kb. 2 millió különböző karaktert jelent, és ennyit nehéz kezelni egy programnak. A másik baj, hogy mivel 4 byte-on ábrázolnak egy betűt, ez 4-szeres helyfoglalást jelent. 33 A legújabb ajánlás az RFC3629 (2003 november). Ez az 1998-as RFC2279 újragondolt, kicsit módosított verziója. 34 De az UNICODE sem „tökéletes”, mert a magyar nyelvtan szerint az „ny” olyan egyetlen betű, ami két betűjegyből (n és y) áll, ez elválasztásnál lehet fontos. (Nem beszélve a „régi” kettős betűkről, mint például az eö (Weöres) vagy cz (Losonczy)) 2004.07.07.; v0.9.2; © BMRG
11
2. Adatok tárolása a számítógépen A számítógépnek azt a részét, ahol az adatokat tárolja (hogy el ne felejtse) memóriának35 hívjuk. Ezek elektronikus áramkörök, amelyek 0 vagy 1 bináris számértékeket (biteket) tárolnak. Mivel ezek árammal működnek, a számítógép kikapcsolásakor (általában) elfelejtik a tartalmukat. Az adatok és számítások elvesztését megakadályozandó, a fontos adatokat le kell írni egy olyan adattároló eszközre (háttértárba) amely áram nélkül is megőrzi a beleírt adatot. A háttértár és a memória közötti másik legfontosabb különbség, hogy a processzor csak a memóriát tudja A számítógép közvetlenül használni, a háttértárat nem. Ha valamit számítani akarunk (ami a háttértárban van), akkor elő ször a háttértárból betöltjük (bemásoljuk) az adatokat a Adatok, amivel a Számítási eredmények memóriába, majd a processzor a memóriából kiolvassa számításokat végezni kell Processzor és feldolgozza őket, különböző számításokat végez velük. Az eredményt pedig visszaírja a memóriába. Ezután az eredményeket – ha kikapcsolás után is szükségünk lesz még rá – elmentjük (visszamásoljuk, berögzítjük) a háttértárba. Memória A program mondja meg azt, hogy melyik adattal milyen számításokat és feladatokat kell elvégeznie a mikroprocesszornak. A programok is az adatokhoz Betöltés hasonlóan (számsorozatokként) a háttértárban táro lódnak, és végrehajtás előtt (mint az adatokat) a memóriába kell másolni őket.36
Mentés
Háttértár Egy kézzelfogható példa: süteménysütés: kell hozzá tojás, liszt, cukor, alma stb. (bemenő adatok), az eredmény pedig az almás pite (kijövő 3.ábra: Memória és háttértárak adat) Először bevásárolunk a boltban (bolt=háttértároló), és a konyhába (konyha=memória) juttatjuk az alapanyagokat (betöltjük a memóriába). Beszerzünk egy szakácskönyvet is (betöltjük a memóriába a programot) ami leírja, hogy milyen műveleteket (almahámozás, összekeverés, sütés) milyen sorrendben kell elvégezni az alapanyagokon (az adatokon). Az eredményt (kész almás pitét) vagy azonnal megesszük, vagy elrakjuk a spejzba későbbre (mentés). A következő fejezetben megvizsgáljuk, hogy milyen fajta memóriák és milyen háttértárak találhatóak meg a számítógépen.
2.1. Memória A memória a számítógép egyik adattároló része. A működéséhez elektromos áramra van szükség. Ebben tárolódnak az éppen folyamatban lévő számítások adatai, (rész)eredményei, valamint a számítások menetét leíró programok is. Több fajtájuk van. A legfontosabbak a ROM, a RAM, és a kettő között félúton található EPROM.
Memóriafajták
RAM (RANDOM ACCESS MEMORY)37: Ez olyan memória, amelynek a tartalma módosítható. Hátránya, hogy ha megszűnik az áramellátása, akkor egy század másodperc alatt mindent elfelejt. Ezért nem alkalmas az adatok tartós tárolására. Sok fajtája van: SRAM, DRAM, NVRAM, EDORAM, SDRAM, DDRSDRAM (A nevük vége mindig RAMra végződik.)
35 A memória szó angolul emlékezetet jelent. 36 A programokat a végén nem kell elmenteni, mint az eredményeket, mert azok (általában) nem változnak meg a végrehajtás során. 37 Magyarul „Véletlen (vagy tetszőleges) Hozzáfférésű Memóriá”-nak szokták mondani. De ez a szó szerinti fordítás félrevezető: az angol kifejezés valójában azt próbálja eleírni, hogy bármelyik adatot egyformán gyorsan tudjuk megtalálni a RAM-ban. Mert például egy magnókazetta esetében a szalag végére írt adat megtalálása (az szalag tekerése miatt) jóval hosszabb ideig tart, mint a szalag elején levőnek a megtalálása. 2004.07.07.; v0.9.2; © BMRG
12
OLVASHATÓ MEMÓRIA): ez egy olyan memória, amibe a gyártáskor írták bele az adatokat, és a tartalmát soha sem lehet megváltoztatni. A tartalma akkor is megmarad, ha a számítógépet kikapcsoljuk. A ROM olyan alapvető dolgokat tartalmaz, amit a számítógépnek a bekapcsolás pillanatától kezdve tudnia kell. PROM (Programozható ROM): Ez is ROM jellegű memória, de nem a gyárban írják bele az adatokat, hanem később, a számítógépet gyártó cég égeti bele.38 (Csak egyszer lehet írni bele.) Ezután már ugyanúgy viselkedik, mint a ROM: csak olvasni lehet. EPROM: (ERASABLE-PROGRAMMABLE ROM, TÖRÖLHETŐ-PROGRAMOZHATÓ ROM): Ez is ROMhoz hasonló – tehát csak olvasható, nem felejtő – memória, de lehetőség van arra, hogy a tartalmukat töröljük (UVsugárzással), és (a RAMhoz hasonlóan) új adatokat töltsünk bele. EEPROM (Electronic Erasable PROM): Elektronikusan tudjuk törölni a tartalmát (nem pedig UV sugárzással mint az EPROM esetében). Így számítógépszerelés nélkül lehet a benne tárolt adatokat módosítani. (A digitális fényképezőgépek memóriái és az USB memóriák ilyenek.) Lassabban írhatóak , mint a RAM, és – most, hogy már több MBos méretben is kaphatóak – akár a háttértárakhoz is be lehetne sorolni. De működését tekintve az EPROMokhoz tartozik.
ROM: READ ONLY MEMORY (CSAK
Példák a RAM és ROM használatára Kvarcórán: ROM tartalmazza azt, hogy az egyes számjegyeket hogyan kell kirajzolni, és hogy a naptárban melyik hónap hány napból áll. RAM tartalmazza azt, hogy éppen hányadika van. (Ha kivesszük az elemet, elfelejti.)
Zsebszámológépben: ROM tartalmazza a különböző műveleti algoritmusokat (hogyan kell a különböző műveleteket elvégezni) és a konstansok értékeit, például a pi () értékét. RAM tartalmazza a legutóbbi számítás eredményét.
Mobiltelefonban: ROM tárolhatja, hogy milyen menüpontokat választhatunk, és hogyan működjenek a beépített játékok. RAM tartalmazza a fogadott és tárcsázott hívások listáját, a játékokban elért maximális pontszámokat. EEPROM jellegű memória tartalmazza a nevek és telefonszámok listáját: ha lemerül az akku, akkor is megmarad. De (ha működik az akkumulátor) lehetőség van telefonszámokat rögzíteni, törölni, módosítani.
Személyi számítógépben: ROM tartalmazhatja azt az alapprogramot, ami megmondja, hogy bekapcsolás után hogyan ellenő rizze le az áramköreit a PC, és majd hogyan kell elindítani operációs rendszert. RAM tartalmazza azt, hogy pillanatnyilag hány pontot értem el eddig a játékprogramban. (Ha a játék vége előtt jön egy áramszünet, elvész a pontszám.)
Monitorvezérlőkártyán: ROM tartalmazza, hogy hogyan néznek ki az egyes betűk alakja (különben nem tudná hogyan kell kirajzolni a betűket). RAM tartalmazza azt, hogy éppen mi van most a képernyőn.
2.2. Háttértárolók A saját adatainkat a RAMba tudjuk írni, de ezek elfelejtik a tartalmukat kikapcsoláskor. Ezért kikapcsolás előtt az adatainkat el kell tárolni valamilyen „nem felejtő” tárolóba. Ezeket a nemfelejtő eszközöket hívják háttértárolóknak.
38 A „beleégetés” szó PROM esetén szerint értendő: a normálisnál nagyobb (5 V helyezz kb. 20 V) feszültséggel kiégetik az adattároló áramkörök egyes részeit. Ezután az adatot kiolvasva a kiégetett rész 1et, a nem kiégetett rész 0t jelent. 2004.07.07.; v0.9.2; © BMRG
13
Papír alapú tárolók: Lyukkártya:
MŰKÖDÉSE: téglalap alakú papírlap, melynek egyik sarka le van vágva39. 80 oszlopban fentről lefelé fel van sorlova a 10 számjegy. A kártyaolvasó érzékeli, hogy hol van lyuk és hol nincs. A lyukak helyzete hordozza az információt. JELLEMZŐI: Mechanikus, egyszer írható, sokszor olvasható, a sarka le van vágva, mint a SIMkártyának.
Lyukszalag:
MŰKÖDÉSE: Egy hosszú, keskeny szalag, amit a bizonyos helyeken kilyukasztanak. Hasonló a felhasználása, mint a lyukkártyát. JELLEMZŐI: Könnyebb a továbbítás, szalagmozgatás, ez is csak kegyszer írható. Ma már inkább csak múzeumokban találkozunk lyukkártyával és lyukszalaggal.
4. Ábra: Lyukszalag
Mágneses tárolók: A mágneses adattárolás megjelenése új adattárolás elvet jelentett. Többször írható tárolók haszná latára és több adat tárolására adott módot, mint a papír alapú tárolók.
Mágnesszalag:
MŰKÖDÉS: műagyag szalag, ami mágnesezhető anyaggal van bevonva. Digitális jeleket lehet rá írni,
aszerint, hogy az északdéli, vagy déliészaki irányban mágnesezzük fel. Írás: az író fej egy elektromos tekercs (azaz elektromágnes), ami előtt elhúzzuk a szalagot, közben a felírandó adatnak megfelelően változtatgatjuk a tekercsben folyó áram irányát. Olvasás: az olvasófej egy elektromos tekercs, ami előtt elhúzzuk a szalagot. A felmágnesezett szalag mágneses tere feszültséget okoz a tekercseben. Figyeljük hogy a tekercsen milyen irányú feszültséget mérünk, és ebből tudjuk, hogy 0 vagy 1 van a szalagra írva. JELLEMZŐI: Többször írható és olvasható, nagy kapacitás, a szalagot (magnókazettához vagy mozifilmhez hasonlóan) egy orsóval csévéljük; hosszú adatelérési idő (csak sorban írhatjuk vagy olvashatjuk az adatokat), évekig megőrzi a tartalmát;40 az író és olvasófej hozzáér a szalaghoz (ezért nagyon sok használat után elkophat a fej); kapacitása több tíz gigabyte (GB). Manapság adatmentésre használják: éjszaka a számítógépen tárolt összes (vagy aznapi) munkát felírja a számítógép a szalagra. Itt a nagy kapacitás (éjjel nincs aki cserélje a szalagot) előny, de a hosszú, soros adatelérés nem jelent hátrányt, mert az adatfelírás folyamatosan történik.
Hajlékony lemez ELV: Egy hajlékony kör alakú műanyag lemez (a szalagéhoz hasonló) mágnesezhető anyaggal bevonva. Ezt megforgatjuk, így a fej előtt elhalad a lemez egy körgyűrűje. Ezt a körgyűrűt sávnak41 hívják. Ide a mágnesszalaghoz hasonlóan lehet adatot írni és olvasni. Ha a sávot teleírtuk, akkor a fej egy kicsit kijjebb vagy beljebb mozog (sugárirányban), és a többi adatot a következő sávba írja. Minden sáv kisebb adategységekből, szektorokból áll.
MŰKÖDÉSI
39 Hogy ne lehessen fordítva beletenni a kártyaolvasóba. 40 Évtizedek alatt viszont felejt, mert a szorosan egymásra tekert szalagsávok idővel egymást is átmágnesezik 41 Angolul track, jelentése: sáv, (kerék)nyom 2004.07.07.; v0.9.2; © BMRG
14
sze kto r
A szektor (PC esetén) 512 byte adatot tartalmaz. Ez a legkisebb egység, amit írni vagy olvasni lehet.42 Az első lemezmeghajtók (amikor még drága volt az előállítás) egy Sáv darab író/olvasó fejet tartalmaztak, így a lemezt meg kellett fordítani, ha a másik oldalára is írni akartunk. Ma már mindkét oldalon egyegy fej található. Ezek egyszerre mozognak, és két oldalról közrefogják a lemezt. JELLEMZŐI: Közepes (vagy kis) kapacitás Gyors hozzáférés bármelyik adathoz. (Csak annyit kell várni, ameddig a fej a kívánt sávra mozog, majd ameddig a lemez sávon belül a fej alatt elfordul a kívánt szektorhoz.) Könnyen hordozható A kör alakú lemez egy (téglalap alakú) műanyag tokban Rajz 1Mágneslemez felépítése található (onnan nem kell kivenni), hogy védve legyen a portól, zsírtól és a karcolástól. kapacitása kezdetben 160 KB, manapság 1440 KB jellemző (de vannak ennél nagyobbak is). Általában két fej van a lemez két oldalán, így egyszerre mindkét oldalra lehet írni és olvasni. Méretét az átmérőjével jellemezhetjük: 8”os (20 cm), 5¼”es (12,5 cm), manapság 3,5” (9 cm) Méret col, (cm)
tpi43
jellemző időszak
oldal, sáv és szektorszám
kapacitása
8” (20,5 cm)
(48 tpi)
60as évek vége, 70es évek 1 oldal, 73(+4) sáv, ?? szektor./sáv
5,25” (13,5 cm)
(48 tpi)
197885
1 oldal, 40 sáv, 8 vagy 9 szekt./sáv 2 oldal, 40 sáv, 8 vagy 9 szekt./sáv 160360 KB
(96 tpi)
198590
2 oldal, 80 sáv, 15 szektor/sáv
1200 KB
(135tpi)
19842004
2 oldal, 80 sáv, 9 szektor/sáv 2 oldal, 80 sáv, 18 szektor/sáv
720 KB 1440 KB
3,5” (9 cm)
44
≈ 240 KB
Kapacitásszámítás: (Számítástechnikában 1024 byte=1 kilobyte, és 1024 kilobyte=1 Megabyte)45 A „dupla sűrűségű” 46 lemezek: a lemez egy oldalának kapacitása: 40 sáv, sávonként 8 szektor, szektoronként 512 byte: 40*8*512=163840 byte=160 KB. Az újabb „nagy sűrűségű” 47 5,25”os lemez kapacitása: egyszerre 2 oldal, oldalanként 80 sáv, 15 szektor/sáv, szektoronként 512 byte: 2*80*15*512=1 228 800 byte=1200 KB = 1,17 MB48 Az újabb „nagy sűrűségű” 3,5”os lemez kapacitása: egyszerre 2 oldal, oldalanként 80 sáv, minden sávban 18 szektor, szektoronként 512 byte: 2*80*18*512=1 474 560 byte=1440 KB = 1,41 MB49
A táblázatból látható, hogy az idők folyamán a mágneslemezek mérete csökkent, de az egyre sűrűbben írt adatok miatt a tárolóképességük (kapacitásuk) nem csökkent, hanem növekedett.
Merevlemez ELV: Hasonlóan működik, mint a hajlékonylemez (sávok, szektorok). Nevét onnan kapta, hogy nem hajlékony, hanem „merev” anyagból készül a lemez. Elvárások a merevlemez fejlesztésével szemben: (1) több adatot tároljon, és (2) gyorsabb legyen. Több adat tárolásárát úgy oldották meg, hogy sűrűbben írják rá az adatokat. A nagyobb sebesség két tényezőtől függ:
MŰKÖDÉSI
42 Ha például egy 10 byte-os adatot akarunk beolvasni, a számítógép akkor is a teljes 512 byte-ot beolvassa, de csak az első 10 byte-ot veszi figyelembe. 43 tpi=track per inch, azaz sávok száma 1 inch-en. (Hány sáv fér el 2,54 cm-en) 44 Ez kicsit bonyolult: Akkoriban többféle szektorhossz (128-1024 byte) és több formátum (IBM, CP/M, Nova 3, DEC) létezett. 45 Azért 1024 a váltószám, és nem 1000 – mint azt megszoktuk mindenhol máshol – mert 2-es számrendszerben az 1024 így néz ki: 100 0000 0000. Ez 2-nek a 10-edik hatványa, ami egy szép kerek szám (az 1ezer nem kerek szám: 11 1110 1000). 46 Double Density, DD: adatsűrűség 48 tpi (48 track per inch, azaz maximum 48 sáv fér el 2,54 cm-en). A PC lemezmeghajtója csak kicsit ritkábban írja a sávokat (csak 40 fér el), hogy biztosan ne kerüljön túl közel egymáshoz két sáv. 47 High Density, HD (vagy Quad Density, QD): maximális adatsűrűség 96 tpi. A HD-s lemezmeghajtó viszont kicsit ritkábban ír, így csak 80 sávot ír (az elvileg lehetséges 96 helyett), hogy biztosan ne kerüljön túl közel egymáshoz két sáv. 48 Ezt szokták 1,2 MB-os lemeznek hívni. 49 Ezt szokták 1,44 MB-os lemeznek hívni, ami valójában csak 1,41 MB, vagy 1440 KB. (Ebből leveszünk a fájlrendszer által használt területet, az adatoknak marad 1,38 MB). 2004.07.07.; v0.9.2; © BMRG
15
az elérési időtől (mennyi idő alatt mozdul a fej a megfelelő sávra) és a beolvasási időtől (mennyi idő alatt halad át az adat a fej előtt)
A nagyobb sebességhez tehát egyrészt csökkenteni kell az elérési időt, vagyis gyorsabban kell a fejet mozgatni, másrészt növelni kell a beolvasási időt, amihez növelni kell a fordulatszámot. Egy mai merevlemezen 0,01...0,001 mm pontos fejmozgás szükséges50, és ráadásul mindezt nagyon gyorsan. Ehhez nagyon kifinomult mechanikára van szükség, amit védeni kell a portól és az ütéstől. (Ilyen apró méretek mellett már egy porszem hatalmas sziklának számít.) Ezért pormenetesen lezárt dobozba zárjuk a meghajtót és a lemezt. Valójában nem egy, hanem 23 lemezt szoktak egybe építeni egymás fölé, így összesen 46 lemezoldal (és ennyi fej) található a merevlemezben.51 JELLEMZŐI: Nagy kapacitás (adattároló képesség), nem hordozható; több sáv, több szektor ⇒ sűrűbben írjuk az adatot, precízebb, pontosabb fejmozgás szükséges, a finom mechanika és érzékeny felület miatt fej nem lapul hozzá a lemezhez (nehogy megkarcolja), hanem az áramló levegőben lebeg felette.52 Mivel a lemezt és az olvasót egybe építették, ezért a lemezeket nem lehet kivenni. Nem hordoz ható, mint a hajlékonylemez,53 cserébe viszont (eleinte több tízszer, ma már) sok ezerszer nagyobb a kapacitása. LEMEZEK BETŰJELEINEK ALAKULÁSA DOS, Windows és OS/2 operációs rendszerek esetén. DOS: Disk Operating System, azaz „Lemez Operációs Rendszer”. Az IBM PCk első operációs rendszerét nem ROM típusú memóriában tárolták, hanem lemezről kellett betölteni.54 Bármit csinált a PC, szüksége volt az operációs rendszerre, gyakran cserélgetni kellett a saját lemezünket az operációs rendszer lemezével, mikor mire volt szüksége. Hogy ne legyen ilyen kényelmetlen a használat, általában kettő darab lemezmeghajtót építettek a gépbe: az egyikben mindig az operációs rendszer lemeze volt, a másikban pedig a saját adataink vagy programjaink lemeze. Az egyik lemezmeghajtót elnevezték „A”nak, a másikat „B”nek, és így jelölték: „A:” és „B:” (a betűjel után egy kettőspont áll). Később, amikor kifejlesztették a merevlemezt, akkor az a következő betűjelet, a „C:”t kapta meg. Az első merevlemez mindig a „C:”nél kezdődik, akkor is, ha csak egy hajlékonylemez van (vagy egy sincs) a gépben. Ha csak egy hajlékonylemezünk van, akkor az egyszerre az A: és B: egység is, mert így oldották meg egy lemezmeghajtó esetén a hajlékonylemezről hajlékonylemezre másolást. Mivel egy merevlemez nagyon nagy kapacitással rendelkezik, ezért gyakran több részre, partícióra szokták felosztani. (A felosztási művelet neve: particionálás.) A több részre osztott merevlemez úgy viselkedik, minta nem egy, hanem több merevlemez lenne a gépben. Ha egy merevlemezt nem osztunk fel részekre, hanem egyben kezeljük, akkor ő kapja a C: betűjelet. Ha két részre osztjuk, akkor a C: és D: jeleket kapják az egyes részek. Ha három részre osztjuk, akkor a C: D: és E: jeleket kapják az egyes partíciók. Ha két merevlemez van a gépben, de azok egyike sincs több részre osztva, akkor az egyik a C:, a másik a D: betűjelet kapja meg. Tehát a betűjelekből nem derül ki, hogy egy merevlemez van két részre osztva, vagy több merevlemez van a gépben. Ha két merevlemez van a gépben, és az egyik két részre van osztva, akkor az egyik megkapja a C: jelet, a másik a D: és E: jelet.55
Mert ilyen sűrűn vannak a sávok. Valójában a sávok és szektorok sem egyformák: a külső, hoszabb sávokon több szektor fér el, mint a belsőkön. Ahogy forognak a lemezek, forgatják magukkal a levegőt is. Így állandó „szélben” repül a szárny kialakítású fej. Ha mégis hordozzuk, akkor nem csak a lemezt, hanem a lemezolvasót is hordozzuk vele együtt, ezért (speciális szerver gépektől eltekintve) a számítógépet is ki kell kapcsolni a merevlemez ki- és behelyezésekor. 54 Így könnyebb volt az operációs rendszer javítása: csak a kijavított operációs rendszer lemezét kellett beletenni a gépbe. (ROM esetén csak alkatrészcserével lehetett volna megváltoztatni az eredeti programot.) 55 De az is lehet, hogy az egyik merevlemez első fele megkapja a C:-t, a második (egy részből álló) merevlemez megkapja a D: jelet, majd az első merevlemez második fele az E:-t. 50 51 52 53
2004.07.07.; v0.9.2; © BMRG
16
Ha több merevlemezünk van nagyon sok részre osztva, akkor akár az egész ABCt felhasználhatjuk Z:ig. Tehát DOS, Windows és OS/2 operációs rendszereknél maximum 26 meghajtót használhatunk (az angol ABC betűivel jelölve).
Optikai tárolók: ELV: Az optikai tárolók lézersugárral működnek. Lényegük, hogy lézerrel megvilágítják a lemez egy nagyon kis pontját, és abból tudjuk meg, hogy milyen információ van azon a ponton (0 vagy 1), hogy hogyan verődik vissza róla a lézer. Sokkal sűrűbben tárolják az adatokat, mint a hajlékony lemezek. JELLEMZŐIK: Kapacitása sokkal nagyobb, mint a hajlékonylemezé; hordozhatóak, a lemez kivehető a meghajtóból. Eredetileg hang tárolására tervezték, ezért nem kör alakú sávok találhatók rajta, hanem csiga vonalban van felírva az adat. (Nem lett volna jó, ha a zenei CDlejátszó elhallgat egyegy pillanatra, amikor a fej sávot vált.)
MŰKÖDÉSI
CDlemezek A CD lemezeknek több fajtája van: CDROM: A gyárban megírják, az adat csak olvasható róla, nem írható. CDR : Egyszer írható CD, ha ráírtuk az adatot, utána már csak olvasható (sokszor). CDRW: Néhány százszor írható, és nagyon sokszor olvasható. Az eredeti CDre 650MB adat fér, mivel pont akkora a kapacitása56, mint a zenei CDnek.57
DVD lemezek A CD lemez továbbfejlesztett változata. Van DVDROM, DVDR, DVDRW is, mint a CDnél.58 Kapacitásuk 7szer akkora, mint a CD lemezé, 4,5 GB (≈4500 MB).59 BlueRay DVD: Ez egy továbbfejlesztett DVDtechnológia, várhatóan 2005 körül jelenik meg a boltokban. Kapacitása 25 GB környékén lesz. Mivel nagyon kicsi pontot kell megvilágítani, ezért kék lézerrel működik.
A háttértárolók kapacitásának növekedése: Kapacitás=tárolóképesség. Vizsgáljuk meg, mennyi adat fér egy háttértárolóra! Példa: Vegyünk egy szöveges állományt, ami egy osztály tanulóinak az adatait tartalmazza: név: 30 byte, cím: 50 byte, telefonszám: 10 byte, összesen kevesebb, mint 100 byte egy tanuló adatai. Becslés: 1 osztály (40 ember) x 100 byte =4000 byte ≈ 4 KByte. A legelső (5,25”os) lemez kapacitása: 160 KByte. Ezen a hajlékony lemezen 40 osztály névsora fér el. (Ez volt régen, a 80as években.) Ma már olcsón kaptható 160 GByte kapacitású merevlemez. Ez 1 000 000szoros növekedés az eredetihez képest. Erre már 40 helyett 40 millió osztály állománya férne el. Ez áttekinthetetlen, ezért rendezni kell az állományokat. Ha papíron dolgoznánk, és egy osztály adatai egy A4es papírlapon lenne, akkor mindent egymásra rakva a papírhegy több, mint 100 méter magas lenne. Ezt úgy rendezzük, hogy egyes lapokat egy dossziéba teszünk, a dossziékat egy nagyobb kartonpapír tartóba, ezeket egy hatalmas szekrény polcaira. (Mindent szépen fel kell címkézni, hogy később megtaláljuk, amit keresünk.)
56 Ma már elterjedtek a kicsit nagyobb, 700MB-os lemezek is. 57 A zenei CD-nek pedig állítólag azért éppen annyi a kapacitása, mert akkorára tervezték, hogy Beethoven 9. szinfóniája ráférjen. 58 Van még egy DVD-RAM nevű változat is, ami olyan, mint a DVD-RW, csak éppen nem néhány 100 alkalommal, hanem 100 ezerszer írható. Vannak „plusz”-os verziók is: DVD+R, DVD+RW. Ezek nagyon hasonlóak a többi DVD-hez, csak az adatokat nem egy csigavonalban, hanem a merevlemezekhez hasonlóan kör alakú sávokban tárolják. 59 Sőt, van már egy oldalon kétrétegű DVD lemez is. Erre úgy írnak és olvasnak, hogy máshogy fókuszálják a lézert a két réteghez. Ez olyan, mint amikor a buszból kinézve két dolgot láthatunk egy helyen: vagy a koszt az üvegen (egyik réteg), vagy a koszos üveg mögötti tájat láthatjuk (másik réteg). Attól függ, hogy hova fókuszálunk a szemünkkel. Valahogy így van a két rétegű lemezzel a DVD olvasó is. 2004.07.07.; v0.9.2; © BMRG
17
Adatok rendszerezése a háttértárolókon A számítógépeken az állományokat könyvtárszerkezetben60 tároljuk. (Ez egy fához hasonló szerkezet.) Egy irattári szekrényben polcok vannak, a polcokon karton irattárolók, azokban kisebb iratgyűjtők, a mappákban a papírlapok. Számítógépen is hasonló rendszerezés van: van egy szekrény (főkönyvtár), a szekrényben polcok (alkönyvtárak), azokban irattárolók (kisebb alkönyvtárak), azokban iratgyűjtők (még kisebb alkönyvtárak), míg végül megtaláljuk az adatállományokat.61 (Az adatállomány helyett a sokkal rövidebb angol kifejezést, a filet (fájl) szoktuk használni.) DOS, Windows, OS/2 operációs rendszer használatakor a különféle meghajtók (A:, B:, C:) olyanok, mint egyegy külön szekrény: vannak saját polcaik, azokon iratgyűjtők, azokban fájlok. UNIX ALATT (és Linux alatt is) csak egyetlen nagy szekrény (egyetlen könyvtárrendszer) van, a meghajtók (mágneslemez, CDolvasó, USBmemória stb.) beépülnek a könyvtárszerkezetbe. Tehát Unix esetén a hajlékonylemez az nem egy „szekrény”, hanem csak egy irattároló doboz. Ha betesszük a gépbe, akkor az egyetlen szekrény egyik polcára tettünk egy dobozt. Ha meg akarjuk nézni a lemez tartalmát, akkor ezt az /mnt nevű polcon (az /mnt könyvtárban) találjuk meg.62 Ezért, ha egy lemezt beteszünk a számítógépbe, nem szekrényt („A: meghajtó”) kell keresni, hanem csak egy polcot a szekrényben (mégpedig az /mnt nevűt).
Szekrény
/
Polc Doboz
floppy
Polc
mnt Doboz
Polc
...
home
etc Doboz
Doboz
CDROM
08a
ta-
nu-
tan
08b
lók
ta-
nu-
Doboz
lók
Dosszié
A legfelső a / (per) jelű a „szekrény”, a főkönyvtár. Ezen belül található az /etc, /mnt, /home nevű polcok (könyvtárak). A home nevű polcon található néhány nagy kartondoboz: 08a, 08b, 09a, 09b, … felirattal (minden osztálynak van egy ilyen). Ezekben kisebb dossziék vannak az egyes tanulók adatai, állományai számára. Itt találja meg mindenki a saját iratait. Ha meg akarjuk mondani, hogy a home nevű polcon a tan nevű kartondobozban a 03txy nevű ember névsor nevű állományára (fájljára) vagyunk kíváncsiak, akkor ezt így írhatjuk le röviden: Unix esetén: /home/tan/03txy/névsor Windows esetén63: B:\home\tan\03txy\névsor vagy B:/home/tan/03txy/névsor64 Windows esetén általában az első esetet szokták használni, mert a DOSok és a régebbi Windowsok (pl. Win98) csak azt ismerték. De mivel az NTk (NT4, Win2000, winXP) már megfelelnek néhány Unix szabványnak, legtöbbször használható a második eset is.
60 A könyvtár nem egy jó magyar kifejezés, az angol directory (jelentése: névsor, címtár, lista, katalógus) szót fordították le nem túl szerencsésen, és ez terjedt el a köznyelvben. 61 Persze egy kallódó papír lehet közvetlenül a polcon is. 62 Ha a rendszergazda másképp nem rendelkezik. Ugyanis bármely másik „polcra” vagy „dobozba” is bele lehet tenni. 63 A példában feltételezzük, hogy a B: meghajtón található a fájl. 64 Windows esetén igazából „C:\Documents and Settings”-nek („C:\Dokumentumok és beállítások”) hívják azt, amit Unixban a „/home”-nak. 2004.07.07.; v0.9.2; © BMRG
18
3. Adatbeviteli eszközök 3.1. Billentyűzet A számítógép nélkülözhetetlen beviteli eszköze a billentyűzet. Ez a kezdetekben 84, ma már 101105 (vagy még több) billentyűt tartalmaz. Ezt a sok billentyűt néhány csoportba sorolhatjuk, így könnyebb megtanulni, hogy mi mire való.
5. ábra: A billentyűzet főbb részei
Írógépbillentyűk területe A legnagyobb terület az Írógépbillentyűk területe. Itt találhatók (az írógéphez hasonlóan) a betűk, számok, írásjelek. Ezen felül megtalálható még néhány speciális billentyű: VISSZATÖRLÉS (angolul backspace) billentyű (a terület jobb felső sarkában): az utoljára lenyomott betűt törölhetjük vele. ENTER (jobb szélen középen a legnagyobb): az adatbevitel (parancssor) végét, vagy a bekezdés végét jelezzük a lenyomásával. Ezután új sorban (új bekezdésben) folytatódik a gépelés. SHIFT billentyűk (alulról a 2. sor két szélén): A két billentyű ugyanazt végzi: ha lenyomva tartjuk, miközben megnyomunk egy betűt, akkor az eredménye a lenyomott betű nagybetűs változata (ha eddig csupa nagybetűvel írtunk, akkor ellenkezőleg: kisbetű lesz az eredmény). Ha számmal együtt nyomjuk le, akkor a szám felett rajzolt írásjelet kapjuk. CAPS LOCK (alulról a 3. sor bal szélén): Ha lenyomjuk, akkor bekapcsoljuk (vagy kikapcsoljuk) a nagybetűs írásmódot. Ez akkor hasznos, ha csupa nagybetűvel szeretnénk írni, mert akkor nem kell folyamatosan lenyomva tartani a Shift gombot. Azt, hogy éppen be vagy kikapcsolt a nagybetűs írásmód, a billentyűzet jobb felső részén található három jelzőlámpa egyike (középső) jelzi. TABULÁTOR billentyű (alulról a 4. sor bal szélén): A billentyűt megnyomva egy meghatározott karakter pozícióba ugorhatunk előre a sorban. Olyan, mintha egy olyan hosszú szünetet írna, ami pont akkora, hogy a következő (például 8. vagy 16.) pozícióra ugorjon a szövegbevitelt jelző kurzor. (Attól függően, hogy éppen milyen programot használunk, még sok más funkciója is lehet.) CONTROL (CTRL) billentyűk (legalsó sor bal és jobb szélen): Az egyes betű és számgombokhoz egy parancsot is hozzárendelhetünk, amit úgy hívhatunk elő, hogy a billentyűt a Ctrl lenyomva tartása mellett nyomjuk meg. Azt, hogy melyik billentyűre mi történik, az éppen használt program határozza meg. De például a Ctrl+S általában a munkánk elmentésére utasítja a programot. ALT billentyűk (legalsó sor, a szünettől jobbra és balra): Ezek a Ctrlhez hasonlóan speciális tulajdonsággal ruházhatják fel a betűgombokat. Azt, hogy mivel, szintén az éppen használt programtól függ. Az Alt+F4 például gyakran az ablak becsukását okozza.
2004.07.07.; v0.9.2; © BMRG
19
Magyar billentyűzetkiosztás esetén a jobb oldali Alt (szokták AltGrnek is hívni) segítségével lehet további írásjeleket előcsalogatni, mint például a szögletes (AltGr+F,G) vagy kapcsos zárójel (AltGr+B,N), a @ betű (AltGr+V) stb. Angol billentyűzeten mindkét Alt billentyű ugyanazt végzi, az előbb említett írásjelek az ékezetes betűk helyén találhatóak. MAKRÓ billentyűk: Az alt és Ctrl billentyűk között található még 23 ilyen gomb. Ezek is arra valók, hogy bizonyos parancsokat rendeljünk egyegy betűhöz. Hasonló „extra funkció billentyű”, mint a (bal oldali) Alt, vagy Ctrl.
Legfelső sor (Funkcióbillentyűk, ESC)
ESC: A billentyűzet tetején található az ESC gomb, ez az angol escape szó rövidítése. (Az escape
szó menekülést, szökést, kilépést jelent.) Ha egy programban tévedésből rossz parancsot vagy funkciót indítottunk el, akkor legtöbbször ezzel a gombbal „kimenekülhetünk” a téves műveletből. Magyarul: egy még befejezetlen műveletet félbeszakíthatunk vele. FUNKCIÓBILLENTYŰK (F1-F12): Ezek a gombok különféle parancsokat hajthatnak végre. Azt, hogy mit a programtól és az operációs rendszertől függ. Mivel különböző parancsot hajthat végre önmagában lenyomva, vagy a Shifttel, Alttal, a Ctrllal (vagy ezek kombinációjával) lenyomva, sokféle parancs kiadására alkalmasak. Általában az F1 billentyű a segítségkérés. Ha az éppen használt programban van beépített súgó, azt hívhatjuk elő vele.
Nyílbillentyűk és vezérlőgombok Az írógép és a numerikus billentyűzet között található (általában szürke színű) gombok. NÉGY NYÍL: ezek segítségével mozgathatjuk a szövegben a kurzort.65 NYÍL BILLENTYŰK FELETTI 6 GOMB: Működésüket az éppen használt program határozza meg, de általában ezt teszik: Insert: beszúró és felülíró mód között vált. Beszúró mód esetén a beírt billentyű jobbra félretolja a mögötte levő szöveget. Felülíró mód esetén egyszerűen átírja, ha volt már a kurzortól jobbra írva valami. Delete: törli a kurzortól jobbra levő betűt (téglalap alakú kurzor esetén azt, amelyik betűn villog a kurzor). Hasonló a backspace (visszatörlés) billentyűhöz, de az a kurzor előtt levő betűt törli. Home: Megnyomására a szöveg (esetleg az oldal, esetleg a sor) elejére ugrik a kurzor. End: Megnyomására a szöveg (esetleg az oldal, esetleg a sor) végére ugrik a kurzor. Page Up: Egy oldalnyit (vagy egy képernyőnyit) felfelé lapoz. Page Down: Egy oldalnyit (vagy egy képernyőnyit) lefelé lapoz.
PRINT SCREEN/SCROLL LOCK, PAUSE GOMBOK:
Print Screen/SysReq: Az operációs rendszer egy speciális funkcióját hívja elő, vagy nem csinál semmit sem. Windows esetén általában a képernyő kinézetét másolja a vágólapra. Scroll Lock: A görgetést zárolja vagy engedélyezi. Ha be van kapcsolva, akkor a billentyűzet jobb felső sarkában található lámpa világít. Ilyenkor a kurzormozgató nyílgombok hatása kicsit más: nem a kurzor mozog a képernyőn, hanem a kurzor alatt mozog a képernyő. Hasznos lehet, ha mindig látni szeretnénk, hogy mi van a kurzor körüli sorokban, mert így a kurzor nem megy ki a képernyő szélére, mert inkább a képernyő mozdul el alatta. Sajnos nem minden program támogatja ezt a speciális üzemmódot. Pause/Break: Ezzel a képernyőre listázást lehet megállítani, illetve folytatni. Arra való, hogyha egy program gyorsan ír ki sok képernyőnyi szöveget, akkor ezzel megállíthatjuk a kiírást, ameddig elolvassuk. Ctrl gombbal együtt megnyomva a Break funkciót66 látja el: ez egy speciális parancs a program számára, hogy hagyja abba a működését, és fejeződjön be.67 De nem minden program (vagy nem mindig) hallgat erre a parancsra.
65 A kurzor (angolosan cursor) a képernyőn az a jelzés (vonal vagy téglalap), ami azt mutatja, hogy a következő lenyomott betű hova fog kerülni a szövegben. (Ez a jelzés – programtól függően – gyakran villog is, hogy feltűnőbb legyen.) 66 A „break” angol szó jelentése: megszakítás, félbetörés. 67 Ez erősebb, mint az ESC gomb, mert az ESC nem a programot, hanem csak a program egyik műveletét szakíthatja félbe, ez pedig az egész programot leállítja. 2004.07.07.; v0.9.2; © BMRG
20
Numerikus billentyűzet Itt a számok és néhány más gomb található. Ha számolni kell, akkor általában gyorsabb a gombokat itt nyomogatni, mint az írógépbillentyűzeten. Ez a pénztárgéphez vagy számológéphez hasonló. A négy alapműveleti jelen felül megtalálható itt is egy Enter gomb (számológép esetén az „egyenlő”), valamint egy NumLock nevű gomb. A Num LOCK segítségével kapcsolhatjuk be, hogy ezen a területen a gombok a rájuk írt számokat jelentsék. (A NumLock be vagy kikapcsolt állapotát jobb felül a három jelzőlámpa egyike jelzi.) Ha kikapcsoljuk, akkor nem számokat jelentenek, hanem a négy kurzormozgató nyilat, valamint az Insert, Del, Home, End, Page Up, Page Down gombokkal azonos a jelentésük. Akkor van értelme kikapcsolni, ha a billentyűzeten nincsenek meg külön az említett gombok. (Az első (84 gombos) billentyűzeteken nem voltak külön nyílgombok és az Ins/Del/Home/End/PgUp/PgDown.) Ma a laptopok is ilyenek, mert ott nincs hely ilyen széles billentyűzethez.
3.2. Egér Az egeret elég régen, az 1980as években találták fel. Az egér lényege, hogy méri, hogy mennyit mozdítottuk el az asztalon, és alapján a számítógép mozgatja az egérkurzort (általában nyíl alakú jelzés a képernyőn). AZ EGÉR GOMBJAI: Az egérnek egy (Macintosh) kettő, három, vagy több gombja van. Kitüntetett szerepe van a bal oldali gombnak, mert ha valamire rámutatunk az egérkurzorral, akkor ezt megnyomva indíthatjuk el a mutatott dolgot. Az egér jobb gombja általában az adott helyzetben gyakran használatos parancsok listáját jeleníti meg. Az egér középső gombja nem mindig használt,68 általában nem túl fontos funkciókat tartalmaz, például (Linux esetén) „a beillesztés a vágólapról” műveletet. Kétgombos egér esetén a két gomb egyszerre történő megnyomásával helyettesíthetjük a hiányzó középső gombot. Egy gombbal is többféle parancsot adhatunk ki. Lehet vele egyet kattintani, vagy gyorsan kettőt (dupla kattintás), vagy gyorsan hármat (tripla kattintás), vagy hosszú kattintást69 végezni. (A legelterjedtebb a dupla és szimpla kattintás.)
AZ EGÉR MŰKÖDÉSE:
6. ábra: Az egér gombjai
Az egér kétféleképp érzékelheti az elmozdulást: Az egyik esetben az egér aljában egy golyó található, és ennek az elfordulását érzékeli. (Ez a „hagyományos” módszer.) Előnye, hogy olcsó, hátránya, hogy a golyóra (és belül a golyóhoz érő görgőkre) rárakódik a kosz, és akkor nem forog jól, megcsúszik a golyó. Időnként tisztítani kell. A másik esetben az egér (általában piros) fénnyel megvilágítja az asztalt, és egy kis kameraszerű fényérzékelővel megfigyeli az asztalon található apró repedések, porszemek elmozdulását. Ebből állapítja meg, hogy mennyit mozdítottuk el az asztalon. Az egér görgői: a legtöbb egéren ma már található egy (vagy két) görgő is. Ez egy kényelmi funkció, a tekerésükkel a görgetősávon görgethetjük a szöveget anélkül, hogy az egeret el kellene mozdítanunk a helyéről. A/D átalakítás: az egér az elmozdulást (távolságmérés) ami egy analóg jel belsőleg digitális jellé (számsorozattá) alakítja, és ezt küldi el a számítógépnek. Ezt a számítógéppel összekötő kábelen keresztül végzi. Vannak drágább infravörös70 és rádióhullámos összeköttetésű egerek is. Ezeknél nem kell az összekötő kábellel bajlódni, szabadabb a mozgatási lehetőség. Hátránya lehet, hogy nincs hozzákötve a számítógéphez, és így elviheti a macska, és akkor kereshetjük.)
68 Hogy a két gombos egeret használóknak ne okozzunk kellemetlenséget. 69 Hosszúkattintás: lenyomjuk a gombot, és 1-1,5 másodpercig lenyomva tartjuk (az egeret közben nem mozgatjuk el). 70 Mint a TV távirányítója. 2004.07.07.; v0.9.2; © BMRG
21
3.3. Szkenner A szkenner (magyarul „letapogató”) olyan eszköz, ami megvilágítja a papírlap egyes pontjait, és méri a visszaverődő fény erősségét. A fehér felületről sok, a feketéről kevés fény verődik vissza. Ezt a mért értéket számmá alakítja, és elküldi a számítógépnek, ami ezt (a kép egyes pontjait leíró számokat) eltárolja. A színes szkenner hasonlóképp működik, de nem csak egyszerűen fényerősséget, hanem a három színösszetevő (piros, kék zöld) fényerősségét méri. JELLEMZŐI: Hány különböző pontot tud megkülönböztetni a papíron minél többet, annál jobb (hány dpis) Egy képpont színét mennyire pontosan tudja megállapítani (hány színárnyalatot tud megkülön böztetni) Mennyire gyorsan olvas be egy A4es oldalt Mekkora lapot tud beolvasni (tude például A3as lapot beolvasni).
3.4. Hangkártya, mikrofon, hangszóró A hangkártya egyik feladata, hogy a mikrofonból, rádióból jövő analóg jeleket a számítógép számára alkalmas digitális jellé alakítsa (A/D átalakítás). A másik feladata, hogy a számítógép jeleiből hangot állítson elő (hangszórók segítségével) (D/A átalakítás). Az A/D és D/A átalakításról már szó volt a 1.4. fejezetben. A hangkártya képes arra, hogy több hangot összekeverjen (például a kedvenc zeneszám lejátszása közben hallható legyen a játékprogram hangja is). Az A/D D/A átalakítást és hangkeverést ma már minden hangkártya el tudja végezni. A drágább hangkártyák mindezt jobb minőségben képesek elvégezni, és képesek (a processzor utasításai szerint) önállóan is hangot előállítani, így átvállalnak egy kis munkát a processzortól (ami így más hasznosabb dolgokat végezhet).
4. Adatmegjelenítő eszközök 4.1. Monitorok és videokártyák MONITOR az a TVszerű dolog, amin látjuk a számítógépes képeket és szövegeket. Három dolog jellemzi: a megjeleníthető színek száma, a felbontása és a típusa (CRT vagy LCD) Színek száma: Vannak egyszínű (idegen szóval monokróm71) monitorok, amelyek (a „nem világító” fekete színen kívül) egyetlen másik színt (általában zöldet, vagy fehéret) tudnak megjeleníteni. A kép egyes pontjai vagy világítanak az adott színnel vagy nem (ekkor feketék). Ezt látjuk Ma többnyire pénztárgépekben, régebbi busz/vonat/bankjegy kiadó Piros Zöld Kék automatákban találkozhatunk monokróm monitorral. Fekete A színes monitor minden egyes képpontja igazából három darab világít Piros különböző színű (piros, zöld, kék, vagyis RGB72) képpontból áll. világít Zöld Aszerint hogy a három közül melyeket gyújtjuk ki, a képpont világít világít Türkiz (ciánkék) különböző színűnek látszik (lásd 4.Táblázat: Színkeverés). Az első világít Kék színes monitorok ezt a 8 színt tudták megjeleníteni. világít Bíbor (lila) A mai monitorokon ennél sokkal több szín lehetséges, mert az világít egyes alapszíneknek különféle árnyalatait is képesek előállítani világít világít Sárga (nem csak a világít vagy nem világít állapot). Általában különkülön világít világít világít Fehér 256 árnyalat lehetséges az alapszínekből.73 Azaz az összes 4. Táblázat: Színkeverés lehetséges színárnyalatok száma 16,7 millió (256*256*256).74
A
71 monokróm: mono=egy, chrome=szín 72 Az színek angol nevének (Red, Green, Blue) rövidítéséből. 73 Például narancssárgát így lehet kikeverni: a piros és zöld ¾ fényerővel, a kék pedig nem világít. (De lehet sötétebb vagy világosabb narancssárgát is előállítani…) 74 Ennél több színárnyalat nem jellemző, mert az emberi szem nem képes több színt megkülönböztetni, ezért felesleges lenne. 2004.07.07.; v0.9.2; © BMRG
22
A monitor felbontása: A monitor képernyője nem egy egybefüggő felület hanem sok apró pontból áll. Ez meghatározza azt a legvékonyabb, legfinomabb rajzolatot, amit meg tud jeleníteni.75 Ha viszont ennél apróbb dolgot szeretnénk kirajzoltatni, akkor az homályos, összemosódó képet ad. A monitor típusa: A hagyományos, katódsugárcsöves monitorok: egy katódnak nevezett (izzó) fémlapból elektronsugár áramlik a képernyő felületének, és ettől „világít” az képpont. (Ha lezárják az áramlás útját, akkor nem világít.) Az LCD monitorok a kvarcórához (vagy a fényújsághoz) hasonlóan működnek: a képernyő egyes pontjait, mint kicsi lámpákat különkülön ki és be lehet kapcsolni. Az LCD a hagyományos monitorhoz képest lapos, kis fogyasztású, nem fárasztja annyira a szemet. Viszont drágábbak, és lehet, hogy előfordul benne képponthiba76 (ez némely embert zavarhat). VIDEOKÁRTYA (vagy monitorvezérlő) a számítógépben található bővítőkártya, amelyik tárolja, hogy minek kell látszódnia a képernyőn, és ez alapján megmondja a monitornak, hogy a képernyő mely részeit milyen színnel kell kirajzolni. (A monitort egy kábel köti össze a videokártyával.) A kapott kép minőségét a monitor és a videokártya együtt határozza meg: hiába mond a videokártya mindenféle szép színeket, ha a monitor csak a zöld különböző árnyalatait (feketétől világoszöldig) tudja megjeleníteni, a kép zöld lesz. Vagy fordítva: hiába van egy színes monitorunk, ha a videokártya csak fekete, és fehér színeket ismeri (és csak ezeket mondja a monitornak).
A
AZ ADATMEGJELENÍTÉS FEJLŐDÉSE:
Az első generációs IBM PCk még monokróm monitorral77 rendelkeztek. A videokártya csak
alfanumerikus karaktereket (betűket, számokat, írásjeleket) tudott megjeleníteni. A kép 80 oszlopból és 25 sorból állt, így minden betű egyforma (téglalap alakú) helyen került ábrázolásra. A képernyőre így kereken 80x25=2000 betű fért ki egyszerre. A videokártya azt tárolta, hogy melyik helyen milyen betűnek kell látszani. Egy betű tárolásához 1 byte szükséges, tehát legalább 2000 byte (≈ 2 KByte) RAM kell egy ilyen videokártyába. A második generációs megjelenítők tudtak grafikát is megjeleníteni (az alfanumerikus módon kívül). Például a nagy felbontású Herkules monitorok 720x348 képpontot tudtak ábrázolni. Grafikus üzemben minden egyes képpontot különkülön lehet ki és bekapcsolni. (Ehhez 1 bit szükséges.) Ez azt jelenti, hogy 720x348=250560 képpontról kell megmondani, hogy melyik legyen bekapcsolt (fehér) vagy kikapcsolt (fekete). 250560 bit=31320 byte. (mert 1 byte az 8 bit). Tehát grafikus módban kb. 32 KByte RAM szükséges. (Ez 16szorosa az első generációnak.) A harmadik generáció a színes megjelenítés korszaka. Az első a „színes grafikus adatper” volt (Color Graphics Adapter, azaz CGA kártya, amihez a színes CGA monitor passzolt78). Ez 320x200 as felbontásban egyszerre 4 színt (2 bit kell hozzá) tudott megjeleníteni. (Ehhez 320x200x2= 16000 Byte ≈ 16 KByte RAMra volt szükség.) A legjobb színes megjelenítésre a VGA kártyák voltak képesek.79 640x400 képpontot tudott ábrázolni, és akár 16 szín egyidejű megjelenítésére is képes volt. A programok (illetve a felhasználó) választhatott, hogy hány színt (16ot, 4et vagy 2t (fekete fehér)) és milyen felbontást (640x400, 640x200, 320x400, 320x200) szeretne használni. Persze miért választana bárki kevesebbet, mint 16 színt és 640x400at? Egyrészt azért, hogy a CGA kártyára megírt régebbi (320x200as felbontása) program is jól működjön. De az igazi ok a memóriaszükséglet: 640x400=256000 képpont 16 szín (képpontonként 4 bit) tárolásához 256000*4 bit = 128000 Byte ≈ 128 KB RAM lenne szükséges. De ha a kártyán csak 32 KB van, akkor erre nem képes.80 Ha utána számolunk, kiderül, hogy 640x400 esetén csak 1 bit jut egy képpontra (monokróm üzemmód). Ha két bitet szánunk 1 képpontra (4 szín), akkor a nagy 75 Durvább rajzolatot könnyedén megjeleníthet: mindössze több egymás melletti pontot egyszerre kell „bekapcsolni”. 76 Ez olyan „meghibásodott” képpont, amit nem lehet ki- vagy bekapcsolni. Eredménye: egy fekete képernyőn ott világít egy pici fehér pont (mert nem lehet kikapcsolni). Vagy egy fehér kép egyik pontja fekete (mert nem lehet bekapcsolni). (Színes LCD esetén nem csak fekete/fehér, hanem piros, zöld, kék is lehet a képponthiba.) 77 Mégpedig a zöld színűvel, mert csak később „találták fel” a fehér színű monokróm monitort. 78 Telefonon felhívja a felhasználó az IBM-et, hogy nem megy a monitor. Az ügyfélszolgálatos megkérdezi a részleteket: – CGA monitor? – Nem a cégé, hanem a sajátom! 79 Ma is ezeknek a továbbfejlesztett változatait használjuk. Minden PC bekapcsolsakor alfanumerikus (szöveges) VGAüzemmódban indul. 80 Több memória esetén drágább a kártya. 2004.07.07.; v0.9.2; © BMRG
23
felbontásról kell lemondanunk: 640x200 vagy 320x400 a maximum. Ha még több színt (16 szín, 4 bit/képpont) kérünk, akkor már csak a 320x200as felbontás marad.81 A mai monitorok és videokártyák általában 1024x768as felbontást, és képpontonként 3 byteot82 (11 byte a három színösszetevőnek, azaz 16,7 millió színárnyalatot) használnak a kép ábrázolására. Ez azt jelenti, hogy legalább 1024x768x3=2304 KB RAM szükséges ehhez. Mivel ez több, mint 2 megabyte (2 MB) a következő kerek szám a 4 MB83. Ebből látható, hogy az első generációhoz képest több, mint ezerszeresére nőtt a képmegjelenítéshez szükséges RAM, „a kornak megfelelő” grafikus megjelenítéshez 4 MB memória is elég. (Bár a mai videokártyák álta lában 64256 MB RAMmal rendelkeznek.84)
4.2. Nyomtatók Többféle módon lehet nyomtatni a papírra, így különböző nyomtatótípusokat különböztetünk meg:
Sornyomtató
MŰKÖDÉSE: Egy nagy szekrényben van egy henger, amin
hosszában ki vannak domborítva a számok, betűk és kalapács írásjelek (egy sor A betű, egy sor B betű stb.85). A hengeren A betű domború képe levő betűk felett van a festékszalag, az felett a papír, a Papír papír felett kalapácsok. Minden egyes sor nyomtatásakor a papír alatt körbe forog a henger. A minden kalapács egyszer ráüt a papírra (akkor amikor épp az a betű fordult a papír alá, ami oda kell írni). A kalapács és a betű közé Festékszalag Betűhenger szorult papír + festékszalag eredménye a betű alakú festékes nyom a papíron.) JELLEMZŐI: Nagyon gyors, nagy, Ábra 7Sornyomtató hangos, idővel kopnak a betűk, rögzített jelkészlet (csak olyan karakterek vannak, amilyet a hengerre rávéstek a gyárban) a betűk kicsit ugrálnak felle a papíron: ha kalapács egy kicsit előbb (vagy később) csap, akkor a betű még nem fordult be teljesen a helyére, ezért kicsit feljebb, (vagy már túlfordult, ezért kicsit lejjebb) lesz a sorban.
Mátrixnyomtató ELV: Van egy nyomtatófej, amelyben egymás alatt megtalálható 9 (később 24) tű. A fej a tűkkel együtt vízszintes irányban halad, és a megfelelő tűket kilöki. A tű így hozzányomja a a festékszalagot a papírra, és így ott egy fekete pötty lesz. Ilyen kis pöttyökből rajzolja ki a betűket. Egy betű kirajzolása több lépésben történik: a példában (8. ábra jobb oldal) látható, hogy első lépésben az „A” betű első oszlopát úgy rajzolja ki, hogy (lentről számítva) a 3.7. tűket löki ki. Ezután a fej vízszinte sen odébb mozog, majd az 5. és 8. tűt löki ki. Ezután ismét odébb mozog, és az 5. és 9. tűvel rajzolja meg a 3. (középső) oszlopot, és így tovább.
MŰKÖDÉSI
81 A példa nem egészen pontos, mert valójában 64-256KB RAM található egy VGA kártyán. A videokártyák a leírtnál bonyolultabban működnek (bitsíkok, memórialapozás stb.), a példa csak egy egyszerűsített gondolat a belső működésükről. 82 Technikai okokból ez a három byte igazából négy. 83 Számítástechnikában és kettes számrendszerben a „kerek” számok a következők: 1, 2, 4, 8, 16, 32, 64, … A memóriák általában csak „kerek” méretben kaphatóak.
84 Az ennél több RAM nem befolyásolja a kép kinézetét. Valójában a mai videokártyák már nem csak képmegjelenítő eszközök, hanem speciális számítógépek, amelyek a három dimenziós képmegjelenítéssel kapcsolatos számításokat önállóan elvégzik. Erre használják a 4 MB-on felüli RAM-ot. 85 Valójában nem egymás mellett vannak a betűk (AAAAA … ), hanem elcsúsztatva ( ABCDE … ) ugyanis ha például egy táblázat vízszintes vonalát jelképező „–” (mínusz) jeleket nyomtatunk, akkor a 80 kalapács egyszerre csapna oda. Abba pedig beleremegne a szoba… Az elcsúsztatás miatt viszont ilyenkor egyszerre csak egy kalapács üt. 2004.07.07.; v0.9.2; © BMRG
24
2. oszlop 3. oszlop 4. oszlop 5. oszlop
1. oszlop
A mátrixnyomtatókban többnyire leporelló papírt használnak. Ez egy nagyon hosszú perforált papír, a szélén két sorban lyukakkal. Tartalmaz ROMot, mert a nyomtatónak tudnia kell, hogy az egyes betűknél mikor melyik tűt kell kilökni. (Tehát a ROMban van az, hogy például az A betűhöz 37., majd 5., 8., ezután 5. 9., majd 5. 8., végül 37. tűt kell kilökni a kirajzoláshoz.) JELLEMZŐI: Lassabb (mint a sornyomtató), kisebb, hangos, 8. ábra: Mátrixnyomtató: 9 tűs fej, a minősége közepes: és egy "A" betű nyomtatási képe ahogy a tűk végei kopnak, nem szabályos kör, hanem valami krumpli alakú lesz a pont a papíron. a pont nem egyenletesen fekete mert ahogy kopik a tüske, az egyik része jobban odanyomja a szalagot, mint a másik. üzemeltetése nagyon olcsó (a festékszalaggal sok oldalt ki lehet nyomtatni). nyomtató maga nem annyira, de olcsó (a nyomtatófejet precízen kell elkészíteni). Rögzített jelkészlet (a ROM miatt), nincs grafika sem. Az újabb változatok már tartalmaznak RAMot is, így lehetőség van beletölteni (nyomtatás elején) például a magyar ékezetes betűk alakját is. Még újabbak grafikát is tudnak nyomtatni. Lehet vele önindigós papírra is nyomtatni (egyszerre akár 4 példányban), ezért ma is használt pénztárgépekben, és banki papírok86 nyomtatásában. Felbontása: 36144 dpi (dpi=dot per inch, vagyis hány pontot tesz 2,54 cmre) Minél apróbb, több pontot tud írni a nyomtató 1 inchnyi helyre, annál jobb minőségű lesz az eredmény.
Tintasugaras nyomtató ELV: Folyékony tintapatronhoz csatlakoznak nagyon vékony csövecskék (ezek megtelnek tintával), majd a cső oldalát (amikor kell) hirtelen megmelegítik. Ezáltal a tinta felforr, és kispriccel a csőből a papírra. Ott megszárad, és lesz egy kis fekete pötty. JELLEMZŐI: Lassú, kb. a mátrixnyomtatóval egyforma sebességű, halkabb, mint a mátrixnyomtató, szebb nyomtatási képet ad , mert a fúvóka nem kopik (Így a pont kör alakú, és egyenletesen fekete lesz.) felbontása általában 360720 dpi körül van. csak egy példányban nyomtat, saját jelkészlet, grafika nyomtatása lehetséges. A nyomtató olcsó, de az üzemeltetése drága: a festékpatron gyakran sokba kerül (a nyomtatófejhez megfelelő speciális festéket szabad csak használni). Igazán szép nyomtatást csak a nyomtatóhoz ajánlott (szintén drága) papírral lehet elérni. (A hétköznapi papíron a rostok szétvezetik a folyékony tintát, és így kicsit „szőrös” lesz a nyomtatott betűk széle.) Lehet vele színesen is nyomtatni (szintén a festékhez való drága papíron igazán szép). Színes nyomtatáshoz türkiz (Cyan), sárga (Yellow), bíbor (Magenta) színek kellenek a feketén (blacK) kívül. Ezt a színkeverést CYMKnak szokták rövidíteni. Nyomdákban is ezt használják.
MŰKÖDÉSI
A csokipapíron (vagy joghurtos dobozon) valami nem feltűnő helyen egymás mellett színes tégla lapok, vagy egy célkeresztben koncentrikus színes körök találhatóak. Ez azért van, mert itt ellenőrzik a nyomdászok, hogy a színek ne csússzanak el. (Akkor szellemképes lenne az ábra.) Elméletileg a türkiz (ciánkék), sárga és bíbor színekből is ki lehet keverni mindenféle színt, (hasonlóképp a monitoroknál megismert RGB (piroszöldkék) színekhez hasonlóan. Gyakorlatban 86 Bankban azért előírás a használatuk mert ahogy a tüske hozzányomja a festékszalagot a papírhoz, egy kicsit be is nyomja a papírt. Ha valaki hamisítani akarja a kinyomtatott pénzösszeget (például vegyszerrel eltűntet egy 0-t a végéről), akkor a benyomódás ott marad a papíron, és nagyítóval jól látszik. 2004.07.07.; v0.9.2; © BMRG
25
viszont a papíron mindig a CYMKt használják, mert a papír általában fehér, és ezt „sötétítjük” a festékkel, monitoroknál pedig az RGBt, mert a monitor „fekete”, és a színek segítségével világosítjuk ki a kép pontjait.
Lézer nyomtató
JELLEMZŐI:
Halk, gyors Drága a készülék (a tintasugaras vagy mátrixhoz képest)87 Drága az üzemeltetése (bár olcsóbb, mint a tintasugaras). Saját jelkészlet, grafika nyomtatható. Legjobb minőséget adja. Van színes változata is, de az még nagyon sokba kerül. Felbontása: 3002400 dpi. MŰKÖDÉSI ELV: A fénymásolóhoz hasonló. Szelén: fémes jellegű anyag, fény hatására megváltoztatja az elektromos vezetőképességét. Lézer, lézerfény: Olyan vékony fénysugár, amelynek a fénye egyenesen előre megy, és nem szóródik szét, mint például a zseblámpáé. Toner: Festékpor és egy gyanta szerű anyag keveréke. Működés: 1. Van egy szelén henger, amelyiknek az egyik pontját megvilágítjuk lézerrel, ezáltal megváltozik az elektromos töltése. (Ez majd magához vonzza a tonert, mint a műanyagvonalzó a papírdarabkát.) 2. Valójában nem egy pontot világítunk meg, hanem egy mozgó tükörrel (vagy prizmával) végigvezet jük a sugarat a szelénhengeren (hosszában) Közben kibe kapcsoljuk a lézert, aszerint hogy hol szeretnénk fekete színt a papíron. 3. A szelénhenger forog, a lézerfény pedig hosszába jobbrabalra végigpásztázza, és ezáltal elektromos töltésekkel „kirajzolja” rá a nyomtatandó képet. 4. Ezután a henger tovább fordul a tonerhez, és ahol a lézer érte, ott magához vonzza a festékpor szemcséket. 5. A tonerrel „összekoszolt” henger ezután ráfordul a papírra, és rányomja a festékport. 6. Fixálás: A papír, mielőtt kijön a nyomtatóból, egy másik, magas hőmérsékletű hengerhez kerül. A papírra nyomódó forró henger megolvasztja a tonerben a gyantát, és így az ráolvad a papírra.88 7. A még langyos papír kijön a nyomtatóból, a szelénhenger pedig egy fémrúd (tisztítóhenger) mellett halad el, hogy az esetleg rajta maradt tonerszemcséktől és elektromos töltéstől megtisztítsa, mielőtt újra eléri a lézert.
Mozgó tükör
Lézerforrás
1-3. Lézerfénnyel megvilágítjuk a szelénhenger egyes pontjait
Tisztítóhenger
4. Egy kis segédhenger egyenletesen hozzányomja a tonert a szelénhengerhez. De csak ott tapad hozzá a toner, ahol a lézer feltöltötte a szelént. Szelénhenger Toner (Festékpor és gyantaszerű anyag keveréke)
forró fixáló henger Papír
6. A forró henger megolvasztja a tonerben levő gyantát, és a festékpor ráolvad a papírra.
5. A szelénhengerröl a papírra ráragad a toner.
Ábra 9Lézernyomtató működési elve
87 Az első léreryomtató (Xerox, 1978) még 500 000 dollárba került… 88 Ha beragad a papír, és ráolvasztás előtt kivesszük, akkor a szöveget szét lehet maszatolni, és magunkat is össze tudjuk kenni. 2004.07.07.; v0.9.2; © BMRG
26
Hőnyomtató Felépítése: Egyenes vonalban sok kis elektromos ellenállás található. Ezek felett lassan elhalad egy hőérzékeny papír. Ahol azt szeretnénk, hogy a papír fekete legyen, ott a megfelelő ellenállásra áramot kapcsolunk, amitől az ellenállás felmelegszik, és a melegtől fekete lesz a papír. Ilyen nyomtatási módszer található a legtöbb faxkészülékben, és az áruházi mérlegek vonalkódos címkenyomtató készülékében. JELLEMZŐI: olcsó (nem igényel bonyolult mechanikát) kis felbontású (viszonylag nagyok a pontok) halkan működik
5. Mellékletek 5.1. ASCII kódok: Ha megfigyeljük, 4 darab 32es csoportba89 vannak rendezve a kódok: a binárisan 00xxxxxás kezdetű csoport a (031es kódok) a speciális kódok csoportja. A 01xxxxxes csoport (3263) az írásjelek és számok, az 10xxxxx csoport az angol ABC nagybetűi, az 11xxxx az angol abc kisbetűi. Ezt előre megfontolt szándékkal tervezték így: a kis és nagybetű közti átalakításhoz csak az 5. bitet kell 0ra vagy 1re állítani90 Ha a program számjegyeket vár, akkor a nem 0011 kezdetű jeleket eleve nem kell elfogadni.
5.2. UNICODE karakterek átkódolása UTF-8-ra Char. number range | UTF-8 octet sequence (hexadecimal) | (binary) --------------------+--------------------------------------------0000 0000-0000 007F | 0xxxxxxx 0000 0080-0000 07FF | 110xxxxx 10xxxxxx 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
(Extended Binary-Coded Decimal Interchange Code) (MSZ 7795-3:1992 / EBCDIC). is (Codepage 852 (Eastern Europe); MSZ 7795-3:1992 / ASCII/PC)
http://www.btk.elte.hu/palimpszeszt/pali10/20.htm EBCDIC kódolás: az ASCIIhez hasonló (csak már korábban is használták), csak más kódok jelentik az egyes betűket. Az IBM nagygépek ezt használják a mai napig.
89 A 32 binárisan kerek szám. 90 Lásd: nagy „A” és kis „a” kódja közti különbség 2004.07.07.; v0.9.2; © BMRG
27
Tartalomjegyzék 1.Elméleti alapok.................................................................................................................................1 1.1.A kettes számrendszerről.........................................................................................................1 Prefixumok (kilo, mega, giga) a számítástechnikában...............................................................3 Átváltás 10es és 2es számrendszer között.............................................................................3 Összeadás, kivonás természetes számokkal............................................................................4 Negatív számok.........................................................................................................................5 Tört számok...............................................................................................................................6 Lebegőpontos számok..............................................................................................................7 1.2.A tizenhatos (hexadecimális) és nyolcas (oktális) számrendszer.............................................7 1.3.BCD számok............................................................................................................................8 1.4.Az A/D és D/A átalakítás..........................................................................................................9 1.5.Szövegek tárolása..................................................................................................................10 2.Adatok tárolása a számítógépen....................................................................................................12 2.1.Memória.................................................................................................................................12 Memóriafajták..........................................................................................................................12 Példák a RAM és ROM használatára......................................................................................13 2.2.Háttértárolók...........................................................................................................................13 Papír alapú tárolók:.................................................................................................................14 Mágneses tárolók:...................................................................................................................14 Optikai tárolók:.........................................................................................................................17 Adatok rendszerezése a háttértárolókon.................................................................................18 3.Adatbeviteli eszközök.....................................................................................................................19 3.1.Billentyűzet.............................................................................................................................19 Írógépbillentyűk területe.........................................................................................................19 Legfelső sor (Funkcióbillentyűk, ESC) ...................................................................................20 Nyílbillentyűk és vezérlőgombok.............................................................................................20 Numerikus billentyűzet............................................................................................................21 3.2.Egér........................................................................................................................................21 3.3.Szkenner................................................................................................................................22 3.4.Hangkártya, mikrofon, hangszóró...........................................................................................22 4.Adatmegjelenítő eszközök.............................................................................................................22 4.1.Monitorok és videokártyák......................................................................................................22 4.2.Nyomtatók..............................................................................................................................24 Sornyomtató............................................................................................................................24 Mátrixnyomtató........................................................................................................................24 Tintasugaras nyomtató............................................................................................................25 Lézer nyomtató........................................................................................................................26 Hőnyomtató.............................................................................................................................27 5.Mellékletek.....................................................................................................................................27 5.1.ASCII kódok:..........................................................................................................................27 5.2.UNICODE karakterek átkódolása UTF8ra...........................................................................27 Változtatások története: 2004.05.28.
ver. 0.9
Első publikus kiadás
2004.06.02.
ver. 0.9.1
Néhány helyesírási és oldaltörési hiba javítása
2004.07.07.
ver. 0.9.2
Helyesírási hibák javítása
2004.07.07.; v0.9.2; © BMRG
28