Операційні системи

3.4.1. Файли фізичних пристроїв

З погляду ОС Linux, усі пристрої, що підключаються до комп'ютера (жорсткі і знімні диски, термінал, принтер, модем і т.д.), представляються файлами.

Фізичні пристрої бувають двох типів: символьними (або байт-орієнтованими) і блоковими (або блок-орієнтованими). Взаємодія із символьними пристроями проводиться посимвольно, у режимі потоку байтів. До таких пристроїв відносяться, наприклад, термінали. На блок-орієнтованих пристроях інформація записується (і зчитується) блоками. Прикладом пристроїв цього типу є жорсткі диски. На диск неможливо записати або зчитати з нього один байт.

Взаємодією з фізичними пристроями в Linux управляють драйвери пристроїв, які або вбудовані в ядро, або підключаються як окремі модулі. Для взаємодії з іншими частинами операційної системи кожний драйвер утворює комунікаційний інтерфейс, який виглядає як файл. Більшість таких файлів для різних пристроїв як би "заготовлені заздалегідь" і розташовуються в каталозі /dev. У табл. 1 наведена невелика довідка по іменам найбільше часто використовуваних спеціальних файлів

Таблиця 1 - Основні спеціальні файли.

Ім'я Значення
/dev/hd Жорсткі диски з Ide-Інтерфейсом. Пристрій /dev/hda1 відповідає першому розділу на першому жорсткому диску (/dev/hda), тобто на диску, підключеному як Primary Master Жорсткі диски з SCSI-Інтерфейсом
/dev/sd Файли дисководів для гнучких дисків. Першому дисководу відповідає /dev/fd0, другому /dev/fd1
/dev/fd Файли підтримки користувацьких консолей. Назва збереглася з тих пор, коли до системи UNIX підключалися телетайпи як термінали. В Linux ці файли пристроїв забезпечують роботу віртуальних консолей (перемикатися між якими можна за допомогою + - +)
/dev/tty Файли підтримки псевдо-терміналів. Застосовуються для віддалених робочих сесій з використанням telnet
/dev/pty Файли, що забезпечують роботу з послідовними портами. /dev/ttys0 відповідає COM1 в MS-DOS, /dev/ttys1 - COM2.
dev/ttys Спеціальні пристрої для роботи з модемами
/dev/cua Цей пристрій — просто чорна діра
/dev/null Усе, що записується в /dev/null, назавжди загублене. На цей пристрій можна перенаправляти вивід непотрібних повідомлень. Якщо /dev/null використовується як пристрій уведення, то воно поводиться як файл нульової довжини

Кожному типу пристроїв у системі може відповідати кілька файлів пристроїв. Тому файли пристроїв характеризуються двома номерами: старшим і молодшим. Старший номер пристрою говорить ядру про те, до якого драйвера відноситься даний файл, а молодший номер показує, до якого саме пристрою даного типу слід звертатися.

Для файлів пристроїв команда ls -l замість розміру файлу видає старший і молодший номера даного пристрою.