sync on Unix - apuohjelma tiedostojärjestelmien päivittämiseen ja levyllä olevien tietojen synkronoimiseen muistissa olevien tietojen kanssa [1] . Tämä suorittaa synkronointijärjestelmäkutsun , jonka seurauksena kaikki puskuroidun tiedoston metatiedot ja datamuutokset kirjoitetaan taustalla oleviin tiedostojärjestelmiin. Se varmistaa, että kaikki muistiin tallennetut tiedot kirjoitetaan levylle, mikä estää välimuistiin tallennettujen tietojen katoamisen, jos toiminto kaatuu.
Mukana on myös järjestelmäkutsu int fsync(int fildes), joka pyytää, että kaikki avoimen tiedostokuvaajan, nimeltä fildes, tiedot siirretään fildesin kuvaamaan tiedostoon liittyvään tallennuslaitteeseen.
Synkronointiapuohjelma saa tiedostojärjestelmän hallintaohjelman huuhtelemaan kaikki muokatut inodit ja kaikki kirjoittamattomat järjestelmäpuskurit päämuistista levylle. Tämä varmistaa, että kaikki tiedostoihin tehdyt muutokset kyseiseen aikaan mennessä tallennetaan. synkronointi kirjoittaa ensin inodeja puskureihin ja sitten puskureihin levylle [2]
Linuxissa synkronointi varmistaa vain , että luettelo "likaisista" lohkoista kootaan kirjoitettavaksi. Kestää jonkin aikaa, ennen kuin ne todella tallennetaan. Uudelleenkäynnistys- ja pysäytyskomennot ottavat tämän huomioon pysähtymällä muutamaksi sekunniksi kutsun jälkeen
Synkronointikomennon suorittamisen jälkeen sinun on annettava riittävästi aikaa, jotta ohjainjonot vapautetaan ja kaikki tiedot tallennetaan kokonaan levylle. Tämän tauon kesto riippuu kiintolevyn (kiintolevyjen) nopeudesta, käsiteltävien puskurien määrästä ja järjestelmän toiminnasta tänä aikana.
Synkronointi kuluttaa pienen määrän CPU-resursseja. Lisäksi sillä on seuraavat edut [3] :
Paluu syncsamannimisen apuohjelman kutsumasta järjestelmäkutsusta voi tapahtua ennen kuin kirjoitus on todella valmis. Versiosta 1.3.30 lähtien Linux on kuitenkin odottanut kirjoittamisen loppua, mikä ei kuitenkaan takaa tietojen eheyttä: nykyaikaisilla levyillä on omat suuret välimuistit. [2]
Unix-komennot | ||||||||
---|---|---|---|---|---|---|---|---|
|