next up previous contents index
Дал╕: Жорстк╕ диски Вгору: Використання диск╕в та ╕нших Назад: Використання диск╕в та ╕нших

Два типи пристро╖в

Юн╕кс, а також ╕ Л╕накс, розр╕зняють два в╕дм╕нних м╕ж собою типи пристро╖в: блочн╕ пристро╖ з дов╕льним доступом42 (якими ╓ диски) та пристро╖ з посимвольним доступом43 (прикладами яких ╓ магн╕тн╕ стр╕чки та посл╕довн╕ л╕н╕╖ зв'язку), деяк╕ з яких можуть бути з посл╕довним доступом, а ╕нш╕ - з дов╕льним. Кожен пристр╕й, який п╕дтриму╓ться системою, представлений в файлов╕й систем╕ спец╕альним файлом пристрою. П╕д час читання чи запису в файл пристрою, дан╕ приходять чи в╕дправляються до пристрою представленого спец╕альним файлом. Таким чином не потр╕бн╕ жодн╕ спец╕альн╕ програми (або ж як╕сь спец╕альн╕ методоло╜╕╖ програмування, як, наприклад, перехват перепин╕в чи опитування посл╕довного порту) для того т╕льки, щоб звертатися до пристро╖в. Наприклад, для того, щоб просто в╕дправити файл на принтер, достатньо просто виконати

$ cat filename > /dev/lp1
$

╕ зм╕ст файлу буде роздрукований на принтер╕ (звичайно ж файл повинен бути в формат╕ зрозум╕лому для принтера). Однак, зважаючи на те, що важко назвати гарною звичкою пересилання файлу прямо на принтер кожним окремим користувачем, люди звично користуються спец╕альною програмою для цього (в б╕льшост╕ систем lpr ). Ця програма гаранту╓, що т╕льки один файл переда╓ться на принтер для друку в кожен момент часу ╕ автоматично переда╓ на друк наступний, як т╕льки впора╓ться з друкуванням попереднього. Щось под╕бне потр╕бно також для б╕льшост╕ ╕нших пристро╖в в систем╕. Справд╕, користувач╕ не повинн╕ турбуватися про як╕сь там "пристро╖" практично н╕коли.

Через те, що пристро╖ ╓ звичайними файлами в файлов╕й систем╕ (в директор╕╖ /dev , дуже легко просто подивитись як╕ з пристро╖в ╕снують за допомогою команди ls  чи будь-яко╖ ╕ншо╖ п╕дходящо╖ команди. Перший стовпчик на екран╕ при виконанн╕ команди ls -l  м╕стить тип файлу та дозволи на цей файл. Наприклад, дивлячись на спец╕альний файл посл╕довного порту на сво╖й систем╕ я бачу:

$ ls -l /dev/cua0
crw-rw-rw- 1 root uucp 5, 64 Nov 30 1993 /dev/cua0
$

Перша л╕тера в першому стовчику, тобто `c' в вищенаведеному приклад╕ в crw-rw-rw- показу╓ доск╕пливому користувачев╕ тип файлу, тобто, в цьому випадку, символьний спец╕альний файл. Для звичайних файл╕в цей символ буде ` -', для директор╕й - `d', а для блочних пристро╖в - `b'. Детальна ╕нформац╕я подана з цього питання в стор╕нц╕ п╕дказки для ls .

Завважте, що нав╕ть якщо пристро╖ не встановлен╕ на даному комп'ютер╕, файли спец╕альних пристро╖в ╕снують все-одно. Отже, те, що Ви ма╓те файл /dev/sda , ще не св╕дчить про те, що Ви справд╕ ма╓те SCSI диск п╕дключений до системи. Збер╕гання вс╕х цих пристро╖в в систем╕ просто робить програми установки трохи прост╕шими ╕ в╕д цього ста╓ легшою установка нового обладнання (не потр╕бно в╕дшуковувати в╕рн╕ параметри для апаратного пристрою та створювати спец╕альн╕ файли для нього).



Dmytro Kovalev
1999-06-10