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 байтів.
ПАРАМЕТРИ¶
- -q, --query
- Встановити режим опитування. Використання raw призведе до опитування системи щодо наявних прив'язок, а не встановлення нової прив'язки.
- -a, --all
- З -q, вказати, що слід надіслати запит щодо усіх прив'язаних простих пристроїв.
- -h, --help
- Вивести текст довідки і завершити роботу.
- -V, --version
- Вивести дані щодо версії і завершити роботу.
ПРИМІТКИ¶
Замість використання простих пристроїв безпосередньо, програми мають надавати перевагу використанню 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 |