словник | перекладачка | факти | тексти | програми
щодо | посилання | новини | гостьова книга | пошук
початок << тексти  << автор  << зміст  << сторінка

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
вгору
 
Без реклами
2004-03-23 13:50:34
TopList
© 2000-2003, Київ, Соломко Валентин -- ідея та наповнення, графічне опрацювання -- проєкт дизайн, змiнено -- 08.06.2003 14:25:49