![]() 26
block adalah B bytes. Untuk sebuah file
untuk fixed-length records dengan
ukuran R bytes, dimana B = R,
maka bfr =
?
B/R
?
baris tiap block, dimana
?
x
?
dibulatkan
ke bawah sehingga
x memiliki nilai integer. Nilai bfr
disebut
blocking
factor
untuk
file.
Pada
umumnya, R
tidak
membagi
B
dengan
tepat, jadi ada unused
space
(space
yang
tidak terpakai) dalam tiap
block, yaitu B (bfr * R) bytes.
Untuk
menggunakan unused
space,
bagian
dari
sebuah
baris
dapat
disimpan dalam satu
block
dan
sisanya
di
block
lain.
Sebuah
pointer
pada
akhir
block
pertama
menunjuk
ke
block
yang
berisi
lanjutan
baris,
dalam
kasus
block
yang ditunjuk bukan block
yang selanjutnya dalam
disk.
Cara
pengaturan ini
disebut
spanned,
karena
baris dapat terletak
lebih dari satu
block.
Ketika
sebuah
baris
lebih
besar
dari
satu
block,
maka
harus
digunakan
pengaturan spanned.
Jika
baris
tersebut
tidak
diizinkan
untuk
melewati
batasan
block,
maka
pengaturan ini
disebut
unspanned.
Ini
digunakan untuk
fixed-length
record
dengan
B>R
karena
hal
ini
akan
membuat
lokasi
tiap
baris
diketahui
dalam block
dan
menyederhanakan
proses
menyimpan. Untuk variable-length record, baik pengaturan spanned
maupun
unspanned
dapat
digunakan. Jika
baris
rata-rata
berukuran
besar,
akan
lebih
menguntungkan jika
menggunakan
spanned
untuk
mengurangi
hilangnya space dalam tiap block.
Gambar 2.4 Unspanned Block
|