Внешние устройства
ИД закрывает проблемы общения с внешними устройствами.
Имя файла связывается с внешним устройством через ИД. di_mode
- поле, в котором указывается тип внешнего устройства.
i_addr[0] поле, в котором расположена некоторая структура,
которая представляет собой два поля: d_major
и d_minor. Первое
определяет тип устройства, второе передается драйверу в качестве параметра. Доступ системы
непосредственно к драйверу осуществляется через две системные таблицы: cdevsw и bdevsw. В каталоге dev описываются всевозможные типы устройств.
ИД
|
В этих таблицах находится подпрограмма драйверов. Выбор таблицы осуществляется по значению битов поля i_mode. Таблица bdevsw - это таблица кодов драйверов блок ориентированных устройств. cdevsw это таблица кодов драйверов байт ориентированных устройств. Каждая таблица представляет из себя интерфейс драйверов. В клетках находятся адреса программ драйверов. Если некоторая операция запрещается (операция открытия, закрытия, чтения, записи и т.д.), то запись не содержится. В каждой строке таблицы записывается элемент, имеющий свой драйвер.
Пример. &nulldev &nulldev &mmread &mmwrite &nodev
В таблице каждая строка представляет собой интерфейс драйверов. В таблице информация выбирается за счет анализа второго поля.
ФС с точки зрения пользователя (логическая структура ФС)
Существует корневой каталог, а далее он рассыпается на несколько каталогов. В каталоге UNIX находится файл загрузки ядра. В каталоге BIN находятся исполняемые файлы, соответствующие командам пользователя. В первом каталоге запуск программы осуществляется набором имени файла.
Каталог ETC. В этом каталоге находятся стандартные файлы данных системы и команды, обеспечивающие некоторый уровень управления функционированием системы. Файл passwd. Все пользователи в системе зарегистрированы через этот файл. Это означает, что если пользователь может работать, то в файле passwd имеется строка, помеченная именем пользователя, которая содержит набор некоторых данных, разделенных символом разделителя. В частности, строка файла passwd содержит номер группы, к которой принадлежит пользователь, иногда может содержать закодированный пароль на вход пользователя в системе. Закодированный - означает то, что в системе используется взаимно неоднозначная возможность отображения последовательности символов в некоторый код, и в системе хранится отображение этого пароля. Современные UNIX-ы хранят пароли в отдельной защищенной базе данных (хотя файл passwd тоже присутствует), потому что файл passwd обычно открыт на чтение, алгоритм преобразования тоже обычно известен и есть возможность подобрать пароль.
предыдущаяследующая