Узгодження розмірів логічної та фізичної записи

Логічної записом називають порцію даних, зазначену в операторі вводу / виводу. Розмір логічної запису визначається логікою роботи програми або, наприклад, логічною структурою бази даних.

При фактичному виконанні читання або запису на блоковий пристрій обробляється порція даних, звана фізичним записом або блоком. Розмір фізичного запису визначається особливостями пристрою (для диска це один сектор) і ніяк не пов'язаний з логікою програми.

На рис. 2-2 показана ситуація, коли логічна запис містить 100 байт, а фізична - 512 байт.

 

Рис. 1‑2

 

Припустимо, що логічні записи в послідовному порядку записуються у файл на диску. Якщо кожен оператор виводу логічного запису буде викликати негайний запис на диск, то видача перших п'яти логічних записів зажадає п'ять разів виконати послідовність операцій: «читання фізичного запису з диска - зміна 100 байт - запис зміненої запису на диск». На шостий раз вийде ще гірше, оскільки доведеться читати - змінювати - записувати не одну, а дві фізичних запису.

Використання буфера для накопичення даних до розміру фізичного запису дозволяє різко скоротити кількість операцій запису на диск і майже повністю виключити читання з диска.