СТРУКТУРА UNIX

Система UNIX имеет 4 основных компонента:

ядро - это программа, которая образует основу операционной системы; она координи­рует внутренние функции ОС (управление процессами, распределение памяти, доступ к файлам и устройствам.). Ядро работает невидимо для пользователя. Ядра UNIX-систем бывают монолитными и модульными. Во-первых - поддержка всех требуемых функций жестко встраивается в ядро. В модульных - (самый известный и реально работающий пример — операционная система QNХ) оно включает в себя только самые необходимые базовые функции управления, а поддержка всех внешних устройств осуществляется специальными программами, подгружаемыми по мере необходимости. Большинство ядер, которые принято относить к категории монолитных, в той или иной мере поддерживают концепцию подгружаемых модулей. Однако, например, ядро FreeBSD, в отличие от Linuх (где модульный подход применяется весьма широко), более монолитное. Некоторое количество загружаемых модулей имеется и здесь, однако поддержка подавляющего большинства важных для пользователя устройств, требует включения соответствующих опций непосредственно в ядро.

shell - это программа, которая осуществляет связь между пользователем и ядром, ин­терпретируя и выполняя команды пользователя. Это интегрированная рабочая среда пользователя, которая отличается по своим принципам от интегри­рованных сред графического режима, но не менее эффективная. Командная оболочка запускается различными способами: процессом 1оgin после авторизации пользователя в системе, непосредственно командой в командной строке, а также при исполнении команд и сценариев, каждый из которых порождает собственную копию Shell. В зависимости от этого любая оболочка может быть интерактивной (диалоговой), в которой возможен ввод команд пользователя, и неинтерактивной, непосредственно с пользователем не взаимодействующей, выход из которой происходит автоматически по завершении исполнения команды или сценария.

commands - это имена программ, которые компьютер должен выполнить. Пакеты про­грамм называются инструментальными средствами. Система UNIX обеспечивает инстру­ментальными средствами такие задания, как создание и изменение текста, написание про­грамм, развитие инструментария программного обеспечения, обмен информацией с другими посредством компьютера;

file system - файловая система - это структура файлов, возможных для ОС.

На Рис.56 изображена архитектура верхнего уровня системы UNIX. Технические сред­ства, показанные в центре диаграммы, выполняют функции, обеспечивающие функциони­рование операционной системы. Операционная система взаимодействует с аппаратурой непосредственно, обеспечивая обслуживание программ и их независимость от деталей аппаратной конфигурации. Если представить систему состоящей из пластов, в ней можно выделить системное ядро, изолированное от пользовательских программ. Поскольку про­граммы не зависят от аппаратуры, их легко переносить из одной системы UNIX в другую, функционирующую на другом комплексе технических средств, если только в этих про­граммах не подразумевается работа с конкретным оборудованием.

Программы, подобные командному процессору shell и редакторам (ed и vi) и показан­ные на внешнем, по отношению к ядру, слое, взаимодействуют с ядром при помощи хо­рошо определенного набора обращений к операционной системе. Обращения к операци­онной системе понуждают ядро к выполнению различных операций, которых требует вызывающая программа, и обеспечивают обмен данными между ядром и программой. Некоторые из программ, приведенных на рисунке, в стандартных конфигурациях системы известны как команды, однако на одном уровне с ними могут располагаться и доступные пользователю программы. Другие прикладные программы располагаются выше указан­ных программ, на верхнем уровне. Хотя на рисунке приведена двухуровневая иерархия прикладных программ, пользователь может расширить иерархическую структуру на столько уровней, сколько необходимо.

Рис. 56. Архитектура системы UNIX.