Pemrograman C

Cara Menggunakan Panggilan Sistem Fsync di C

Cara Menggunakan Panggilan Sistem Fsync di C

Fsync digunakan untuk mengoordinasikan status inti file dengan perangkat penyimpanan apa pun. Panggilan sistem fsync() meneruskan ("flushes") semua konten inti yang diubah dari (i.e., buffer yang diubah untuk) deskriptor file fd ke mesin disk (atau perangkat penyimpanan abadi lainnya) di mana file tersebut tetap ada. Itu bahkan membersihkan detail file. Panggilan sistem fsync berfungsi pada satu file. Setiap pembaruan pada file akan dihapus. Jika beberapa tugas diedit ke file yang sama, panggilan sistem fsync akan ditangguhkan sebelum semua pembaruan ditransfer ke disk. Jika sistem mengumumkan bahwa konversi berhasil, panggilan akan diblokir. Menggunakan fsync() tidak menjamin bahwa mungkin penyertaan file dalam sistem file telah memasuki disk juga. Fsync() yang sesuai pada deskriptor file folder, bagaimanapun, diperlukan untuk ini.

Instal Prasyarat:

Jadi panggilan sistem fsync membutuhkan beberapa perpustakaan untuk diinstal agar berfungsi. Jika seseorang ingin memeriksa informasi tambahan mengenai perintah fsync, dia harus menginstal paket manpages-dev di sistem Linux mereka. Jadi kita akan melihat bagaimana melakukannya. Gunakan tombol Ctrl+Alt+T dari keyboard untuk meluncurkan terminal baris perintah Linux. Sekarang, untuk menginstal paket manpages-dev, coba perintah apt install berikut di bawah ini, diikuti oleh paket bernama "manpages-dev". Proses instalasi akan membutuhkan kata sandi akun Anda agar Linux dapat melanjutkan. Jadi, masukkan kata sandi Linux akun Anda saat ini dan tekan tombol Enter dari keyboard. Ini akan dengan cepat memulai instalasi dan mengonfigurasi halaman manual di sistem Linux Anda. Duduklah hingga proses instalasi selesai.

$ sudo apt install manpages-dev

Setelah instalasi, Anda dapat menggunakan perintah di bawah ini untuk memeriksa informasi tentang sistem fsync.

$ man 2 fsync

Output untuk perintah man ditambahkan di bawah ini. Anda dapat membaca informasi apa pun mengenainya untuk memahami konsep panggilan sistem "fsync" di sistem Linux. Tekan tombol "q" dari keyboard untuk keluar dari jendela ini.

Prasyarat lain yang diperlukan untuk menggunakan id panggilan sistem fsync kompiler GCCCC. Ini karena kami menggunakan panggilan sistem fsync dalam bahasa C. Jadi, untuk mengeksekusi dan mengkompilasi kode bahasa C, kita harus menginstal beberapa paket kompiler di sistem kita. Jadi, di sini kita memiliki kompiler GCC. Anda dapat menginstalnya menggunakan perintah sudo apt yang sangat sederhana seperti di bawah ini. Ini akan menyelesaikan instalasinya dalam beberapa menit, dan Anda dapat dengan mudah menulis kode C dalam file.

$ sudo apt install gcc

Contoh:

Mari kita mulai mengerjakan perintah fsync untuk memahaminya dengan baik. Pertama-tama, Anda harus membuat file tipe-C menggunakan editor nano di shell baris perintah. Untuk ini, coba jalankan kueri sederhana di bawah ini di Shell.

$nano baru.c

Setelah file dibuat dan dibuka, saatnya menulis beberapa kode C. Jadi Anda dapat melihat kode panjang di bawah ini di file nano. 7 baris pertama memiliki file header yang perlu disertakan dalam file editor agar panggilan sistem "fsync" berfungsi dengan baik. Setelah file header ini, kami telah mendefinisikan fungsi utama dengan tipe pengembalian integer sebagai "int". Fungsi ini berisi dua parameter. Salah satunya adalah tipe integer, dan yang lainnya adalah array tipe karakter. Di ruang fungsi utama, kami telah mendeklarasikan string tipe karakter “*str” dan mendefinisikan nilai tipe string ke dalamnya. Setelah itu, kami juga mendeklarasikan dua variabel tipe integer yang akan digunakan sebagai deskriptor file di baris selanjutnya further. Pada baris berikutnya, kita telah menggunakan fungsi create system call untuk membuat file baru bernama “test.txt” dan hak baca dan tulis sebagai offset dalam parameter. Kami telah mengembalikan konten file ini ke deskriptor file “fd”. Kami telah mendefinisikan pernyataan if dalam kode C ini. Jika nilai atau penunjuk indeks dari deskriptor file adalah “-1” maka akan muncul error untuk memanggil fungsi creat() untuk membuat file baru. Deskriptor “fd” kurang dari “-1” berarti penunjuk berada pada posisi -1.

Fungsi exit() akan dipanggil sebelum penutupan pernyataan if. Selanjutnya, kita telah menggunakan pemanggilan metode tulis untuk mengumpulkan nilai string dari buffer dan menulisnya ke file “test.txt" menggunakan deskriptor file "fd". Data ini telah dikembalikan ke variabel "ret". Jika nilai variabel “Ret” kurang dari -1, ini berarti data belum ditulis ke file. Jadi, Anda harus memanggil lagi fungsi tulis dan keluar dari pernyataan if. Kami telah mendefinisikan panggilan sistem fsync dan memberinya deskriptor file "fd" sebagai nilai parameter untuk menyinkronkan deskriptor file ke perangkat disk. Setelah memanggil metode "tutup", itu akan dengan cepat menulis data ke dalam disk drive dan menutup deskriptor file. Setelah itu, fungsi utama akan ditutup. Simpan file ini menggunakan tombol pintasan keyboard, “Ctrl+S,” dan tutup file “baru.c" menggunakan tombol pintas "Ctrl + X".

Setelah menutup file nano, sekarang saatnya Anda mengkompilasi kode yang disajikan di atas. Untuk kompilasi kode, kita harus menggunakan compiler gcc. Jadi, jalankan kueri gcc di bawah ini untuk mengkompilasi file "baru".c" berkas.

$gcc baru.c

Sekarang, kita harus mengeksekusi kode ini menggunakan a . sederhana.perintah out di Shell seperti di bawah ini. Perintah ini hanya akan mengeksekusi kode dan tidak mengembalikan apa pun, tetapi data telah ditulis ke drive disk di belakang proses.

$ ./Sebuah.di luar

Periksa file yang telah dibuat dalam kode C, dan memiliki nilai string di dalamnya.

$tes kucing.txt

Kesimpulan

Kami telah membahas secara singkat contoh yang sangat sederhana dan linier dari panggilan sistem fsync untuk memahami konsepnya.Saya harap sekarang Anda dapat dengan mudah menggunakan panggilan sistem fsync di Linux.

Cara mengunduh dan Memainkan Civilization VI Sid Meier di Linux
Pengenalan permainan Civilization 6 adalah konsep modern dari konsep klasik yang diperkenalkan dalam seri game Age of Empires. Idenya cukup sederhana;...
Cara Menginstal dan Memainkan Doom di Linux
Pengantar Doom Seri Doom berasal dari tahun 90-an setelah rilis Doom. Itu adalah hit instan dan sejak saat itu seri game telah menerima banyak penghar...
Vulkan untuk Pengguna Linux
Dengan setiap generasi baru kartu grafis, kami melihat pengembang game mendorong batas kesetiaan grafis dan selangkah lebih dekat ke fotorealisme. Tet...