C Programmēšana

Kā izmantot Fsync sistēmas izsaukumu

Kā izmantot Fsync sistēmas izsaukumu

Fsync tiek izmantots, lai koordinētu faila kodola stāvokli ar jebkuru atmiņas ierīci. Fsync () sistēmas izsaukums iziet (“izskalo”) visu mainīto kodola saturu (t.i.e., mainīts buferis) faila deskriptoru fd diska mašīnai (vai jebkurai citai pastāvīgas saglabāšanas ierīcei), kur šāds fails paliek. Tas pat attīra faila detaļas. Fsync sistēmas izsaukums darbojas vienā failā. Visi faila atjauninājumi tiks izdzēsti. Ja vienā un tajā pašā failā tiek rediģēti vairāki uzdevumi, fsync sistēmas zvans tiks apturēts, pirms visi atjauninājumi ir pārsūtīti uz disku. Ja sistēma paziņo, ka konvertēšana ir veiksmīga, zvans tiks bloķēts. Fsync () izmantošana negarantē, ka, iespējams, faila iekļaušana failu sistēmā ir iekļuvusi diskā. Tomēr tam ir nepieciešama atbilstoša fsync () mapes faila aprakstā.

Instalēšanas priekšnosacījumi:

Tātad fsync sistēmas izsaukumam ir jāinstalē dažas bibliotēkas, lai ar to darbotos. Ja kāds vēlas pārbaudīt papildu informāciju par komandu fsync, viņam / viņai Linux sistēmā jābūt instalētām pakotnēm manpages-dev. Tātad mēs redzēsim, kā to izdarīt. Izmantojiet tastatūras taustiņus Ctrl + Alt + T, lai palaistu Linux komandrindas termināli. Tagad, lai instalētu paketi manpages-dev, izmēģiniet šo komandu apt install, kam seko pakete ar nosaukumu “manpages-dev”. Instalēšanas procesam būs nepieciešama konta parole, lai Linux varētu turpināt. Tātad, ievadiet pašreizējā konta Linux paroli un nospiediet tastatūras taustiņu Enter. Tas ātri sāks instalēt un konfigurēt manpages jūsu Linux sistēmā. Sēdieties, līdz tas pabeidz instalēšanas procesu.

$ sudo apt instalējiet manpages-dev

Pēc instalēšanas varat izmantot zemāk esošo komandu, lai pārbaudītu informāciju par fsync sistēmu.

$ man 2 fsync

Komandas man izeja ir pievienota zemāk. Jūs varat izlasīt jebkuru informāciju par to, lai izprastu “fsync” sistēmas izsaukuma jēdzienu Linux sistēmā. Nospiediet tastatūras pogu “q”, lai aizvērtu šo logu.

Vēl viens priekšnoteikums, kas nepieciešams, lai izmantotu fsync sistēmas zvana ID GCC kompilatoram. Tas ir tāpēc, ka mēs izmantojam fsync sistēmas izsaukumu C valodā. Tātad, lai izpildītu un apkopotu C valodas kodu, mūsu sistēmā jābūt instalētai kompilatora pakotnei. Tātad, šeit mums ir GCC kompilators. To var instalēt, izmantojot ļoti vienkāršo sudo apt komandu, kā norādīts zemāk. Tas pabeigs instalēšanu dažu minūšu laikā, un jūs viegli varat ierakstīt C kodus failos.

$ sudo apt instalējiet gcc

Piemērs:

Sāksim strādāt ar komandu fsync, lai to labi saprastu. Vispirms jums jāizveido C veida fails, izmantojot komandrindas čaulā esošo nano redaktoru. Lai to izdarītu, mēģiniet palaist zemāk esošo vienkāršo vaicājumu čaulā.

$ nano jauns.c

Pēc faila izveides un atvēršanas ir pienācis laiks uzrakstīt kādu C kodu. Tātad nano failā varat redzēt zemāk redzamo garo kodu. Pirmajās 7 rindās ir galvenes faili, kas jāiekļauj redaktora failā, lai pareizi darbotos “fsync” sistēmas izsaukums. Pēc šiem galvenes failiem galvenā funkcija ar vesera skaitļa atgriešanās tipu ir definēta kā “int”. Šajā funkcijā ir divi parametri. Viens no tiem ir vesels skaitlis, bet otrs - rakstzīmju tipa masīvs. Galvenās funkcijas telpā mēs esam deklarējuši rakstzīmju tipa virkni “* str” un definējuši tai virknes veida vērtību. Pēc tam mēs esam deklarējuši arī divus veselā skaitļa tipa mainīgos, kas tiks izmantoti kā failu deskriptori turpmākajās rindās. Nākamajā rindā mēs izmantojām sistēmas izsaukuma izveides funkciju, lai izveidotu jaunu failu ar nosaukumu “test.txt ”un lasīšanas un rakstīšanas tiesības kā parametra nobīdi. Šis faila saturs ir atgriezts faila aprakstā “fd”. Šajā C kodā mēs esam definējuši if paziņojumu. Ja faila deskriptora vērtība vai rādītāja rādītājs ir “-1”, tas radīs kļūdu, izsaucot funkciju creat (), lai izveidotu jaunu failu. Apraksts “fd”, kas ir mazāks par “-1”, nozīmē, ka rādītājs atrodas -1 pozīcijā.

Funkcija exit () tiks izsaukta pirms if paziņojuma aizvēršanas. Pēc tam mēs esam izmantojuši rakstīšanas metodes izsaukumu, lai savāktu virknes vērtību no bufera un ierakstītu to failā “test”.txt ”, izmantojot faila deskriptoru“ fd ”. Šie dati ir atgriezti mainīgajā “ret”. Ja mainīgā “Ret” vērtība ir mazāka par -1, tas nozīmē, ka dati nav ierakstīti failā. Tātad, jums atkal ir jāizsauc rakstīšanas funkcija un jāiziet no if paziņojuma. Mēs esam definējuši fsync sistēmas izsaukumu un piešķīruši faila deskriptoru “fd” kā parametra vērtību, lai sinhronizētu faila deskriptoru ar diska ierīci. Izsaucot metodi “aizvērt”, tā ātri ierakstīs datus diska diskā un aizvērs faila deskriptoru. Pēc tam galvenā funkcija tiks slēgta. Saglabājiet šo failu, izmantojot īsinājumtaustiņu “Ctrl + S”, un aizveriet failu “new.c ”, izmantojot īsinājumtaustiņu“ Ctrl + X ”.

Pēc nano faila aizvēršanas ir pienācis laiks apkopot iepriekš minēto kodu. Koda sastādīšanai mums jāizmanto kompilators gcc. Tātad, izpildiet zemāk redzamo gcc vaicājumu, lai apkopotu “new.c ”fails.

$ gcc jauns.c

Tagad mums šis kods ir jāizpilda, izmantojot vienkāršo a.out komandu čaulā, kā norādīts zemāk. Šī komanda vienkārši izpildīs kodu un neko neatgriezīs, bet dati ir ierakstīti diska diskā procesa aizmugurē.

$ ./ a.ārā

Pārbaudiet failu, kas izveidots C kodā, un tajā ir virknes vērtība.

$ kaķu tests.txt

Secinājums

Mēs īsi apspriedām ļoti vienkāršu un lineāru fsync sistēmas izsaukuma piemēru, lai saprastu tā jēdzienu.Es ceru, ka tagad jūs varat viegli izmantot fsync sistēmas izsaukumu Linux.

Kā mainīt peles un skārienpaliktņu ritināšanas virzienu operētājsistēmā Windows 10
Pele un SkārienpaliktnisTas ne tikai padara skaitļošanu vienkāršu, bet arī efektīvāku un mazāk laikietilpīgu. Mēs nevaram iedomāties dzīvi bez šīm ier...
Kā mainīt peles rādītāja un kursora izmēru, krāsu un shēmu operētājsistēmā Windows 10
Peles rādītājs un kursors operētājsistēmā Windows 10 ir ļoti svarīgi operētājsistēmas aspekti. To var teikt arī par citām operētājsistēmām, tāpēc pati...
Bezmaksas un atvērtā koda spēļu dzinēji Linux spēļu izstrādei
Šis raksts aptvers bezmaksas un atvērtā koda spēļu motoru sarakstu, kurus var izmantot, lai izstrādātu 2D un 3D spēles Linux. Šādu spēļu dzinēju ir da...