Problem z zapisem na dysk

0

Podczepilem procedure pod przerwanie (1Ch). Uruchomilem zewnętrzny program. Co jaki procedura zapisuje pewne informacje (co minute okolo 64 MB). Wie ktos moze dlaczego po okolo 2-3 zapisach program zapisuje informacje w strasznie wolnym <ort>tępie </ort>?

0

pewnie dlatego ze te 'pewne informacje' sa malej wielkosci... co innego zapisac jeden plik o rozmiarze 64MB niz kilka tysięcy kilku bajtowych :-0

0

Ale ciągle w tym samym pliku, czy w innych? A ja kw tym samym, to dopisując na końcu czy zastępując plik? Może jak dopisujesz na końcu to tak długo szuka końca pliku? ;-) :-P

0

Nie, nie. Informacje sa zapisywane w jednym pliku.
Oto pseudo kod programu :

[code]
procedure zapis_na_dysk
{
otworz plik zapis.dat
idz na koniec pliku
dla i := 1 to 1000 zapisuj pojedyncze fragmenty z pamieci xms (kazdy pakiet < 60 kb)
zamknij plik

PROCEDURE PRZERWANIE : INTERRUPT // to jest przerwanie
{
jezeli STOP to exit;
// STOP jest wartoscia boolean i zabezpiecza ona przed tym, zeby procedura przerwaniowa nie wlanczala sie w czasie zapisu na dysk
STOP := TRUE
zapisz tam jakis fragment do pamieci xms
jezeli jest to 1000 wywolanie procedury to rob zapis na dysk
STOP := FALSE;
}

BEGIN
ustaw przerwanie PRZERWANIE
uruchom jakis tam exec
po zakonczeniu bla, bla, bla {to juz nie jest istotne}
END
}
[/code]

0

co innego zapisac jeden plik o rozmiarze 64MB niz kilka tysięcy kilku bajtowych

Może jak dopisujesz na końcu to tak długo szuka końca pliku?

Zusammen chłopaki trafili w sedno.

1 użytkowników online, w tym zalogowanych: 0, gości: 1