Об’єднання в блоки та буферизація

Фізичний запис або блок – це одиниця інформації, яка реально читається з пристрою, або записується на нього.

Логічний запис – це сукупність даних, яка розглядається як одне ціле.

Якщо кожний фізичний запис вміщує тільки один логічний запис, то такий файл складається із не зблокованих записів.

Якщо кожний фізичний запис може вміщувати декілька логічних, то такий файл складається з записів, об’єднаних в блоки, або зблокованих записів.

У файлі з записами фіксованої довжини, всі записи мають однакову довжину, а розмір блоку звичайно є цілим кратним розміру запису.

У файлі з записами змінної довжини записи можуть мінятися за розміром до розміру блоку.

 

Формати записів

 

 

 

 

 

 

 

BL – довжина блоку; RL – довжина запису; Поля лічильників вміщають різноманітну керуючу інформацію: номер циліндра; номер головки; номер запису; довжина поля даних; контрольні байти.

Буферування – дозволяє виконувати обчислення одночасно з операціями вводу–виводу.

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

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

Розглянемо на прикладі виводу даних.

Існує два буфери.

- Спочатку записи, що формуються працюючим процесом, розміщуються в першому буфері, доки він не заповниться.

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

- Під час виконання цієї передачі процес продовжує формувати записи, які тепер розміщуються в другому буфері.

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

- Процес продовжує роботу та формує записи, які тепер знову розміщуються в перший буфер.

Таке перемикання з буферу на буфер дозволяє виконувати операції вводу–виводу паралельно з обчисленнями.