Input és Output
1
Blokkos eszközök • RAM 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
2
Blokkos eszközök • Lemezek – RAID
3
Lemezek • Logikai felépítés: blokkok egy dimenziós tömbje • Fizikai felépítés:
4
Lemezkezelé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
5
Lemez geometria
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.
6
Merevlemez művelet • A merevlemez egy mozgó eszköz: pontosan kell pozicioná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
7
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
Dupla interleaving 8
Alacsony formátum • 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
9
Lemezfej ütemező • Egy blokk olvasásának, írásának idejét 3 tényező befolyásolja – Keresési idő (domináns): TS • 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
b T= rN 10
Lemezfej ütemező • 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
11
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
12
FIFO
Fej mozgása: 640 cylinder
13
SSTF, Shortest Seek Time First • Az aktuális pozícióból kiindulva a legkevesebb fej mozgatást igénylő kérést szolgálja ki
14
SSTF
Fej mozgása: 236 cylinder
15
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
16
SCAN
Fej mozgása: 208 cylinder
17
C-SCAN • Olyan mint a SCAN, de • Ahogy a fej az egyik irányba mozog kicsolgálja a kéréseket • Ha elér a lemez végére, azonnal az elejére ugrik a fej
18
C-SCAN
19
Egyéb trükkök • 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
20
RAID • 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 21
RAID 0 • 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) 22
RAID, virtuális lemez
23
RAID 1 • 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
24
RAID 0+1, 1+0
25
RAID 2, 3 RAID 2 • Redundancia Hamming kódolással • Memóriához hasonló RAID 3 26
RAID 4 • 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
27
RAID 4 • Előnyök: – 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
28
RAID 5 • RAID 4 javítása • A paritás blokkot az adatok közé keverjük • A lemezek igénybevétele egyforma
29
RAID 6
Több paritás blokk, több lemezen
30
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 • Bármelyik kettőt teljesíthetjük
31
Hajlékony lemez • Egyszerűbb szerkezet • Egyszerűbb vezérlő – Operációs rendszernek több a munkája
• Nem használnak lemezfej ütemezőt – Szigorúan egymás után fogadják és szolgálják ki a kéréseket
• Cserélhetők (merev lemezzel ellentétben)
32
Hajlékony lemez • Többféle lemezformátum van – 5.25 hüvelykes lemez • 360 Kbyte - 1.2 MB
– 3.5 hüvelykes lemez • 360 Kbyte - 1.44 MB
• 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 33
Hibakezelés • Hibák – Programozói hiba • Nem létező szektor kérése
– Hibajavító kód átmeneti hibája • Olvasófejen porszem van
– 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 34
Programozói hiba • 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 – Reméljük hogy nem fog túl sokszor előfordulni
35
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 – Biztonsági mentésnél » Ne sávonként mentsünk » Állományonkénti olvasás biztonságosabb 36
Hibajavító kód hibája
Hibás szektor
Egy üres szektor
Szektorok eltolása
használata
37
Keresési hiba • Általában mechanikus hiba • Általában a vezérlő javítja a hibát – 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
38
Vezérlési hiba • A vezérlő egy önálló kis számítógép • Váratlan események – 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
39
Terminálok • 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
40
Tárcímleképzéses terminál
41
Tárcímleképzéses terminál • A legegyszerűbb képernyő üzemmód – Karakteres • • • •
25 x 80 1 byte - ASCII karakter 1 byte - karakter attribútuma 4000 byte Video memória
– Grafikus • Pixel alapú
42
Tárcímleképzéses terminál • A billentyűzet teljesen elvált – 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
43
RS-232 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 44
Hálózati terminálok
X Window System
45
Programozható órák • Órajel megszakítás • Az op. rsz. beállíthatja CPU felé (megszakítás) Impulzusok
Számláló mely minden Impulzusnál csökken Zérus esetén, megszakítés és újratöltés Programozható kezdeti érték 46
Órák Linux alatt • Real-Time Clock (RTC) – CPU-tól független
• CPU Cycle Counter – Idő múlásának nyilvántartása (gettimeofday) – Időmérés
• Kernel Clock – megszakítást generál fix intervallumokban
47
Óra szoftver • Idő karbantartása • Processzus csak a megadott ideig fusson • CPU kihasználtság nyilvántartása • alarm() rendszerhívás kezelése • Watchdog időzítők • Profilozás, statisztika
48
Alarm • 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
49
Idő karbantartása • Unix – 1970 jan 1 -től
• Windows – 1980 jan 1 -től
50
Power management • Energia egyre inkább probléma a hadrware tervezők számára – Hosszú élettartamú akkumulátorok mobil eszközökhöz – Hő kezelése
• 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)
51
Fogyasztási statisztika
52
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
53
Power management • CPU alvó állapotba helyezhető – Megszakítás ébreszti
• (a) a CPU teljes sebességen fut • (b) a CPU fele sebességen fut – Negyes akkor fogyasztás
54
ACPI • Advanced Configuration and Power Interface • Intel, Microsoft, Toshiba fejlesztette • Definiál – Hardware regisztereket • Szilikonban implementálva
– BIOS interface – Rendszer és eszköz állapotokat – ACPI Thermal model
55
ACPI
56