Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem RAM Cache III - je to k něčemu?

Nevím, ale co tak tady čtu, tak mě napadá taková odvářná domněnka - co kdyby ta "RAM Cache III" fungovala prostě jako cache pro práci s diskem?

Teda pokud nějaký program začne na pomalý disk hrnout data ve velkém, tak ta cache by je ukládala do paměti a na disk hrnula jen tolik, kolik ten disk zvládá. Takže program by měl velmi rychle "zapsáno" a mohl by se věnovat další činnosti a disk by byl plunule zásobován daty v tempu, které zvládá, dokud by se ta data všechna nezapsala. A program by na něj nemusel čekat a dávno by mohl dělat něco jiného. Eventuálně by si to mohlo i ta data dočasně pamatovat a pokud by je chtělo něco dalšího, tak by je to nemuselo tahat z pomalého disku, ale rovnou naservírovat z paměti. (Tuhle utilitu nemám, ani Windows, používám Linux a ten to umí sám od sebe a je to velké dobro pro práci se soubory. A automaticky pro to používá skoro celou jinak nevyužitou paměť.)

Ono u her, které převážně jen čtou z disku se to moc neprojeví (ledaže by četly pořád to samé dokola - třeba překračování hranice lokací tam a zpět), ale třeba při překladu často překladač načte zdroják, přeloží ho do nějakého mezistavu, který zapíše, pustí na něj optimalizátor, který to přečte, zoptimalizuje a zapíše jinak a pak se teprve pustí překlad do výsledného tvaru (který to opět přečte, zpracuje a zapíše) - s takovouhle cache to může zůstat celé v paměti, dokud se to nezpracuje a pokud se navíc mezivýsledky mažou, tak se to ani nemusí propsat celé na disk, jen ten výsledek.

Takováhle cache má výhodu, že výrazně zrychluje práci s diskem, pokud má dost RAM, aby v ní udržela všechny potřebná data, a nevýhodu, že je potřeba disky před vypnutím "bezpečně odpojit", tedy počkat, dokud disk nezpracuje všechna čekající data, jinak by ne něm chybělo to, co se nestihlo zapsat.

Vedlejší důsledek je, že pro "relativně malé" soubory pak kopírování probíhá rychlostí čtení toho souboru (eventuálně z RAM) a zápis se zdá být okamžitý (ale disk i po "skončení" ještě chvíli pracuje), u velkých souborů dojde k tomu, že se takto rychle zkopíruje jen taková část souboru, co se vejde do RAM a dál už se musí čekat, až se na ten disk něco zapíše a uvolní se tak cache, čili od jisté chvíle klesne rychlost kopírování na rychlost zápisu toho cílového disku (a disk i po "skončení" ještě chvíli pracuje). I tak je z pohledu uživatele operace ukončena dřív, než kdyby se na ten disk psalo napřímo (teda, plazidla se proplazí rychleji a dřív se dá dělat něco dalšího.)

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny