Автор работы: Пользователь скрыл имя, 05 Февраля 2013 в 17:15, реферат
Стандартизация. Несмотря на многообразие версий UNIX, основой всего семейства являются принципиально одинаковая архитектура и ряд стандартных интерфейсов (в UNIX стандартизовано почти всё — от расположения системных каталогов и файлов до интерфейса системных вызовов и списка драйверов базовых устройств). Опытный администратор без особого труда сможет обслуживать другую версию, тогда как для пользователей переход на другую систему и вовсе может оказаться незаметным. Для системных же программистов такого рода стандарты позволяют полностью сосредоточиться на программировании, не тратя время на изучение архитектуры и особенностей конкретной реализации системы.
1. Особенности архитектуры UNIX
2. Архитектура операционной системы UNIX
3. Ядро UNIX
4. Файловая система UNIX
5. Виртуальная файловая система
6. Дерево каталогов
7. Устройства и драйверы
Резюме
Литература
/boot
Каталог содержит всё необходимое для процесса загрузки операционной системы: программу-загрузчик, образ ядра операционной системы и т. п.
/dev
Каталог содержит специальные файлы устройств, при помощи которых осуществляется доступ к периферийным устройствам. Наличие такого каталога не означает, что специальные файлы устройств нельзя создавать в другом месте, просто достаточно удобно иметь один каталог для всех файлов такого типа.
/etc
В этом каталоге находятся системные конфигурационные файлы. В качестве примеров можно привести файлы /etc/fstab, содержащий список монтируемых файловых систем, и /etc/resolv.conf, который задаёт правила составления локальных DNS-запросов. Среди наиболее важных файлов — скрипты инициализации и останова системы. В системах, наследующих особенности UNIX System V, для них отведены каталоги с /etc/rc0.d по /etc/rc6.d и общий для всех файл описания — /etc/inittab.
/home (необязательно)
Каталог содержит домашние каталоги пользователей. Его наличие в корневом каталоге не обязательно, а содержимое зависит от особенностей конкретной UNIX-подобной операционной системы.
/lib
Каталог для статических и динамических библиотек, необходимых для запуска программ, находящихся в каталогах /bin и /sbin.
/media
Стандартный каталог для временного монтирования файловых систем — например, гибких и флэш-дисков, компакт-дисков и т. п.
/opt
Каталог для дополнительного программного обеспечения, устанавливаемого в системе. Обычно в этот каталог устанавливаются программы, не входящие в основной дистрибутив.
/root (необязательно)
Домашний каталог
/sbin
В этом каталоге находятся
команды и утилиты для
/usr
Этот каталог повторяет
структуру корневого каталога —
содержит каталоги /usr/bin, /usr/lib, /
Каталог /usr/include содержит заголовочные файлы языка C для всевозможных библиотек, расположенных в системе.
Каталог /usr/local — ещё один уровень, в котором можно полностью воспроизвести структуру данных, содержащуюся в корневом каталоге. Обычно этот каталог служит для размещения программ, установленных администратором в дополнение к стандартной поставке операционной системы.
Каталог /usr/share хранит неизменяющиеся данные для установленных программ. Особый интерес представляет каталог /usr/share/doc, в который добавляется документация ко всем установленным программам.
/var, /tmp
Используются для хранения временных данных системных (/var) и пользовательских (/tmp) процессов. Каталог /var обычно содержит часто изменяемые системные файлы, например в каталоге /var/log размещаются системные журналы.
7. Устройства и драйверы
Так как процессор взаимодействует с внешними устройствами через шины, то любое устройство, подключенное к системной шине (или к шине PCI, или USB), обладает определённым интерфейсом (заранее известными идентификаторами, номерами портов ввода и вывода и т. п.), через который производится обмен данными и сообщениями с устройством. Таким образом, в первую очередь операционная система должна иметь модули, осуществляющее управление шинами, прерываниями, DMA и т. п. Эти модули обычно загружаются при старте системы.
Сами внешние устройства по типу доступа к ним могут быть классифицированы несколькими способами:
Для работы с каждым из обозначенных
видов устройств нужна
В операционной системе UNIX большинство внешних устройств доступно пользовательским программам в виде специальных файлов. Эти файлы могут быть, соответственно, двух типов — символьные и блочные. Традиционно, все файлы устройств располагаются в каталоге /dev и имеют имена, соответствующие назначению устройства. Например, в операционной системе Linux устройства терминала обозначаются как /dev/tty0, /dev/tty2 и т. д. с увеличением порядкового номера, жёсткий диск — /dev/sda, а порт PS/2 —/dev/psaux. Названия однотипных устройств обычно отличаются целым числом. Программы могут открывать, читать и записывать данные в файлы устройств как в обычные файлы, при этом операционная система транслирует пользовательские запросы драйверу соответствующего устройства.
Рисунок 1.9. Взаимодействие с устройством через файл
Таким образом, файл устройства является одним из интерфейсов взаимодействия процессов с устройствами. Каждый файл устройства имеет два номера — старший и младший. По этим номерам операционная система определяет, какой драйвер должен использоваться при обращении к этому файлу.
В операционной системе UNIX большая
часть драйверов устройств
Помимо файлов, соответствующих
внешним устройствам, в UNIX есть несколько
стандартных файлов виртуальных
устройств. Эти файлы могут передавать
и принимать от пользовательских
процессов специальные данные, например,
из символьного устройства /dev/
/dev/console
устройство соответствует активной в данный момент терминальной линии (виртуальной консоли);
/dev/null
«чёрная дыра» — любая информация, записанная в этот файл, пропадает безвозвратно, обычно используется для поглощения ненужного вывода программ;
/dev/random и /dev/urandom
устройства, генерирующие соответственно случайные и псевдослучайные данные;
/dev/stdin, /dev/stdout и /
устройства, соответствующие
трём стандартным потокам ввода-
/dev/zero
устройство генерирует нули — из этого устройства можно прочитать сколько угодно нулевых байт.
Резюме
Основными принципами операционной системы UNIX являются многозадачность и стандартизация. Пользователю приходиться работать с двумя основными объектами операционной системы: файлами и процессами.
Операционную систему UNIX можно представить в виде трёх уровней: монолитное ядро, системные утилиты и демоны, пользовательские программы. Первые два работают на уровне привилегий системы, третий — на уровне пользователя.
Все файловые системы семейства UNIX обладают схожей структурой. Основным элементом файловой системы является индексный узел, каталог связывает файл с именем. Помимо файлов и каталогов существуют специальные виды файлов: устройства, каналы, символьные ссылки и сокеты.
Для объединения файловых систем нескольких устройств используются виртуальная файловая система и механизм монтирования. Стандарт на файловую систему описывает основные каталоги иерархической файловой системы UNIX.
Работа с внешними устройствами в UNIX производится через специальные модули ядра — драйверы устройств. Пользовательские программы обращаются к большинству устройств через специальные файлы, расположенные в файловой ситсеме.
Ключевые термины: файл, процес
Литература