Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tu je rozpis vstupného a výstupného vyrovnávacieho zariadenia:
Vstupné vyrovnávanie:
* Ako to funguje: Keď program číta údaje zo vstupného zariadenia (ako je klávesnica, súbor alebo sieťové pripojenie), operačný systém nemusí nevyhnutne načítať každý znak alebo bajt jednotlivo. Namiesto toho číta naraz kus dát (veľkosť vyrovnávacej pamäte) a ukladá ich do vstupnej vyrovnávacej pamäte. Program potom číta z tejto vyrovnávacej pamäte. Iba v prípade, že je vyrovnávacia pamäť prázdna, operačný systém vykonáva ďalšiu operáciu čítania zo vstupného zariadenia.
* Výhody:
* Znížené systémové hovory: Menej hovorov do operačného systému na čítanie údajov, uloženie času.
* zlepšená účinnosť: Čítanie väčších blokov údajov je rýchlejšie ako čítanie jednotlivých znakov alebo bajtov.
* vyrovnávacia čiarka: Špeciálny prípad, keď je vstupná vyrovnávacia pamäť vyplnená, až kým sa nestane znak novej línie (napríklad stlačenie Enter). Toto je bežné pre interaktívne programy.
* Príklad: Predstavte si, že si prečítate veľký súbor. Bez vyrovnávacej pamäte by každý jednotlivý znak vyžadoval samostatnú interakciu s úložným zariadením (pevný disk, SSD). Pri vyrovnávacej pamäti sa narazí veľký blok a program pristupuje k údajom z vyrovnávacej pamäte v pamäti, čo je oveľa rýchlejšie.
výstupné vyrovnávacie vyrovnanie:
* Ako to funguje: Keď program zapisuje údaje na výstupné zariadenie (napríklad obrazovku, súbor alebo sieťové pripojenie), nemusí nevyhnutne odosielať každý bajt alebo znak okamžite. Namiesto toho sa údaje zapíšu do výstupnej vyrovnávacej pamäte. Operačný systém pravidelne preplachuje (vyprázdňuje) vyrovnávaciu pamäť a odošle svoj obsah na výstupné zariadenie.
* Výhody:
* Znížené systémové hovory: Menej interakcií s výstupným zariadením.
* zlepšená účinnosť: Posielanie veľkých blokov údajov je efektívnejšie ako odosielanie jednotlivých jednotiek.
* dávka: Umožňuje zoskupenie výstupu súvisiacich, vďaka čomu je proces písania zorganizovaný.
* Príklad: Tlač veľkého dokumentu. Písanie každej postavy individuálne do tlačiarne by bolo mimoriadne pomalé. Pri vyrovnávacej pamäti sa údaje nazhromaždia v vyrovnávacej pamäti a potom sa odosielajú do tlačiarne vo väčších blokoch, čo vedie k oveľa rýchlejšiemu zážitku z tlače.
Typy vyrovnávacej pamäte:
* Plne vyrovnáva: Pred prepláchnutím je vyrovnávacia pamäť úplne vyplnená.
* Line Buffered: Keď sa vyskytne vyrovnávacia pamäť, spláchne sa.
* Unbuffered: Nepoužíva sa žiadne vyrovnávacia čreva; Každá operácia I/O sa vykonáva okamžite. To je vo všeobecnosti menej efektívne.
Prepláchnutie vyrovnávacej pamäte:
Je nevyhnutné pochopiť, že operačný systém nemusí vždy okamžite prepláchnuť. Niekedy musíte explicitne povedať systému, aby prepláchol vyrovnávaciu pamäť (pomocou funkcií ako `fflush ()` v C alebo podobných metódach v iných jazykoch), aby sa zabezpečilo, že všetky údaje sú zapísané do výstupného zariadenia. To je obzvlášť dôležité, ak sa váš program neočakávane ukončí skôr, ako sa vyrovnávacia pamäť prepláchne; V opačnom prípade sa môžu údaje stratiť.
Stručne povedané, vstupné a výstupné vyrovnávanie je technika základnej optimalizácie, ktorá výrazne zlepšuje výkon I/O operácií znížením režijných systémov častých systémových volaní a využívaním efektívnejších objemových prenosov údajov. Pochopenie vyrovnávacej pamäte je nevyhnutné na písanie efektívnych a spoľahlivých programov.