• У них есть ядро, написанное на языке программирования C, которое в основном управляет обработкой ввода / вывода, а не является полной операционной системой. Ядро несет полную ответственность за распределение системных ресурсов для завершения различных задач.
• У них есть иерархическая файловая система, которая начинается с корневого каталога и из которого монтируются ветви всех других каталогов (и файловых систем).
• Аппаратные устройства системы логически представлены в файловой системе как специальные файлы (такие как / dev / pty, для псевдотерминалов).
• Они основаны на процессах, причем все сервисы и пользовательские оболочки представлены один идентификационный номер (идентификатор процесса или PID).
• Они используют набор утилит командной строки, которые можно использовать для текстовых и числовых обработка различных видов, таких как troff, col, cat, head, tbl и так далее.
• Пользовательские процессы могут порождаться из оболочки, такой как оболочка Bourne, которая интерактивно выполняет прикладные программы.
• Несколько процессов могут выполняться одновременно одним пользователем и отправляться в фон с помощью оператора &.
• Несколько пользователей могут выполнять команды одновременно, войдя в систему с псевдотерминала.
Каждому физическому устройству в Solaris обязательно соответствует файл устройства.
Файл устройства – это указатель на область кода ядра, в которой находится драйвер устройства.
Файлы устройств располагаются в каталоге /dev и его подкаталогах. Однако на самом деле в Solaris все файлы в каталоге /dev являются символьными ссылками на "настоящие" файлы устройств, которые располагаются в подкаталогах каталога /devices.
-------------------------
Раздел – slice: группа расположенных рядом цилиндров. В Solaris на одном физическом жестком диске может быть до восьми разделов, которые принято нумеровать цифрами от 0 до 7. Каждому разделу соответствует свой файл устройства в каталоге /dev/dsk. Пространство под разделы выделяется цилиндрами. Раздел однозначно определяется номерами начального и конечного цилиндров.
В Solaris принята следующая концепция именования таких файлов устройств, в имени устройства учитываются:
номер контроллера,
SCSI ID (target number),
номер диска (LUN – logical unit number)
и номер раздела на диске.
Если это диск IDE, то роль SCSI ID играет пара master/slave (соответственно, 0/1). Для встроенных дисков SCSI и любых дисков IDE номер диска равен 0.
На платформе х86 файлы устройств, соответствующие разделам дисков IDE, именуются несколько иначе. Файлы, соответствующие разделам fdisk, обозначаются cNdMpK, где:
после с идет номер контроллера,
после d – номер диска,
а после p – номер раздела fdisk.
Соответствие между SCSI ID и позиции IDE-диска в подсистеме IDE
Номер диска в подсистеме IDE Позиция диска в подсистеме IDE
0 – primary master
1 – primary slave
2 – secondary master
3 – secondary slave
На каждом из разделов fdisk может быть создано несколько подразделов (slices), если этот раздел fdisk является разделом типа solaris.
Любой раздел fdisk имеет свой тип, который указывается в таблице Master Boot Record (MBR), где описаны все разделы fdisk диска.
По умолчанию при установке Solaris на IDE-диск на платформе x86 программа-установщик
Solaris создает два раздела fdisk – загрузочный (примерно 20 Мб) с программой-загрузчиком и раздел, на котором будут находиться все остальные части системы, а также пользовательские файлы. Первый раздел fdisk имеет тип FAT, а второй – тип Solaris. На втором разделе создаются подразделы (slices). Они именуются подобно таким же разделам на дисках систем SPARC, но без указания SCSI ID: c0d0s0, c0d0s1 и т.д.
Каждому файлу в каталоге /dev/dsk соответствует файл устройства прямого доступа (raw disk) в каталоге /dev/rdsk.
------------------------------------------
В Solaris все устройства имеют три имени разных типов: "логическое имя", "физическое имя" и "экземплярное имя".
Логические имена – это имена файлов устройств, которые хранятся в /dev.
Физические имена – это имена файлов устройств, хранящихся в /devices.
Экземплярные имена – это укороченные физические имена устройств, которые ядро назначает устройствам.