Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] Jak odczuwacie "postep" xp -> w7 -> w10 ???

To: winnt@man.lodz.pl
Subject: Re: [WINNT] Jak odczuwacie "postep" xp -> w7 -> w10 ???
From: "Piotr B. [pb2004]" <p_borkowski@nospamgazeta.pl>
Date: 27 Aug 2016 11:00:02 GMT
PM <pm@xx.xx> wrote:
>>> Czyli że M$ też spartolił własne kopiowanie? :P
>>> Pozatym to nie powinno zależeć od użycia api i tylko system sam powinien
>>> wiedzieć że zapis pliku w całości ma lecieć w wolne miejsce.
>>
>> Nic nie pisałem o kopiowaniu. Skąd w ogóle taki pomysł? Pisałem o
>> sytuacji gdy tworzony jest plik 0 bajtów i następnie do tego pliku
>> dopisywane są dane. W takim wypadku jeśli programista nie ustawi na

> O tworzeniu pliku w kawałkach to logiczne, że system nie wie ile będzie 
> miał wynikowy plik. Ale przy kopiowaniu przez explorator też nie wrzuca 
> pliku w cały wolny blok, tylko wali od początku dysku, czyli że to nie 
> api daje w dupę, a jeśli tak to sami nie umieją korzystać z tego co 
> napisali. I tylko o taką sytuację mi chodzi

Algorytm alokacji bloków w sterowniku ntfs zapewniam Cię że jest dużo 
bardziej skomplikowany niż proste:

if(znana_wielkość_pliku == true)
     {
        znajdź_wolne_miesce(potrzebnaliczbaklastrów);
        zapiszplik();
}
else
     {
        while(pozostałodozapisania > 0)
        {
                znajdź_dowolne_wolne_miejsce();
                zapisano = zapisz_część_pliku();
                pozostałodozapisania-=zapisano;
        }
}

Dlatego chociaż Eksplorator wykorzystuje odpowiednie api to nie zawsze 
plik docelowy jest zapisany w jednym fragmencie chociaż często jest.

-- 
Piotr Borkowski

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>