C programavimas

Kaip naudoti „Fsync“ sistemos skambutį C

Kaip naudoti „Fsync“ sistemos skambutį C

Fsync naudojamas failo būsenos koordinavimui su bet kuriuo saugojimo įrenginiu. „Fsync“ () sistemos skambutis praeina („nuleidžia“) visą pakeistą pagrindinį turinį (t.e., pakeistas buferis) failo deskriptorius fd į diskų įrenginį (ar bet kurį kitą nuolatinį saugojimo įrenginį), kur toks failas lieka. Tai net išvalo bylos duomenis. „Fsync“ sistemos iškvietimas veikia viename faile. Visi failo atnaujinimai bus pašalinti. Jei tame pačiame faile redaguojamos kelios užduotys, fsync sistemos skambutis bus sustabdytas, kol visi naujiniai nebus perkelti į diską. Jei sistema praneš, kad konversija buvo sėkminga, skambutis bus užblokuotas. Naudojant fsync () negarantuojama, kad galbūt failo įtraukimas į failų sistemą pateko ir į diską. Tačiau tam reikalingas tinkamas fsync () aplanko failo apraše.

Įdiekite būtinas sąlygas:

Taigi „fsync“ sistemos iškvietimui reikia įdiegti keletą bibliotekų, kad galėtų dirbti su juo. Jei kas nors nori patikrinti papildomą informaciją apie komandą fsync, Linux sistemoje jis turi būti įdiegęs paketus manpages-dev. Taigi pamatysime, kaip tai padaryti. Norėdami paleisti „Linux“ komandinės eilutės terminalą, naudokite klaviatūros klavišus „Ctrl + Alt + T“. Dabar, norėdami įdiegti „manpages-dev“ paketą, išbandykite toliau nurodytą apt install komandą, po kurios seka paketas pavadinimu „manpages-dev“. Norint tęsti diegimą, reikės „Linux“ paskyros slaptažodžio. Taigi, įveskite savo dabartinės paskyros „Linux“ slaptažodį ir paspauskite klaviatūros klavišą „Enter“. Tai greitai pradės diegimą ir konfigūruos jūsų „Linux“ sistemos puslapius. Atsisėskite, kol jis baigs diegimo procesą.

$ sudo apt įdiekite manpages-dev

Po diegimo galite naudoti žemiau esančią komandą, kad patikrintumėte informaciją apie fsync sistemą.

$ man 2 fsync

„Man“ komandos išvestis pridedama žemiau. Galite suprasti bet kokią su ja susijusią informaciją, kad suprastumėte „fsync“ sistemos iškvietimo „Linux“ sistemoje sąvoką. Norėdami uždaryti šį langą, paspauskite klaviatūros mygtuką „q“.

Dar viena būtina sąlyga norint naudoti „fsync“ sistemos skambučio ID GCC kompiliatoriuje. Taip yra todėl, kad mes naudojame fsync sistemos iškvietimą C kalba. Taigi, norėdami vykdyti ir kompiliuoti C kalbos kodą, turime turėti tam tikrą kompiliatoriaus paketą, įdiegtą mūsų sistemoje. Taigi, čia mes turime GCC kompiliatorių. Galite jį įdiegti naudodami labai paprastą komandą sudo apt, kaip nurodyta toliau. Tai bus baigta įdiegti per kelias minutes, ir jūs galite lengvai įrašyti C kodus į failus.

$ sudo apt install gcc

Pavyzdys:

Pradėkime dirbti su komanda fsync, kad ją gerai suprastume. Visų pirma turite sukurti C tipo failą naudodami komandų eilutės apvalkale esantį nano redaktorių. Norėdami tai padaryti, pabandykite paleisti žemiau pateiktą paprastą užklausą apvalkale.

$ nano naujas.c

