Ingin mengetahui cara sistem fail Linux berfungsi?
Sistem fail Linux ialah komponen teras sistem pengendalian, dan mekanisme pengendaliannya adalah perkara yang perlu difahami dan dikuasai oleh pengaturcara. Cakera menyediakan storan berterusan yang paling asas untuk sistem, dan sistem fail menyediakan semua fail dalam sistem asas cakera Di Linux, semuanya adalah fail Bukan sahaja fail dan direktori biasa, tetapi juga peranti blok, soket, paip, dan lain-lain, mesti diuruskan melalui sistem fail bersatu. Hari ini kita akan bercakap bersama: Bagaimanakah cakera dan sistem fail berfungsi?
Nod indeks dan entri direktori
Dalam sistem fail Linux, metadata fail termasuk: entri direktori, nod indeks dan blok data.
- Entri direktori: dirujuk sebagai dentry, digunakan untuk merekodkan nama fail, penunjuk nod indeks dan kaitan dengan entri direktori lain. Berbilang entri direktori yang berkaitan membentuk struktur direktori sistem fail. Entri direktori ialah struktur data memori yang dikekalkan oleh kernel, jadi ia sering dipanggil cache kemasukan direktori (Cache).
- Nod indeks: dirujuk sebagai inod, digunakan untuk merekodkan metadata fail, termasuk nombor inod, saiz fail, kebenaran akses, tarikh pengubahsuaian, lokasi data, bilangan pautan, dsb. Maklumat nod indeks akan disimpan pada cakera untuk penyimpanan, menduduki ruang cakera.
- Blok data: dirujuk sebagai blok, tempat data fail disimpan. Unit storan terkecil cakera dipanggil sektor Setiap sektor menyimpan 512 bait, yang bersamaan dengan 0.5KB Apabila sistem pengendalian membaca cakera keras, ia tidak akan membacanya mengikut sektor, yang terlalu tidak cekap membaca pelbagai sektor secara berterusan pada satu masa, iaitu membaca satu "blok" pada satu masa. "Blok" yang terdiri daripada pelbagai sektor ini ialah unit akses fail terkecil. Saiz "Sekat", yang paling biasa ialah 4KB (lapan sektor).
Untuk mempercepatkan akses fail, nod indeks biasanya dimuatkan ke dalam memori, dan cakera keras dibahagikan kepada tiga kawasan storan: blok super, kawasan nod indeks dan kawasan blok data apabila diformatkan.
- Super block digunakan untuk menyimpan maklumat terperinci sistem fail, seperti bilangan blok, saiz blok, blok percuma, dll.
- Kawasan nod indeks, digunakan untuk menyimpan nod indeks.
- Kawasan blok data, digunakan untuk menyimpan data fail atau direktori.
Sistem Fail Maya
Sistem fail maya (VFS, Sistem Fail Maya) sistem Linux ialah lapisan abstraksi utama yang menyediakan pengguna dan aplikasi dengan antara muka sistem fail yang konsisten, membolehkan mereka mengakses pelbagai jenis sistem fail dengan cara yang bersatu perlu bimbang tentang butiran pelaksanaan sistem fail asas.
Kedua-dua program pengguna dan perpustakaan glibc adalah milik ruang pengguna, dan operasi fail diselesaikan dengan memanggil fungsi lapisan panggilan sistem (SCI). Fungsi ini adalah antara muka yang disediakan oleh kernel Linux untuk pengguna meminta operasi daripada sistem. Sebagai contoh, arahan kucing dalam sistem akan memanggil fungsi open() untuk membuka fail, kemudian memanggil fungsi read() untuk membaca kandungan fail, dan akhirnya memanggil fungsi write() untuk mengeluarkan kandungan fail ke konsol . Jenis sistem fail biasa boleh dibahagikan kepada beberapa kategori yang luas.
- Berdasarkan cakera setempat: EXT3, EXT4, XFS, OverlayFS, dll. Ciri sistem fail jenis ini ialah data disimpan terus dalam cakera yang dipasang secara tempatan pada komputer, dengan prestasi yang baik dan tiada penggunaan akses IO rangkaian.
- Berdasarkan sistem fail rangkaian: NFS, CIFS/SMB, CephFS, GlusterFS, dll. Ciri-ciri fail jenis ini ialah ia membenarkan pengguna mengakses dan mengurus fail melalui rangkaian. Pengedaran, merentas platform, fleksibiliti dan skalabiliti adalah kelebihan terbesar mereka.
- Sistem fail berasaskan memori: tmpfs, ramfs, /proc, dsb. Sistem fail berasaskan memori ini biasanya digunakan untuk tujuan tertentu, seperti storan fail sementara, caching, akses data pantas, dsb. Mereka menyediakan penyelesaian berprestasi tinggi untuk membaca dan menulis fail dalam ingatan, tetapi mereka juga perlu sedar tentang had memori dan turun naik data.
Fail I/O
Kami membahagi dan memformat cakera untuk mencipta pelbagai jenis sistem fail, yang mesti dipasang pada direktori tertentu pada VFS Linux sebelum ia boleh digunakan oleh sistem. Terdapat jenis I/O yang berbeza untuk operasi membaca dan menulis fail, dan program aplikasi memilih kaedah yang sesuai mengikut keperluan.
Timbal lwn. I/O Tidak Tertimbal
- Apa yang dipanggil tiada penimbalan tidak bermakna kernel tidak menyediakan penimbalan, tetapi hanya panggilan sistem yang mudah, bukan panggilan perpustakaan berfungsi. Kernel sistem menyediakan penimbal blok untuk membaca dan menulis ke cakera Apabila menggunakan fungsi tulis untuk menulis data kepadanya, panggilan sistem dipanggil terus untuk menulis data ke penimbal blok dan beratur apabila penampan blok mencapai a jumlah tertentu, penimbal blok akan beratur Data ditulis ke cakera. Oleh itu, apa yang dipanggil unbuffered I/O bermakna proses tersebut tidak menyediakan fungsi buffering. Setiap kali fungsi tulis atau baca dipanggil, ia dipanggil terus oleh sistem. (Disampan oleh kernel).
- Buffered I/O bermaksud proses itu menambah baik aliran input dan output serta menyediakan penimbal strim. Apabila menggunakan fungsi tulis untuk menulis data, data pertama kali ditulis ke dalam penimbal strim Apabila keadaan tertentu dicapai, seperti penimbal strim penuh, data akan dihantar ke penimbal blok yang disediakan oleh kernel sekali gus. kemudian ditulis melalui penimbal blok ke dalam cakera. (penimbalan berganda)
- Oleh itu, I/O buffer akan memerlukan lebih sedikit panggilan sistem daripada I/O yang tidak buffer apabila menulis jumlah data yang sama ke cakera.
I/O terus dan I/O tidak langsung
- I/O Terus: Aplikasi mengakses data cakera secara langsung tanpa melalui penimbal kernel Tujuannya adalah untuk mengurangkan salinan data daripada penimbal kernel ke cache program pengguna.
- I/O Tidak Langsung: Apabila fail dibaca atau ditulis, ia mesti melalui cache halaman sistem dahulu, dan kemudian ditulis ke cakera melalui kernel atau panggilan sistem tambahan.
- Untuk I/O langsung, jika data yang diakses tiada dalam cache aplikasi, maka data akan dimuatkan terus dari cakera setiap kali, dan kecekapan pemuatan langsung ini akan menjadi lebih perlahan. Walau bagaimanapun, untuk aplikasi seperti sistem pengurusan pangkalan data, mereka lebih cenderung untuk memilih mekanisme caching mereka sendiri, kerana sistem pengurusan pangkalan data sering mengetahui data yang disimpan dalam pangkalan data lebih baik daripada sistem pengendalian, dan I/O langsung adalah lebih sesuai.
Menyekat I/O dan tidak menyekat I/O
- Menyekat I/O: Proses aplikasi disekat apabila memanggil operasi I/O Ia hanya kembali selepas menunggu data dikendalikan untuk disediakan dan disalin ke penimbal proses permohonan. Ciri-cirinya ialah: kesukaran pelaksanaan yang rendah, pembangunan aplikasi yang mudah, dan sesuai untuk pembangunan aplikasi rangkaian dengan konkurensi kecil.
- I/O tidak menyekat: bermakna selepas aplikasi menjalankan operasi I/O, ia tidak akan menyekat urutan semasa dan boleh terus melaksanakan tugas lain, dan kemudian mendapatkan keputusan panggilan melalui undian atau pemberitahuan acara. Ciri-cirinya ialah: agak kompleks. Sesuai untuk pembangunan aplikasi rangkaian yang mempunyai jumlah concurrency yang kecil dan tidak memerlukan respons tepat pada masanya
I/O segerak dan tak segerak
- I/O Segerak: bermakna selepas aplikasi melakukan operasi I/O, ia mesti menunggu sehingga keseluruhan I/O selesai sebelum ia boleh mendapatkan respons I/O.
- I/O tak segerak: bermakna selepas aplikasi menjalankan operasi I/O, ia tidak perlu menunggu untuk selesai dan respons selepas selesai, tetapi boleh terus melaksanakan. Selepas I/O ini selesai, maklum balas akan dimaklumkan kepada permohonan dalam bentuk pemberitahuan acara.
Beberapa pengetahuan umum tentang fail
Masih terdapat banyak ruang yang tinggal pada cakera, dan ruang tidak mencukupi untuk fail dan direktori baharu.
- Idea penyelesaian masalah: Terdapat kebarangkalian tinggi bahawa terdapat terlalu banyak fail kecil dan inod telah digunakan. Anda boleh menggunakan df -i.
Statistik penggunaan cakera keras antara du dan df adalah tidak konsisten.
- du mengira saiz setiap fail yang direkodkan oleh sistem fail, dan kemudian mengumpul jumlah saiz, yang diperoleh melalui sistem fail. df terutamanya membaca maklumat penggunaan cakera keras daripada superblock (superblock) Apa yang df peroleh ialah penggunaan blok cakera. Keadaan ini berkemungkinan besar disebabkan oleh fail yang dipadamkan, tetapi proses lain sedang menggunakannya (memiliki pemegang), yang boleh didapati melalui lsof | grep deleted. Apabila proses berhenti atau dimatikan, ruang ini akan dilepaskan.
Apabila kami menanyakan kapasiti cakera, mengapa saiz Used+Avail sentiasa lebih kecil daripada jumlah kapasiti (SAIZ).
- Untuk mengelakkan kecemasan, sistem fail ext Linux akan menempah sebahagian daripada ruang cakera keras Nilai simpanan khusus boleh dilihat melalui tune2fs -l [dev_name] | , yang dikhaskan di sini Ruang akan dikira oleh df ke dalam ruang yang digunakan, menyebabkan statistik tidak konsisten antara df dan du. Jika anda perlu melaraskan saiz ruang yang dikhaskan, kami boleh menggunakan tune2fs -m [saiz] [dev_name] untuk membuat pelarasan.
Atas ialah kandungan terperinci Ingin mengetahui cara sistem fail Linux berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Windows 11 22H2 adalah sekitar sudut. Dow anda tahu bagaimana untuk memeriksa sama ada PC anda serasi dengan Windows 22H2? Dalam siaran ini, perisian Php.CN akan memberitahu anda bagaimana untuk melakukan ini menggunakan editor pendaftaran. Tidak kira anda sedang menjalankan Windows 10 atau Windows 11

