Сирий пристрій

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Сирий пристрій (англ. raw device) в Unix-подібних операційних системах — це механізм, який пов'язує блоковий пристрій (жорсткий диск, розділ диску), та реалізує доступ до нього як до символьного пристрою. В операційній системі створюється спеціальний файл виду /dev/raw/raw1, який дозволяє працювати з простором який доступний на пов'язаному з ним блоковому пристрої, і тому дозволяє оминути кешування операційної системи. Таке програмне забезпечення як системи керування базами даних може безпосередньо працювати з диском, розділом, не використовуючи файлову систему, і управляти кешуванням самостійно, а не віддавати це на операційну систему.

Розробники СКБД вважали що СКБД обере оптимальніші стратегії кешування, ніж це зробить операційна система, наприклад кешувати індекси, та витісняти з кешу сторінки з архівними таблицями, або як налаштують адміністратори баз даних, в той час, як об'єм оперативної пам'яті для кешування було обмежено.

В такому сенсі як це було описано вище, у FreeBSD усі файли пристроїв насправді є сирими пристроями. У FreeBSD 4.0 припинено підтримку пристроїв, які не є сирими, щоб спростити керування буфером і підвищити масштабованість і продуктивність.[1]

Після 2010-х, коли в Linux реалізували прапорець O_DIRECT для роботи с файлами, та розвиток цього механізму роботи в ext4, який дозволив уникати кешування операційною системою, потреба в сирих пристроях знизилась, а драйвер що реалізує сири пристрої — оголосили застарілим з версії 2.6.3, проте підтримка в ядрі залишилась.[2]

Див. також[ред. | ред. код]

RAW (файлова система)

Примітки[ред. | ред. код]

  1. FreeBSD Architecture Handbook: 9.4. Block Devices (Are Gone). Процитовано 29 червня 2017.
  2. https://lkml.org/lkml/2007/5/13/92 Remove its deprecated status as it has existing users who may not be in a position to migrate their apps to O_DIRECT.