Sukūrus ir atidarius failą, atėjo laikas parašyti C kodą. Taigi nano faile galite pamatyti žemiau pateiktą ilgą kodą. Pirmosiose 7 eilutėse yra antraštės failai, kuriuos reikia įtraukti į redaktoriaus failą, kad tinkamai veiktų „fsync“ sistemos iškvietimas. Po šių antraštės failų mes nustatėme pagrindinę funkciją su sveikojo skaičiaus grąžinimo tipu kaip „int“. Šioje funkcijoje yra du parametrai. Vienas iš jų yra sveiko skaičiaus tipas, o kitas - simbolių tipo masyvas. Pagrindinės funkcijos erdvėje mes paskelbėme simbolių tipo eilutę „* str“ ir apibrėžėme jai eilutės tipo vertę. Po to mes taip pat paskelbėme du sveiko skaičiaus tipo kintamuosius, kurie bus naudojami kaip failų aprašai kitose eilutėse. Kitoje eilutėje mes panaudojome sistemos sukūrimo funkciją, kad sukurtume naują failą pavadinimu „testas“.txt “ir skaitymo bei rašymo privilegijas kaip parametro poslinkį. Šį failo turinį grąžinome failo deskriptoriui „fd“. Šiame C kode apibrėžėme if teiginį. Jei failo deskriptoriaus reikšmė arba rodyklės rodyklė yra „-1“, tai sukels klaidą iškviečiant funkciją creat (), kad būtų sukurtas naujas failas. Apibūdinimas „fd“, mažesnis nei „-1“, reiškia, kad rodyklė yra -1 padėtyje.

Funkcija „exit ()“ bus iškviesta prieš uždarant „if“ sakinį. Toliau mes naudojome rašymo metodo iškvietimą, kad surinktume eilutės vertę iš buferio ir įrašytume ją į failą „test“.txt “naudojant failo deskriptorių„ fd “. Šie duomenys buvo grąžinti į kintamąjį „ret“. Jei kintamojo „Ret“ vertė yra mažesnė nei -1, tai reiškia, kad duomenys nebuvo įrašyti į failą. Taigi, jūs turite dar kartą iškviesti rašymo funkciją ir išeiti iš if sakinio. Apibrėžėme „fsync“ sistemos iškvietimą ir suteikėme failo deskriptorių „fd“ kaip parametro vertę, kad sinchronizuotume failo deskriptorių su disko įrenginiu. Paskambinus į metodą „uždaryti“, jis greitai įrašys duomenis į diską ir uždarys failo aprašą. Po to pagrindinė funkcija bus uždaryta. Išsaugokite šį failą naudodami spartųjį klavišą „Ctrl + S“ ir uždarykite failą „new“.c “naudodamas„ Ctrl + X “spartųjį klavišą.

Uždarę „nano“ failą, dabar jums laikas sukompiliuoti aukščiau pateiktą kodą. Norėdami sudaryti kodą, turime naudoti kompiliatorių gcc. Taigi, atlikite žemiau pateiktą gcc užklausą, kad sukompiluotumėte „new.c “failas.

$ gcc naujas.c

Dabar mes turime vykdyti šį kodą naudodami paprastą a.komandą lauke, kaip nurodyta toliau. Ši komanda paprasčiausiai įvykdys kodą ir nieko negrąžins, tačiau duomenys buvo įrašyti į disko įrenginį proceso gale.

$ ./ a.išėjo

Patikrinkite failą, kuris buvo sukurtas C kode, ir jame yra eilutės reikšmė.

$ katės testas.txt

Išvada

Trumpai aptarėme labai paprastą ir tiesinį „fsync“ sistemos kvietimo pavyzdį, kad suprastume jo sampratą.Tikiuosi, kad dabar jūs galite lengvai naudoti „fsync“ sistemos skambutį „Linux“.

Atvirojo kodo komercinių žaidimų variklių uostai
Nemokami atvirojo kodo ir įvairių platformų žaidimų varikliai gali būti naudojami žaidžiant senus ir kai kuriuos gana naujus žaidimų pavadinimus. Šiam...
Geriausi „Linux“ komandinės eilutės žaidimai
Komandų eilutė yra ne tik jūsų didžiausias sąjungininkas naudojant „Linux“, bet ir pramogų šaltinis, nes ją galite naudoti norėdami žaisti daug įdomių...
Geriausios „Linux“ skirtos „Gamepad“ žemėlapių sudarymo programos
Jei jums patinka žaisti žaidimus „Linux“ su žaidimų pultu, o ne įprasta klaviatūra ir pelės įvesties sistema, yra keletas jums naudingų programų. Daug...