Scroll to navigation

RAW(8) Керування системою RAW(8)

НАЗВА

raw — прив'язування простого символьного пристрою Linux

КОРОТКИЙ ОПИС

raw /dev/raw/raw<N> <основний> <вторинний>

raw /dev/raw/raw<N> /dev/<блоковий-пристрій>

raw -q /dev/raw/raw<N>

raw -qa

ОПИС

raw використовують для прив'язки простого символьного пристрою Linux до блокового пристрою. Можна скористатися будь-яким блоковим пристроєм: на момент прив'язки драйвер пристрою може бути навіть недоступним (його може бути завантажено на вимогу як модуль ядра пізніше).

raw використовують у двох режимах: програма або встановлює прив'язки простих пристроїв, або опитує систему щодо наявних прив'язок. При встановленні прив'язки простого пристрою /dev/raw/raw<N> є назвою наявного вузла простого пристрою у файловій системі. Блоковий пристрій, до якого його буде прив'язано, можна вказати або у термінах його основного і вторинного номерів пристрою, або у формі назви шляху /dev/<блоковий-пристрій> до наявного файла блокового пристрою.

Систему можна опитати щодо наявних прив'язок за допомогою параметра -q, який використовують або з назвою файла простого пристрою для опитування відповідного пристрою, або з параметром -a для опитування усіх пов'язаних простих пристроїв.

Скасувати прив'язку можна вказавши для основного і вторинного номерів значення 0.

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

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

ПАРАМЕТРИ

Встановити режим опитування. Використання raw призведе до опитування системи щодо наявних прив'язок, а не встановлення нової прив'язки.
З -q, вказати, що слід надіслати запит щодо усіх прив'язаних простих пристроїв.
Вивести текст довідки і завершити роботу.
Вивести дані щодо версії і завершити роботу.

ПРИМІТКИ

Замість використання простих пристроїв безпосередньо, програми мають надавати перевагу використанню open(2) для пристроїв, подібних до /dev/sda1, із прапорцем O_DIRECT.

ВАДИ

Програмою Linux dd(1) слід користуватися без параметра bs= або слід вказувати розмір блоку, який є кратним до розміру сектора на пристрої (зазвичай, 512 байтів), інакше програма завершить роботу з повідомленням «Некоректний аргумент» (EINVAL).

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

АВТОРИ

Stephen Tweedie (sct@redhat.com)

ДОСТУПНІСТЬ

Програма raw є частиною пакунка util-linux і доступна за адресою https://www.kernel.org/pub/linux/utils/util-linux/.

ПЕРЕКЛАД

Український переклад цієї сторінки посібника виконано Yuri Chornoivan <yurchor@ukr.net>

Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3. НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.

Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.

Серпень 1999 року util-linux