Apa maksud Backup Encrypt pada Windows? Adakah mungkin untuk menyulitkan sandaran? Sekiranya anda menyulitkan sandaran? Bagaimana saya menyulitkan fail sandaran? Hari ini, php.cn akan memberi tumpuan kepada penyulitan sandaran dalam siaran ini, dan mari kita lihat melalui panduan ini untuk mencari apa yang anda n

Berapa umur anda untuk Snapchat? Secara rasmi, anda harus sekurang -kurangnya 13 untuk dapat menggunakan Snapchat dan dengan izin ibu bapa anda jika anda berada di bawah 18 tahun. Esei ini disokong oleh perisian Php.CN menerangkan lebih banyak maklumat untuk anda.

Nintendo Switch OLED adalah konsol permainan laris. Jika anda ingin membeli Nintendo Switch OLED, anda mungkin ingin mempelajari harga Nintendo Switch OLED, tarikh pelepasan, spesifikasi, dan permainan. Dalam siaran ini, php.cn akan memperkenalkan maklumat terperinci a

Ciri Tab Explorer File baru diperkenalkan dalam beberapa peranti dalam saluran beta dan dev. Walau bagaimanapun, ciri baru ini tidak tersebar luas. Sekiranya ia tidak tersedia pada peranti anda, anda boleh menggunakan kaedah yang diperkenalkan di pos php.cn ini ke e secara manual

Jika anda adalah Windows Insider di saluran Dev, kini anda boleh memuat turun dan memasang Windows 11 Build untuk digunakan. Binaan terbaru ini ialah Windows 11 Build 25131. Binaan ini tidak mempunyai ciri -ciri baru tetapi ia mengandungi beberapa pembetulan pepijat dan micr yang dikemas kini

Apakah Pengurus Muat turun Internet (IDM)? Bolehkah anda mendapatkan IDM secara percuma? Bagaimana cara memuat turun IDM dan memasangnya pada PC Windows 11/10/8/7 anda untuk memuat turun sesuatu? Ia mudah dan hanya mencari butiran dari panduan ini dari php.cn.

Bagaimana cara memeriksa versi perisian di PC/telefon? Laman web php.cn menawarkan panduan ini untuk membolehkan anda mengenali itu. Anda boleh mempelajari versi perisian dari semua aspek, seperti definisi, jenis, kaedah pemeriksaan pada peranti yang berbeza, dll.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Dreamweaver CS6
Alat pembangunan web visual

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.
