BSD, Обзор, Ядро

Механизм взаимодействия сокетов

Ядро 4.2BSD ввело более гибкий по сравнению с каналами механизм IPC, основанный на сокетах. Сокет является конечной коммуникационной точкой, на которую ссылается дескриптор, подобно файлу или каналу. Два процесса могут создать каждый по сокету, а затем соединить эти две конечные точки с образованием надежного потока байтов. После соединения дескрипторы сокетов могут использоваться процессами для чтения или записи аналогично их использованию в каналах.

Сигналы FreeBSD

Система определяет набор сигналов, которые могут быть доставлены процессу. Сигналы в FreeBSD сделаны по образцу аппаратных прерываний. Процесс может указать подпро­грамму уровня пользователя в качестве обработчика, которому должен быть доставлен сигнал. Когда генерируется сигнал, его дальнейшее распространение блокируется до тех пор, пока он не будет перехвачен обработчиком. Перехват сигнала включает сохранение контекста текущего процесса и построение нового контекста, в котором будет запущен обработчик.

Службы ядра

Граница между кодом уровня ядра и пользователя осуществляется аппаратными сред­ствами защиты, предоставляемыми нижележащим оборудованием. Ядро работает в отдельном адресном пространстве, доступ к которому невозможен из процессов пользователя. Привилегированные операции, такие, как запуск ввода/вывода и оста­новка центрального процессора, доступны лишь ядру. Приложения запрашивают обслуживание ядром с помощью системных вызовов.

Организация ядра

Можно оценить организацию ядра FreeBSD двояко.

Ядро FreeBSD

Ядро является частью системы, работающей в защищенном режиме и обеспечи­вающей доступ всех пользовательских программ к нижележащему оборудованию (например, центральному процессору, клавиатуре, монитору, дискам, сетевым соеди­нениям) и программным конструкциям (например, файловой системе, сетевым прото­колам). Ядро предоставляет основные системные средства; оно создает и управляет процессами и предоставляет функции для доступа к файловой системе и средствам коммуникации.

RSS-материал