Bagaimana ukuran blok sistem file berfungsi?


11

Semua sistem file Linux memiliki ukuran blok 4kb. Katakanlah saya memiliki 10 MB penyimpanan hard disk. Itu berarti saya memiliki 2560 blok yang tersedia dan katakanlah saya menyalin 2560 file masing-masing memiliki ukuran 1kb. Setiap blok 1 kb akan menempati 1 blok meskipun tidak mengisi seluruh blok.

Jadi seluruh disk saya sekarang terisi tetapi saya masih memiliki ruang kosong 2560x3kb. Jika saya ingin menyimpan file lain katakanlah 1MB apakah sistem file mengizinkan saya untuk menyimpan? Apakah akan menulis di ruang kosong yang tersisa di blok individu? Apakah ada konsep yang mengatasi masalah ini?

Saya akan menghargai beberapa klarifikasi. Terima kasih sebelumnya


OK, 2560 file, masing-masing 1kb, itu 2560 * 0,001 mb = 2,56 mb. Setiap file 1kb harus menempati kira-kira 1/4 blok, karena 1000 * 4 = 4000, kan? Dan ukuran blok 4096, jadi Anda perlu 4 file untuk mengisi blok. File 1MB, maka, akan dikenakan biaya 1000000/4096 = 244 blok.
Sergiy Kolodyazhnyy

Jawaban:


3

Ukuran blok default adalah 512 byte sejak Linux pertama kali. Kecuali sampai saat ini ukuran blok 4k di mana diperkenalkan untuk memenuhi ukuran disk yang semakin meningkat. Ini sebenarnya bahkan hampir didikte oleh perangkat keras disk (lihat lebih lanjut: /unix/178899/optimizing-logical-sector-size-for-physical-sector-size-4096-hdd ).

Namun untuk pertanyaan spesifik Anda: Anda benar bahwa semua file membuang byte yang tidak terpakai dari blok terakhir pada banyak jenis sistem file, yang sangat boros untuk file kecil. Tetapi btfrs dan reiserfs tampaknya mampu mengatasinya, sesuai dengan https://en.m.wikipedia.org/wiki/Block_suballocation


1
  1. Sistem file dapat memiliki ukuran blok dari 512 hingga (biasanya) 65536 byte. Ukuran blok dapat ditentukan sebagai opsi mkfs.xxx. Blocksize default di sebagian besar sistem file Linux - 4096 byte.

  2. Beberapa filesystem mendukung pengemasan tailing dan / atau alokasi subblock. ext2 / 3/4 - tidak, xfs - tidak. Jika Anda berencana untuk mengisi partisi dengan beberapa file kecil, Anda dapat mengurangi ruang "ekor" yang terbuang dengan mengecilkan ukuran blok menjadi 512 atau 1024.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.