Система состоит из ядра, демонов и утилит. В системе принят ряд соглашений, которые соблюдаются всеми разработчиками программ под UNIX, в частности, поддержка POSIX.
Ядро - это набор системных таблиц и подпрограмм работы с ними. В ядро также входят драйверы устройств - небольшие программы, обеспечивающие системе интерфейс для общения с аппаратурой компьютера - дисками, видеоподсистемой, сетевыми интерфейсами и т.п. Ядро состоит из статической части, которая загружается при старте системы, и модулей. Модули могут динамически загружаться при старте системы или во время работы, при необходимости поддержки той или иной функции. В частности, подсистема поддержки NFS и драйверы внешних устройств оформлены в виде модулей.
Основная часть ядра Solaris состоит из двух файлов - genunix и unix. Это - статическая часть кода ядра. Независимый от платформы файл genunix содержит общие для всех ядер Solaris компоненты, а unix - это зависимый от платформы файл. Специфичный для платформы файл, который используется программой ufsboot для загрузки системы в 32-разрядном режиме, называется /platform/`uname -m`/kernel/unix. Конструкция "обратные апострофы" (` `) обозначает, что часть названия (а именно, название аппаратной платформы) можно узнать по команде uname -m1).
В файле конфигурации ядра /etc/system можно установить значение переменной moddir, которая содержит список каталогов, разделенных двоеточием. Минимальное значение по умолчанию
/platform/platform-name/kernel:/kernel:/usr/kernel
но это значение может быть различным для различных платформ. Наиболее частым значением для большинства платформ является
/platform/platform-name/kernel:/platform/hardware-classname/ kernel:/kernel:/usr/kernel
Конкретное значение platform-name сообщает команда
uname -i
значение hardware-class-name сообщает
uname -m
Файл конфигурации ядра в Solaris - /etc/system, для получения детальной информации об этом файле следует ознакомиться со страницей руководства system(4), это можно сделать командой