C Programmeerimine

Kuidas kasutada Fsynci süsteemikõnet C-s

Kuidas kasutada Fsynci süsteemikõnet C-s

Fsync-i kasutatakse faili sisemise oleku koordineerimiseks mis tahes salvestusseadmega. Fsync () süsteemikõne läbib ("loputab") kogu muudetud (i.e., muudetud puhver) failikirjeldaja fd plaadimasinasse (või mis tahes muusse igaveseks salvestusseadmesse), kuhu selline fail jääb. See puhastab isegi faili üksikasjad. Fsynci süsteemikõne töötab ühel failil. Kõik faili värskendused kustutatakse. Kui samasse faili redigeeritakse mitu ülesannet, peatatakse fsynci süsteemikõne enne, kui kõik värskendused on kettale üle viidud. Kui süsteem teatab, et teisendamine on edukas, blokeeritakse kõne. Fsync () kasutamine ei taga, et võib-olla ka faili kaasamine failisüsteemi on plaadile jõudnud. Selleks on aga vajalik kausta failikirjelduses sobiv fsync ().

Eeltingimuste installimine:

Nii et fsynci süsteemikõne vajab selle töötamiseks mõnda teeki. Kui keegi soovib kontrollida lisateavet käsu fsync kohta, peab tal olema Linuxi süsteemi installitud paketid manpages-dev. Nii et me näeme, kuidas seda teha. Kasutage Linuxi käsurea terminali käivitamiseks klaviatuurilt klahve Ctrl + Alt + T. Paketi manpages-dev installimiseks proovige järgmist käsku apt install, millele järgneb pakett nimega “manpages-dev”. Installimise protsess nõuab Linuxi jätkamiseks teie konto parooli. Niisiis, sisestage oma praegune konto Linuxi parool ja vajutage klaviatuurilt sisestusklahvi. See alustab kiiresti Linuxi süsteemi installimist ja konfigureerimist. Istuge, kuni see installiprotsessi lõpule viib.

$ sudo apt install manpages-dev

Pärast installimist saate kasutada fsynci süsteemi teabe kontrollimiseks järgmist käsku.

$ man 2 fsync

Man-käsu väljund on lisatud allpool. Fsynci süsteemikõne kontseptsiooni mõistmiseks Linuxi süsteemis saate lugeda kogu selle kohta käivat teavet. Sellest aknast väljumiseks vajutage klaviatuuril nuppu „q“.

Teine eeltingimus, mis on vajalik fsynci süsteemi kõne ID kasutamiseks GCC kompilaatoris. Selle põhjuseks on asjaolu, et me kasutame süsteemi FSYNC kõnet C-keeles. Nii et C-keele koodi käivitamiseks ja kompileerimiseks peab meie süsteemis olema installitud mõni kompilaatoripakett. Nii et siin on meil GCC kompilaator. Selle saate installida väga lihtsa sudo apt käsuga, nagu allpool. See viib installimise lõpule mõne minutiga ja saate hõlpsalt failidesse C-koode kirjutada.

$ sudo apt install gcc

Näide:

Alustame käsuga fsync, et sellest hästi aru saada. Kõigepealt peate käsurea kestas oleva nano-redaktori abil looma C-tüüpi faili. Selleks proovige kestas käivitada allpool olev lihtne päring.

$ nano uus.c

Pärast faili loomist ja avamist on aeg kirjutada mõni C-kood. Nii näete allolevat pikka koodi nano-failis. Esimesel seitsmel real on päisefailid, mis on vajalikud redaktorifaili lisamiseks, et süsteemikõne “fsync” korralikult töötada. Pärast neid päisefaile oleme määranud põhifunktsiooni täisarvu tagasitüübiga „int”. See funktsioon sisaldab kahte parameetrit. Üks neist on täisarvutüüp ja teine ​​tähemärgitüüp. Põhifunktsiooni ruumis oleme deklareerinud märgitüübi stringi “* str” ja määranud sellele stringi tüübi väärtuse. Pärast seda oleme deklareerinud ka kaks täisarvu muutujat, mida kasutatakse failide kirjeldajatena järgmistel ridadel. Järgmisel real oleme uue süsteemi loomiseks kasutanud funktsiooni Create system call funktsiooni.txt ”ning parameetri nihkena lugemis- ja kirjutamisõigused. Oleme selle faili sisu tagastanud failikirjeldajale "fd". Selles C-koodis oleme määranud if lause. Kui failikirjuri väärtus või indeksikurss on “-1”, loob see vea funktsiooni creat () kutsumisel uue faili loomiseks. Kirjeldaja “fd”, mis on väiksem kui “-1”, tähendab, et kursor on -1 positsioonil.

Funktsioon exit () kutsutakse enne if-lause sulgemist. Järgmisena oleme kirjutamismeetodi kõnet kasutades kogunud puhvrist stringi väärtuse ja kirjutanud selle faili “test.txt ”, kasutades failikirjeldust“ fd ”. Need andmed on tagastatud muutujale „ret”. Kui muutuja “Ret” väärtus on väiksem kui -1, tähendab see, et andmeid pole faili kirjutatud. Niisiis, peate uuesti kutsuma kirjutamisfunktsiooni ja väljuma if-lausest. Oleme määranud süsteemikõne fsync ja andnud sellele failikirjuri "fd" parameetri väärtusena, et failikirjeldaja kettaseadmega sünkroonida. "Sule" meetodi kutsumisel kirjutab see andmed kiiresti kettaseadmesse ja sulgeb faili kirjeldaja. Pärast seda suletakse põhifunktsioon. Salvestage see fail kiirklahviga „Ctrl + S” ja sulgege fail „uus.c ”, kasutades kiirklahvi“ Ctrl + X ”.

Pärast nanofaili sulgemist on nüüd aeg koostada ülaltoodud kood. Koodi koostamiseks peame kasutama kompilaatorit gcc. Niisiis, täitke allpool olev gcc-päring, et koostada „uus.c ”fail.

$ gcc uus.c

Nüüd peame selle koodi käivitama lihtsa a abil.välja käsk kestas nagu allpool. See käsk lihtsalt käivitab koodi ja ei tagasta midagi, kuid andmed on kirjutatud protsessi tagaküljele.

$ ./ a.välja

Kontrollige faili, mis on loodud C-koodis ja selles on stringi väärtus.

$ kassi test.txt

Järeldus

Oleme selle kontseptsiooni mõistmiseks lühidalt arutanud fsynci süsteemikõne väga lihtsat ja lineaarset näidet.Loodan, et saate nüüd fsynci süsteemikõnet Linuxis hõlpsalt kasutada.

Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...
Kuidas kasutada GameConquerori petumootorit Linuxis
Artikkel sisaldab juhendit GameConquerori petumootori kasutamise kohta Linuxis. Paljud kasutajad, kes mängivad Windowsis mänge, kasutavad rakendust „C...
Parimad Linuxi mängukonsooli emulaatorid
Selles artiklis loetletakse Linuxi jaoks saadaval olev populaarne mängukonsooli emuleerimise tarkvara. Emuleerimine on tarkvara ühilduvuse kiht, mis j...