C Programiranje

Kako koristiti Fsync System Call u C

Kako koristiti Fsync System Call u C

Fsync se koristi za koordinaciju stanja jezgre datoteke s bilo kojim uređajem za pohranu. Sistemski poziv fsync () prosljeđuje ("ispire") sav izmijenjeni sadržaj jezgre (tj.e., promijenjeni međuspremnik za) deskriptor datoteke fd na disk uređaj (ili bilo koji drugi trajni uređaj za pohranu) gdje takva datoteka ostaje. Čak i briše detalje datoteke. Sistemski poziv fsync radi na jednoj datoteci. Sva će se ažuriranja datoteke ukloniti. Ako se u istu datoteku uređuje nekoliko zadataka, sistemski poziv fsync obustavit će se prije nego što se sva ažuriranja prenesu na disk. Ako sustav objavi da je pretvorba uspješna, poziv će biti blokiran. Korištenje fsync () ne garantira da je možda i uključivanje datoteke u datotečni sustav ušlo na disk. Međutim, za to je potreban odgovarajući fsync () na opisu datoteke mape.

Preduvjeti za instalaciju:

Dakle, sistemskom pozivu fsync potrebne su neke knjižnice koje trebaju biti instalirane da rade na njemu. Ako netko želi provjeriti dodatne informacije u vezi s naredbom fsync, mora imati instalirane pakete manpages-dev na svom Linux sustavu. Pa ćemo vidjeti kako to učiniti. Upotrijebite tipku Ctrl + Alt + T na tipkovnici da biste pokrenuli Linux terminal s naredbenim retkom. Sada, da biste instalirali paket manpages-dev, isprobajte sljedeću naredbu apt install, slijedi paket nazvan "manpages-dev". Proces instalacije zahtijevat će lozinku vašeg računa za Linux da bi se nastavio. Dakle, unesite lozinku za svoj trenutni račun za Linux i pritisnite tipku Enter s tipkovnice. Brzo će započeti instalaciju i konfiguriranje stranica u vašem Linux sustavu. Sjednite dok ne dovrši postupak instalacije.

$ sudo apt install manpages-dev

Nakon instalacije, pomoću naredbe u nastavku možete provjeriti informacije o sustavu fsync.

$ man 2 fsync

Izlaz za naredbu man nalazi se u nastavku. Možete pročitati sve informacije u vezi s tim da biste razumjeli koncept sistemskog poziva "fsync" u Linux sustavu. Pritisnite gumb "q" s tipkovnice da biste zatvorili ovaj prozor.

Još jedan preduvjet potreban za upotrebu fsync sistemskog poziva id GCC kompajlera. To je zato što koristimo sistemski poziv fsync unutar jezika C. Dakle, da bismo izvršili i kompilirali kôd jezika C, u našem sustavu mora biti instaliran neki paket kompajlera. Dakle, ovdje imamo GCC kompajler. Možete ga instalirati pomoću vrlo jednostavne naredbe sudo apt kao u nastavku. Instalaciju će dovršiti za nekoliko minuta, a C kodove možete jednostavno pisati u datoteke.

$ sudo apt instalirati gcc

Primjer:

Počnimo raditi na naredbi fsync da bismo je dobro razumjeli. Prije svega, morate stvoriti datoteku tipa C pomoću nano uređivača u ljusci naredbenog retka. Za to pokušajte u ljusci pokrenuti donji jednostavni upit.

$ nano novo.c

Nakon što je datoteka kreirana i otvorena, vrijeme je da napišete neki C kod. Tako možete vidjeti donji dugački kôd u nano datoteci. Prvih 7 redaka sadrži datoteke zaglavlja koje su potrebne da bi se uključile u datoteku uređivača za ispravan rad sistemskog poziva "fsync". Nakon ovih datoteka zaglavlja, definirali smo glavnu funkciju s cijelim tipom povratka kao "int". Ova funkcija sadrži dva parametra. Jedan od njih je cjelobrojni tip, a drugi niz znakova. U prostoru glavne funkcije proglasili smo niz znakova tipa "* str" i definirali mu vrijednost tipa niza. Nakon toga smo također proglasili dvije varijable cijelog broja koje će se koristiti kao deskriptori datoteka u daljnjim redovima. U sljedećem smo retku koristili funkciju create system call za stvaranje nove datoteke pod nazivom „test.txt ”i privilegije čitanja i pisanja kao pomak u parametru. Vratili smo ovaj sadržaj datoteke opisu datoteke "fd". Definirali smo izjavu if u ovom C kodu. Ako je vrijednost ili pokazivač indeksa deskriptora datoteke "-1", izbacit će pogrešku u pozivanju funkcije creat () za stvaranje nove datoteke. Deskriptor "fd" manji od "-1" znači da je pokazivač na položaju -1.

Funkcija exit () pozvat će se prije zatvaranja naredbe if. Dalje smo koristili poziv metode pisanja kako bismo prikupili vrijednost niza iz međuspremnika i zapisali je u datoteku „test“.txt "pomoću deskriptora datoteke" fd ". Ovi su podaci vraćeni u varijablu "ret". Ako je vrijednost varijable "Ret" manja od -1, to znači da podaci nisu zapisani u datoteku. Dakle, morate ponovno pozvati funkciju pisanja i izaći iz naredbe if. Definirali smo sistemski poziv fsync i dali mu opis datoteke "fd" kao vrijednost parametra za sinkronizaciju deskriptora datoteke s diskovnim uređajem. Nakon pozivanja metode "zatvori", brzo će upisati podatke u pogon diska i zatvoriti deskriptor datoteke. Nakon toga će se zatvoriti glavna funkcija. Spremite ovu datoteku pomoću tipkovne prečice tipke "Ctrl + S" i zatvorite datoteku "novo.c ”pomoću tipke prečaca„ Ctrl + X ”.

Nakon zatvaranja nano datoteke, sada je vrijeme da sastavite gore predstavljeni kod. Za kompilaciju koda moramo koristiti gcc kompajler. Dakle, izvršite donji gcc upit da biste sastavili „novo.c ”datoteka.

$ gcc novo.c

Sada moramo izvršiti ovaj kod pomoću jednostavnog a.naredba out u ljusci kao dolje. Ova će naredba jednostavno izvršiti kôd i neće vratiti ništa, ali podaci su zapisani na disk u stražnjem dijelu postupka.

$ ./ a.van

Provjerite datoteku koja je stvorena u C kodu i ona sadrži vrijednost niza.

$ mačji test.txt

Zaključak

Ukratko smo razgovarali o vrlo jednostavnom i linearnom primjeru poziva fsync sustava da bismo razumjeli njegov koncept.Nadam se da sada lako možete koristiti sistemski poziv fsync u Linuxu.

Dodajte geste miša u sustav Windows 10 pomoću ovih besplatnih alata
Posljednjih godina računala i operativni sustavi uvelike su se razvili. Bilo je vrijeme kada su korisnici morali koristiti naredbe za navigaciju kroz ...
Kontrolirajte i upravljajte kretanjem miša između više monitora u sustavu Windows 10
Dvostruki zaslon upravitelja miša omogućuje vam kontrolu i konfiguriranje kretanja miša između više monitora, usporavajući njegovo kretanje blizu gran...
WinMouse vam omogućuje prilagodbu i poboljšanje kretanja pokazivača miša na Windows računalu
Ako želite poboljšati zadane funkcije pokazivača miša, upotrijebite besplatni program WinMouse. Dodaje više značajki koje će vam pomoći da na najbolji...