Bevitel-Kivitel • Eddig a számítógép „agyáról” volt szó – Processzusok, memória, stb
• Szükség van eszközökre
Operációs rendszerek
– Adat bevitel és kivitel a számítógépből, -be – Perifériák
MINB240
Feladat: I/O eszközök vezérlése
8-9. előadás
•Parancs kiadás
Input és Output I.
•Megszakítás kezelés •Hibakezelés •Kapcsolódási felület biztosítása
Operációs rendszerek MINB240
1
2
Perifériák
Perifériák csoportosítása használat szerint • Háttértár
• Beviteli eszköz, interface az ember felé
– Merevlemezek, diszkek – Optikai lemezek (CD-ROM, DVD) – Solid-state lemezek (flash)
– – – –
• Megjelenítő, kiviteli eszköz
Billentyűzet Egér Mikrofon Lapolvasó (Scanner)
– Kijelzők, monitorok – Nyomtatók – Hangkártyák
3
4
Perifériák
Perifériák, adatátvitel
• Hálózati eszközök
• Átviteli sebesség is teljesen különböző lehet
– Vezetékes • Réz alapú • Optikai
– Vezeték nélküli • Infravörös (IrDA) • Rádiófrekvenciás (WiFi, Bluetooth)
• Egyéb periféria – Időzítő – Véletlenszám generátor – Stb. 5
Blokkos, karakteres eszközök
Blokkos, karakteres eszközök határa
• Blokkos eszköz – – – – –
Információt adott méretű blokkban tárolja, adja át Saját cím Szokásos méret: 256 byte - 32 KB Az egyes blokkok a többitől függetlenül írhatók, olvashatók Pl.: lemez
• Karakteres eszköz – – – –
6
Karakterenként írható, olvasható az adat Nem címezhető, Nem kereshető tetszőlegesen, csak az elejétől történik a keresés Pl.: nyomtató 7
• A határ nem éles • Pl.: Szalagos egység – bár blokkokban tárolja az adatot – elejétől kell keresni
• Bizonyos eszközök nem sorolhatók be e két csoportba – Pl.: Óra
8
Perifériák
Perifériák
• Nagy számú, különböző periféria létezik
• Úgy tűnik különböző interface-t igényelnek
– Különböző tulajdonságok – Különböző kezelési mód – Különböző adatmennyiség átadása (blokkos, karakteres) – Különböző adat reprezentálási módok (kódolás) – Különböző hiba kezelés
– Minden periféria különböző interface? – Sokféle de hasonló interface kód ismétléshez vezethet
• Kihívás – Azonos, hatékony mód a perifériák kezelésére
9
I/O fejlődése 1.
10
I/O fejlődése 2.
• Processzor közvetlenül kontrollálja az eszközt
• Eszközkezelő, I/O modul – A processzor a modult programozza (megszakítás nélkül) – UART: Universal Asynchronous Receiver Transmitter
11
12
I/O fejlődése 3.
I/O fejlődése 4.
• A processzor nem tölt időt az I/O műveletre való várakozással – Megszakítás jelzi a művelet végét
• Direct Memory Access, DMA – Adat bekerül a memóriába a processzor kezelése nélkül – A processzor csak művelet elején és végén játszik szerepet
13
I/O fejlődése 5.
14
I/O fejlődése 6.
• Az I/O modulnak saját processzora van
• I/O processzor
– Pl. SCSI kontroller
– Önálló processzor, memória, belső busz, stb. – Egy önálló számítógép – Pl. Myrinet 10 gigabit NIC
15
16
Sínek / buszok
Sínek és buszok
• A részegységek közötti kapcsolatot biztosítja • Rendszerint több szálból álló szabványosított vezetékrendszer • Osztályozási szempontok lehetnek:
• Perifériák nem érhetik el a memóriát • Csak programozott I/O lehet • Processzor és RAM között gyorsabb lehet az összeköttetés
• Adatsín és címsín • Párhuzamos és soros kialakítású • Szinkron és aszinkron ütemezésű
17
Sínek és buszok
18
Sínek és buszok
• Két sínt összevonhatjuk – Közös sebesség – Processzor órajelét csak a többi periféria gyorsításával lehet elérni
19
• Két sín, melyeket egy híd köt össze • Processzor és RAM között tetszőlegesen gyors lehet az átvitel
20
Sínek és buszok
Sínek és buszok
• Mai számítógépek hidakat használnak – További leágazások lehetségesek – Northbridge: CPU, RAM, grafikus segédprocesszor kapcsolata – Southbridge: Northbridge és a többi sín közötti kapcsolat • • • • • • •
PCI: Periferial Control Interconnect ISA: Industry Standard Architecture (régi) IDE: Integrated Drive Electronics (háttértárak) SCSI: Small Computer System Interface USB: Universal Serial Bus (külső eszközök) FireWire CardBus
21
22
Sínek és buszok
Programozott I/O •
Intel P35
• •
Minden vezérlő rendelkezik néhány regiszterrel a vezérléshez Állapot bit: jelzi, ha műveletet végez Néhány vezérlő adatbufferrel is rendelkezik – Framebuffer, video RAM
•
CPU kommunikáció a vezérlőregiszterekkel 1. I/O kapu 2. Memórialeképezésű I/O
23
24
1. Programozott I/O, I/O kapu
2. Memórialeképezésű I/O
• I/O kapuhoz egy 8-16 bites szám van rendelve • Utasítás
• Az I/O regiszterek a memória egy részén található Memória
– IN REG, PORT : Kiolvassa a portot és a regiszterben tárolja az adatot – OUT PORT, REG : A regiszter értékét kiírja a portra (beírja a vezérlőregiszterbe)
• Hibrid rendszer (x86)
Memória
I/O kapuk
Memória
I/O kapuk 25
Programozott I/O Read parancs az I/O modulnak I/O modul státusza nem
Készen áll?
CPU I/O
Programozott I/O • Könnyen kivitelezhető, de
I/O
– Terheli a processzort, más feladat nem végezhető
CPU
• Tevékeny várakozás • Figyelni kell az állapot bitet • Lehet hogy nagyon hosszú ideig kell várni az adatra
hiba
igen
nem
Adat olvasás az I/O modulból
I/O
Adat írás a memóriába
CPU
26
– A státuszregisztert folyamatosan figyelni kell, van-e adat
CPU
memória
Végeztünk? igen 27
28
Megszakításvezérelt I/O
Megszakításvezérelt I/O
• Az eszköz generáljon egy megszakítást, ha új adat érkezett • Megszakítás hatására a processzor felfüggeszti az aktuális processzust és a megszakításkezelő feldolgozza az adatot • Különböző eszközhöz különböző megszakításkezelő kell
29
Megszakításvezérelt I/O
30
Megszakításvezérelt I/O CPU
• Az operációs rendszer osztja szét a megszakításokat • Néha az eszközök osztozni kényszerülnek a megszakításon
Read parancs az I/O modulnak I/O modul státusza
Státusz?
– A megszakításkezelőnek minden eszközt ellenőriznie kell, hogy kihez tartozik a megszakítás
• Mentesíti a processzort a tevékeny várakozástól • Az adat bevitelt és kivitelt még mindig a processzor végzi
I/O
valami mást csinálhatunk megszakítás I/O
CPU
hiba
kész
nem
Adat olvasás az I/O modulból
I/O
Adat írás a memóriába
CPU
CPU
memória
Végeztünk? igen
31
32
Megszakítás kezelés
CPU állapot - Pontos megszakítás
• Mielőtt a megszakítás feldolgozása megtörténik, az állapotot el kell menteni Æ De hova? – Regiszter? • felülírható?
– Felhasználói szintű verem? • Lehet hogy nem érvényes
• Egy megszakítás, mely a gépet egy pontosan definiált állapotban hagyja – IP elmentve egy ismert helyre – Az IP előtti utasításokat teljesen végrehajtotta – Az IP utáni utasításokból egyik sem változtat meg semmilyen „külsőleg” elérhető állapotot
• Pentium Pro (P2, P3, P4) a visszafelé kompatibilitás miatt ilyen
– Kernel verem?
• Mi a CPU állapota?
– Megszakítás logika nagyon „drága” – Op. rsz. szempontjából nagyon kedvező
– Pontos és pontatlan megszakítások 33
CPU állapot - Pontatlan megszakítás • Pipeline architektúra
34
Közvetlen memória-elérés (DMA) • Hogy lehet, hogy nem a processzor végzi a bevitelt és kivitelt? • A periféria közvetlenül elérheti a memóriát és közvetlenül írhat vagy olvashat • Direct Memory Access (DMA) (hozzáférés a CPU-tól független rendszersínhez)
– Utasítások párhuzamos végrehajtása – Utasítások sorrenden kívüli végrehajtása – A feltételes utasítás sorozat végrehajtása, mielőtt a feltétel eredményét ismernénk
• Megszakítás esetén a CPU állapotának reprezentálására nem elég az IP – Ezt mind visszafejteni nehéz, bonyolult – Mindenféle állapotjellemzők elmentése, majd az op. rsz. kitalálja mit kell csinálni 35
36
DMA nélküli lemezolvasás
DMA
• Vezérlő beolvassa a meghajtóról a blokkot a saját pufferjébe • Hibajavító kód számolás – olvasási hiba volt-e • Megszakítás • Op.rsz. futtatás beindítása – a vezérlő pufferből olvas ÆCPU idő pazarlás Cél: alacsony szintű munkától való megszabadulás
• CPU: • Blokklemezes címét • Memóriacímet • Mozgatandó bájtok számát
37
DMA 1. CPU beállítja a DMA vezérlőt
DMA Meghajtóegység
DMA
Lemezvezérlő
Mem. Cím
Puffer
Számláló
CPU
Memória 4. Nyugtázás
Megszakítás ha kész
2. DMA átvitelt kér
38
3. adatátvitel 39 Sín
• CPU beprogramozza a DMA-t (1) • Utasítást ad a lemezvezérlőnek, hogy olvasson be adatot a lemezről a pufferbe • Ha a puffer tele indulhat a DMA • A DMA vezérlő elindítja az átvitelt (2) • A lemezvezérlő a pufferből a memóriába másol egy szót (3) • Ha az írás készen, a lemezvezérlő nyugtázást küld a DMA-nak (4) 40
DMA
DMA
• A DMA növeli a címet és csökkenti a számlálót • (2)-(4) lépések ismétlése, amíg a számláló zérus lesz • Ha kész, megszakítás jön létre – Az adat már a memóriában van, nem kell másolni
• Miért kell a puffer? – Mielőtt az átvitel megtörténne ellenőrzést lehet végezni az adaton (hibaellenőrző kód) – Ha a lemez olvasás megindult, az adatok folyamatosan érkeznek függetlenül attól, hogy a vezérlő készen van-e
41
I/O szoftver
42
I/O szoftver céljai
• Az op.rsz. I/O szoftvere rétegek sorozatából épül fel • HW sajátosságait elrejti a magasabb szintek elől • Felhasználó felé egy standard,barátságos kapcsolódási felületet biztosítson
• Eszközfüggetlen – Úgy lehessen programot írni, amely bármilyen I/O eszközt el tud érni anélkül, hogy ismernénk az eszközt előre – Pl. file olvasás floppy-ról, merevlemezről, CD-ROMról, DVD-ről, hálózatról, kazettáról
• Egységes elnevezés – Minden állomány azonos módon címezhető legyen – Pl. UNIX alatt minden eszköz egy file (elérési út) • /dev/hda1 • /dev/audio
43
44
I/O szoftver alapjai
I/O szoftver szintjei
• Hibakezelés – Kezeljük a hibát a lehető legalacsonyabb szinten • Ha az eszköz kezelő olvasási hibát tapasztal, még megpróbálhatja javítani, pl. CRC segítségével • Ha nem sikerül, megpróbálhatja újra beolvasni • Ha nem sikerül, csak ezután kell a hibaüzenetet átadni magasabb szintre
4
Felhasználói I/O szoftware
3
Eszköz független op. rsz. szoftver
2 1
Eszköz kezelő (Device driver) Megszakítás kezelő Hardware
45
4/1. Megszakítás kezelő
46
4/2. Eszközmeghajtó „helye”
• Elkell rejteni, amennyire csak lehet • I/O műveletet elkezdő meghajtó blokkolódik, míg az I/O végbemegy, és egy megszakításkérés megjelenik
47
48
Eszközmeghajtó
Eszközmeghajtó
• Eredetileg az eszközmeghajtó bele van fordítva a kernelbe – Technikusok végezték az installálást – Az eszközök száma ritkán változott
• A drivereket kategóriákba sorolják – Blokk és karakter alapú
• Eszközmeghajtó munkája
• Manapság dinamikusan betölthetőek a modulok – A tipikus felhasználó szintén nem fordít kernelt – Az eszközök száma nagy és változatos, gyakran menet közben is változik
– A kéréseket lefordítja eszközfüggetlen interface-en keresztül (open, close, read, write) hardware utasítássorozattá – Inicializálja az eszközt bekapcsoláskor és lezárja leállítás során
49
Eszközmeghajtó
50
4/3. Eszközfüggetlen szoftver I/O
• A kérés elküldése után – az eszköz azonnal végez és visszatér a híváshoz, vagy – az eszköznek fel kell dolgoznia a kérést, így az eszközmeghajtó blokkol
• Eszközmeghajtó „re-entrant” – Újra be lehet lépni, meg lehet hívni, míg egy másik kérés miatt blokkolva van
51
• A hasonló eszközök között sok hasonló kódrészlet van • Felosztjuk a rendszert – Eszközfüggetlen és – Eszköz függő részekre
• Eszközfüggetlen kódrészlet – Buffer és buffer cache kezelés – Eszköz hozzáférés kezelése – Hibajelentés 52
Eszközfüggetlen szoftver I/O
Eszközfüggetlen szoftver I/O Felhasználói processzus
Minden eszköznek külön kapcsolódási felület
Azonos kapcsolódási felület 53
a.) Nincs bufferelés
a) Buffer nélküli input b) Bufferelés a felhasználói processzusban c) Egyszeres bufferelés (single buffer) d) Dupla bufferelés kernel módban
54
b.) Felhasználói szintű bufferelés
• A processzus byte-onként, szavanként (word) olvas
• Processzus megadja a buffert, hogy hova lehet helyezni az adatokat
– Minden független rendszerhívás sok időt vesz fel – A processzusnak várnia kell minden I/O végrehajtására
– Egy rendszerhívással egy egész blokknyi adatot lehet beolvasni • Hatékonyabb Operációs rendszer
• Sok rövid futása a processzusnak nem hatékony
Felhasználói processzus
I/O eszköz 55
56
b.) Felhasználói szintű bufferelés • Problémák – Mi történik, ha buffert tartalmazó lapot kiírjuk a merevlemezre (swapped out)? • Adatot veszíthetünk • Rögzíthetjük a lapot a memóriában – Sok I/O-t végző processzus hatására kevés memória lesz elérhető, holtponthoz vezethet
c.) Egyszeres bufferelés (single buffer) • A felhasználói processzus feldolgoz egy blokkot, amíg egy másikat olvasunk be • Swap-olás bekövetkezhet, hiszen az adatok nem felhasználói memóriába íródnak • Blokk-orientált Operációs rendszer
Felhasználói processzus
I/O eszköz 57
c.) Egyszeres bufferelés
58
d.) Dupla bufferelés
• Hatékonyság
• Két rendszer buffer • A processzus kiolvas adatokat a bufferből, amíg az operációs rendszer a másik buffert üríti vagy feltölti
T +C max(T , C ) + M – T: az eszközről egy blokk átmásolására szánt idő – C: egy blokk feldolgozásának ideje – M: egy blokknak a kernelből a felhasználói processzusba való átmásolásra fordított idő
Operációs rendszer
Felhasználói processzus
I/O eszköz 59
60
d.) Dupla bufferelés
Körkörös bufferelés
• Hatékonyság
• Akkor használják, ha az I/O-nak lépést kell tartania a processzusnak
T +C max(T , C + M ) – T: az eszközről egy blokk átmásolására szánt idő – C: egy blokk feldolgozásának ideje – M: egy blokknak a kernelből a felhasználói processzusba való átmásolásra fordított idő
Felhasználói processzus
Operációs rendszer I/O eszköz
61
Fontos
62
Röviden összefoglalva
• Mindegyik bufferelés esetén figyelembe kell venni a gyártó-fogyasztó problémát/korlátos tároló problémát
I/O válasz
I/O kérés
Felhasználói I/O szoftware Eszköz független op. rsz. szoftware Eszköz kezelő (Device driver) Megszakítás kezelő Hardware
63
64
Blokkos eszközök • RAM lemez • Lemezek – RAID
Operációs rendszerek MINB240 9. előadás Input és Output II.
Operációs rendszerek MINB240
65
66
Blokkos eszközök
Blokkos eszközök
• RAM lemezek – – – –
• Lemezek
Memória egy részének lefoglalása Lemezhez hasonló használat Nem állandó jellegű tárolás, de rendkívül gyors elérés Hasznos telepítésnél
– RAID
FŐTÁR
felh. prog. RAM lemez op.rsz. 67
68
Lemezek
Lemezkezelés
• Logikai felépítés: blokkok egy dimenziós tömbje • Fizikai felépítés:
• Lemez hozzáférések sorrendje nagyon fontos – Nagy a sebesség különbség a memória és a lemez között – Az átviteli sebesség nagyban függ • A kérések sorrendjétől -> lemezfej ütemező • Az adatok elhelyezésétől a lemezen -> file rendszer
– A lemezfej ütemezőnek ismernie kell a lemez geometriáját
69
Lemez geometria
70
Merevlemez művelet • A merevlemez egy mozgó eszköz: pontosan kell pozícionálni az olvasáshoz • Egy lemez műveletet befolyásol – Várakozási idő: a processzus várakozik az eszközre, hogy hozzáférjen – Hozzáférési idő: a lemez fej pozicionálás – Transzfer idő: szektorok olvasása/írása a fej alatt
Fizikai geometria
Virtuális geometria
A lemez konstans sebességgel forog. Belső zónák rövidebbek, a fej lassabban mozog felettük. Külső zónák nagyobb területűek, több adatot képesek tárolni.
71
72
Alacsony formátum
Alacsony formátum
• Egy szektor beolvasása után az adatot át kell adni az operációs rendszernek. • Ez sajnos időt vesz el és amikor a következő kérés bejön elmulasztja a szektort.
No interleaving
Interleaving
• Modern eszközök nem használják az „interleaving” technikát, inkább beolvassák az egész track-et az eszközvezérlő cache-ébe
Dupla interleaving 73
Lemezfej ütemező
74
Lemezfej ütemező
• Egy blokk olvasásának, írásának idejét 3 tényező befolyásolja – Keresési idő (domináns): TS
• Egy lemezhez több I/O kérés is befuthat – A kérések véletlenszerű feldolgozása nagyon rossz hatékonysághoz vezet
• A fej mozgatása a megfelelő pályára
– Forgatási késleltetés • Forgási sebesség: r • 10 000 rpm, egy fordulat 6 ms, átlagos késleltetés 3 ms
– Aktuális transzfer idő • b byte, N byte per sáv
T=
b rN 75
76
FIFO, First-In-First-Out ütemező • • • • •
Ahogy bejönnek a kérések úgy dolgozzuk fel Fair, igazságos (nincs éheztetés) Hosszú válaszidő, kis sávszélesség Néhány processzusig jó Sok processzus esetén a random felé tart
FIFO
idő
77
Fej mozgása: 640 cylinder
SSTF, Shortest Seek Time First
78
SSTF
• Az aktuális pozícióból kiindulva a legkevesebb fej mozgatást igénylő kérést szolgálja ki
idő
79
Fej mozgása: 236 cylinder
80
Elevator, lift algoritmus (SCAN) • • • • •
Pásztázó algoritmus A fej a lemez egyik végétől a másikig halad Az útba eső kéréseket szolgálja ki Sávszélesség nagy, nincs kiéheztetés Aktuális irányt jelző bit:UP, DOWN
SCAN
idő
A kérések tetszőleges halmazára rögzített mozgatások számának van felső korlátja: 2 x cilinderszám 81
Fej mozgása: 208 cylinder
C-SCAN
82
C-SCAN
• Olyan mint a SCAN, de • Ahogy a fej az egyik irányba mozog kiszolgálja a kéréseket • Ha elér a lemez végére, azonnal az elejére ugrik a fej idő
83
84
Egyéb trükkök
RAID
• Kiszolgálási idő csökkentése – Az összetartozó adatok legyenek egymás mellett – A leggyakrabban használt adatok legyenek a lemez közepén – Tároljuk a leggyakoribb adatokat többször – Olvassunk, írjunk egyszerre több blokkot – Adattömörítés
• SLED: Single Large Expensive Disk • Redundant Array of Inexpensive Disks – Olcsó lemezek redundáns tömbje
• Általában hardware-ben van implementálva • Software RAID egyre gyakoribb a modern operációs rendszerekben • Lemezek tönkremenetele elleni „védelem”, redundancia • Egy virtuális lemez jön létre, nem kell új interface
85
RAID 0
86
RAID, virtuális lemez
• Diszkeket fűzünk össze • Logikai blokkokat felváltva osztjuk ki • Párhuzamos I/O műveletek, gyorsabb • Nagyobb teljesítmény • Nincs redundancia • Adatvesztés nő • Blokknál nagyobb egység (strip) 87
88
RAID 1
RAID 0+1, 1+0
• Lemez tükrözés • Minden adatot két független lemezen tárolunk • Fele tárolókapacitás • Adatvesztés esélye csökken • Egyszerű, de drága
89
RAID 2, 3
90
RAID 4
RAID 2 • Redundancia Hamming kódolással • Memóriához hasonló
• RAID 0-t kiegészítjük egy paritás lemezzel • Egy lemez kiesése esetén a paritás lemez és a többi lemez segítségével helyreállítható az adat
RAID 3 91
92
RAID 4
RAID 5
• Előnyök:
• RAID 4 javítása • A paritás blokkot az adatok közé keverjük • A lemezek igénybevétele egyforma
– Viszonylag olcsó – Egy blokk olvasásához egy lemez kell • Független olvasások, párhuzamosítás
• Hátrányok – Az írás nem párhuzamosítható • A paritás lemezt minden írás használja
– A lemezek igénybevétele nem egyforma
93
RAID 6
94
RAID • Magas megbízhatóság: 1, 5, 0+1, 1+0 • Nagy teljesítmény: 0, 1, 0+1 , 1+0 • Alacsony költség: 0, 5
Több paritás blokk, több lemezen
• Bármelyik kettőt teljesíthetjük
95
96
Hajlékony lemez
Hajlékony lemez
• Egyszerűbb szerkezet • Egyszerűbb vezérlő
• Többféle lemezformátum van – 5.25 hüvelykes lemez • 360 Kbyte - 1.2 MB
– Operációs rendszernek több a munkája
– 3.5 hüvelykes lemez
• Nem használnak lemezfej ütemezőt
• 360 Kbyte - 1.44 MB
– Szigorúan egymás után fogadják és szolgálják ki a kéréseket
• Formátum meghatározás – Magasabb számozású szektorok és pályavonalak olvasása (kizárásos alapon) – Probléma lehet a hibás szektor
• Cserélhetők (merev lemezzel ellentétben)
97
Hibakezelés
98
(1) Programozói hiba
• Hibák
• A vezérlők ellenőrzik a paramétereket • Elvileg nem kellene előfordulnia • Ebben az esetben a legtöbb amit tehetünk, pillanatnyi lemezkérés hibát jelezni
– Programozói hiba • Nem létező szektor kérése
– Hibajavító kód átmeneti hibája • Olvasófejen porszem van
– Reméljük, hogy nem fog túl sokszor előfordulni
– Hibajavító kód tartós hibája • Lemez blokkja fizikailag káros
– Keresési hiba • A 6. Cilinderhez küldött fej a 7. Cilinderhez mozdul
– Vezérlő hiba • Vezérlő elutasítja a parancsok elfogadását 99
100
(2) Hibajavító kód hibája
Hibajavító kód hibája
• Időleges – Porszemek
• Ha hiba nem szűnik meg, hibás blokk – Kerülni kell a használatát – Állomány, mely tartalmazza a hibás blokkokat • Foglalásnál már nem próbálkozunk többet • Olvasás még mindig problémás lehet
Hibás szektor
Egy üres szektor
Szektorok eltolása
használata
– Biztonsági mentésnél » Ne sávonként mentsünk » Állományonkénti olvasás biztonságosabb 101
Keresési hiba
102
Vezérlési hiba
• Általában mechanikus hiba • Általában a vezérlő javítja a hibát
• A vezérlő egy önálló kis számítógép • Váratlan események
– Beállítja a hiba bitet – Megpróbálja újra kalibrálni az eszközt – Ha nem oldja meg a problémát, javítani kell az eszközt
– Végtelen vezérlő ciklus – Elveszít egy pályavonalat
• A legrosszabb esetre egy speciális áramkör – Arra utasítja a vezérlőt, hogy mindent felejtsen el és újra állítsa be magát
103
104
Terminálok
Tárcímleképzéses terminál
• Régebben a számítógéppel terminálokon keresztül kommunikáltak a felhasználók – Képernyő + billentyűzet + vezeték
• Csoportosítás – Tárcímleképzéses csatoló • Elektronikailag a számítógép része
– RS-232 szabványt használó, soros vonallal kapcsolódik – Hálózati csatolón keresztül kommunikál
105
Tárcímleképzéses terminál
Tárcímleképzéses terminál
• A legegyszerűbb képernyő üzemmód
• A billentyűzet teljesen elvált
– Karakteres • • • •
106
– Soros vagy párhuzamos vonalon kommunikál – Minden billentyű leütéskor a CPU-hoz egy megszakítás érkezik – Az I/O kapu kiolvasásával kapjuk meg a leütött karaktert
25 x 80 1 byte - ASCII karakter 1 byte - karakter attribútuma 4000 byte Video memória
– Grafikus • Pixel alapú
107
108
RS-232 terminálok
Hálózati terminálok
• Egy olyan eszköz, mely – billentyűzetből és – megjelenítőből áll – soros vonalon bitenként kommunikál
• Csatlakozó – 9 vagy 25 tűs – Bitenként kell elküldeni a karaktereket • Stop bit • Start bit • Paritás bit X Window System
109
Programozható órák
110
Órák Linux alatt
• Órajel megszakítás • Az op. rsz. beállíthatja
• Real-Time Clock (RTC) – CPU-tól független
• CPU Cycle Counter CPU felé (megszakítás)
– Idő múlásának nyilvántartása (gettimeofday) – Időmérés
Impulzusok
• Kernel Clock Számláló mely minden Impulzusnál csökken
– megszakítást generál fix intervallumokban
Zérus esetén, megszakítás és újratöltés Programozható kezdeti érték 111
112
Óra szoftver • • • •
Alarm
Idő karbantartása Processzus csak a megadott ideig fusson CPU kihasználtság nyilvántartása alarm() rendszerhívás kezelése
• Több időzítő szimulálása egy órával – Időzítés: 4203, 4207, 4213, 4215, 4216 – Minden órajel csökkenti a „Next signal” számlálót – Ha zérus lesz • Elküldi a jelzést • A lista elejéről betölti a következő számláló értéket
• Watchdog időzítők • Profilozás, statisztika
113
Idő karbantartása
114
Power management
• Unix
• Energia egyre inkább probléma a hadrware tervezők számára
– 1970. jan. 1 -től
– Hosszú élettartamú akkumulátorok mobil eszközökhöz – Hő kezelése
• Windows – 1980. jan. 1 -től
• Operációs rendszer tudja mi történik a gépen – Jelentős szerep az energiakezelésben – Kikapcsolhat egységeket – Csökkentheti a teljesítményt (energia takarékosság)
115
116
Fogyasztási statisztika
Power management • Lemeznél – Időbe telik a leállítás és a felpörgetés – Segít • Bufferelés, RAM lemez
• Képernyőnél mely rész háttérvilágítását lehet lekapcsolni
117
Power management
118
ACPI
• CPU alvó állapotba helyezhető
• Advanced Configuration and Power Interface • Intel, Microsoft, Toshiba fejlesztette • Definiál
– Megszakítás ébreszti
• (a) a CPU teljes sebességen fut • (b) a CPU fele sebességen fut
– Hardware regisztereket • Szilikonban implementálva
– Negyed akkora fogyasztás
– BIOS interface – Rendszer és eszköz állapotokat – ACPI Thermal model
119
120
ACPI
121