Bevitel-Kivitel Operációs rendszerek MINB240 8-9. előadás Input és Output I. Eddig a számítógép agyáról volt szó Processzusok, memória, stb Szükség van eszközökre Adat bevitel és kivitel a számítógépből, -be Perifériák Feladat: I/O eszközök vezérlése Parancs kiadás 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 csoportosítása használat szerint Háttértár Merevlemezek, diszkek Optikai lemezek (CD-ROM, DVD) Solid-state lemezek (flash) Megjelenítő, kiviteli eszköz Kijelzők, monitorok Nyomtatók Hangkártyák Perifériák Beviteli eszköz, interface az ember felé Billentyűzet Egér Mikrofon Lapolvasó (Scanner) 3 4
Perifériák Hálózati eszközök 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. Átviteli sebesség is teljesen különböző lehet Perifériák, adatátvitel 5 6 Blokkos, karakteres eszközök 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 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 Blokkos, karakteres eszközök határa 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 Nagy számú, különböző periféria létezik 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 Perifériák Úgy tűnik különböző interface-t igényelnek 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 10 I/O fejlődése 1. Processzor közvetlenül kontrollálja az eszközt I/O fejlődése 2. 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. 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 I/O fejlődése 4. 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 14 I/O fejlődése 5. Az I/O modulnak saját processzora van Pl. SCSI kontroller I/O fejlődése 6. I/O processzor Ö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 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: Adatsín és címsín Párhuzamos és soros kialakítású Szinkron és aszinkron ütemezésű Sínek és buszok 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 17 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 Sínek és buszok Két sín, melyeket egy híd köt össze Processzor és RAM között tetszőlegesen gyors lehet az átvitel 19 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 I/O kapuhoz egy 8-16 bites szám van rendelve Utasítás 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) Memória 2. Memórialeképezésű I/O Az I/O regiszterek a memória egy részén található Hibrid rendszer (x86) Memória Memória I/O kapuk I/O kapuk 25 26 Programozott I/O Programozott I/O Read parancs az I/O modulnak CPU I/O Könnyen kivitelezhető, de I/O modul státusza nem Készen áll? igen Adat olvasás az I/O modulból I/O hiba I/O CPU CPU Terheli a processzort, más feladat nem végezhető Tevékeny várakozás Figyelni kell az állapot bitet Lehet hogy nagyon hosszú ideig kell várni az adatra A státuszregisztert folyamatosan figyelni kell, van-e adat Adat írás a memóriába CPU memória nem Végeztünk? igen 27 28
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 Megszakításvezérelt I/O 29 30 Megszakításvezérelt I/O 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 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 31 Megszakításvezérelt I/O Read parancs az I/O modulnak I/O modul státusza Státusz? kész Adat olvasás az I/O modulból Adat írás a memóriába nem Végeztünk? igen CPU I/O valami mást csinálhatunk megszakítás I/O CPU hiba I/O CPU CPU memória 32
Megszakítás kezelé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 Kernel verem? Mi a CPU állapota? Pontos és pontatlan megszakítások CPU állapot - Pontos megszakítás 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 Megszakítás logika nagyon drága Op. rsz. szempontjából nagyon kedvező 33 34 CPU állapot - Pontatlan megszakítás Pipeline architektúra 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 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) 36
DMA nélküli lemezolvasás 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: DMA Blokklemezes címét Memóriacímet Mozgatandó bájtok számát 37 38 DMA DMA 1. CPU beállítja a DMA vezérlőt DMA Lemezvezérlő Meghajtóegység CPU beprogramozza a DMA-t (1) Utasítást ad a lemezvezérlőnek, hogy olvasson be adatot a lemezről a pufferbe Mem. Cím Puffer Ha a puffer tele indulhat a DMA CPU Számláló Memória A DMA vezérlő elindítja az átvitelt (2) 4. Nyugtázás A lemezvezérlő a pufferből a memóriába másol egy szót (3) Megszakítás ha kész 2. DMA átvitelt kér 3. adatátvitel Ha az írás készen, a lemezvezérlő nyugtázást küld a DMA-nak (4) Sín 39 40
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 DMA 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 42 I/O szoftver 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 43 I/O szoftver céljai 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 44
Hibakezelés I/O szoftver alapjai 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 I/O szoftver szintjei 4 Felhasználói I/O szoftware 3 Eszköz független op. rsz. szoftver 2 Eszköz kezelő (Device driver) 1 Megszakítás kezelő Hardware 45 46 4/1. Megszakítás kezelő 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ó 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 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 Eszközmeghajtó A drivereket kategóriákba sorolják Blokk és karakter alapú Eszközmeghajtó munkája 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 50 Eszközmeghajtó 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 4/3. Eszközfüggetlen szoftver I/O 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 51 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) 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 a.) Nincs bufferelés b.) Felhasználói szintű bufferelés A processzus byte-onként, szavanként (word) olvas Minden független rendszerhívás sok időt vesz fel A processzusnak várnia kell minden I/O végrehajtására Sok rövid futása a processzusnak nem hatékony Processzus megadja a buffert, hogy hova lehet helyezni az adatokat Egy rendszerhívással egy egész blokknyi adatot lehet beolvasni Hatékonyabb I/O eszköz Operációs rendszer Felhasználói processzus 55 56
b.) Felhasználói szintű bufferelés c.) Egyszeres bufferelés (single buffer) 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 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 I/O eszköz Operációs rendszer Felhasználói processzus 57 58 c.) Egyszeres bufferelés d.) Dupla bufferelés Hatékonyság T + C max( T, C) + M 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: 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ő I/O eszköz Operációs rendszer Felhasználói processzus 59 60
d.) Dupla bufferelés Körkörös bufferelés Hatékonyság T + C max( T, C + M ) Akkor használják, ha az I/O-nak lépést kell tartania a processzusnak 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ő I/O eszköz Operációs rendszer Felhasználói processzus 61 62 Fontos Mindegyik bufferelés esetén figyelembe kell venni a gyártó-fogyasztó problémát/korlátos tároló problémát Röviden összefoglalva I/O kérés I/O válasz 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 Operációs rendszerek MINB240 RAM lemez Lemezek RAID 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 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 FŐTÁR Lemezek RAID felh. prog. RAM lemez op.rsz. 67 68
Lemezek Logikai felépítés: blokkok egy dimenziós tömbje Fizikai felépítés: 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 69 70 Lemez geometria 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 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. 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 No interleaving Interleaving Dupla interleaving 73 74 Lemezfej ütemező Egy blokk olvasásának, írásának idejét 3 tényező befolyásolja Keresési idő (domináns): T S 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 = r N 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 75 76
FIFO, First-In-First-Out ütemező FIFO 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 idő 77 Fej mozgása: 640 cylinder 78 SSTF, Shortest Seek Time First 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) 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 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 82 C-SCAN 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 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 85 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 86 RAID 0 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 90 RAID 2, 3 RAID 2 Redundancia Hamming kódolással Memóriához hasonló 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 RAID 3 91 92
Előnyök: RAID 4 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 RAID 5 RAID 4 javítása A paritás blokkot az adatok közé keverjük A lemezek igénybevétele egyforma 93 94 RAID 6 Több paritás blokk, több lemezen 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 95 96
Egyszerűbb szerkezet Egyszerűbb vezérlő Hajlékony lemez 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) 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 97 98 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 (1) 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 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 Biztonsági mentésnél» Ne sávonként mentsünk» Állományonkénti olvasás biztonságosabb Hibás szektor Egy üres szektor használata Szektorok eltolása 101 102 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 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 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 106 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ú 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 107 108
Egy olyan eszköz, mely RS-232 terminálok 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 109 Hálózati terminálok X Window System 110 Órajel megszakítás Az op. rsz. beállíthatja CPU felé (megszakítás) Programozható órák Impulzusok Számláló mely minden Impulzusnál csökken Zérus esetén, megszakítás és újratöltés Real-Time Clock (RTC) CPU-tól független CPU Cycle Counter Órák Linux alatt Idő múlásának nyilvántartása (gettimeofday) Időmérés Kernel Clock megszakítást generál fix intervallumokban Programozható kezdeti érték 111 112
Ó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 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 113 114 Unix 1970. jan. 1 -től Windows 1980. jan. 1 -től Idő karbantartása 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) 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 118 Power management CPU alvó állapotba helyezhető Megszakítás ébreszti (a) a CPU teljes sebességen fut (b) a CPU fele sebességen fut Negyed akkora fogyasztás 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 119 120
ACPI 121