Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor k článku
Komiks: Zakázané ovoce

Petrjr
Petrjr (neregistrovaný)
27. 6. 2006 14:03

Re: Win x Linux

celé vlákno
Re: ... že po příkazu "save" se zdrojový text neuložil na disk, ale zůstal kdesi v paměťových bufferech (a interpret, případně překladač, ho nenašel), takže bylo nutno buď po každé změně ve zdrojového kódu vypnout a znovu zapnout textový editor ... To samé se mi onehdy stalo i na Wxp ...

Tak to je nesmysl. Tedy maximálně tak, kdyby to dělal ten editor, že neuloží (resp. nepoužije API ::WriteFile ale schovává si to u sebe). Jinak zpožděný zápis jde nastavit i v DOSu, parametry u smartdrv, ale _rozhodně_ to má vliv jen při vypnutí proudu, nikoli na čtení dalším programem. Protože požadavek na čtení jde opět přes OS a ten vrátí buď to z cache (i ještě nezapsané) nebo z disku (pokud už v read cache není).

U MSW (NT a výše) je opačný problém. Nelze (resp. nenašel jsem) jak via API invalidovat read cache. Takže když něco zapíši, tak nemám šanci provést kontrolu, zda se to (na HW úrovni) zapsalo bez chyb. Všechny zápisy (i ty co jdou přímo bez write cache) se zapamatují v read cachce a neexistuje způsob jak ji obejít.

Ale to co popisuji je právě opačný problém, než jste nastínil Vy. Nemlžte. S tím, co Vy popisujete, jsem se ještě nesetkal (na úrovni OS) a IMHO to z principu nejde (pokud nehrabete na disk jinak, přímo, asi via vlastní driver. Pak je takové chování ale bug v tom Vašem vlastním driveru, protože s tím musí počítat když obchází standardní cesty).