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