UNIX-подобные системы

UNIX-подобные системы включают системы традиционных производителей, такие, как Solaris и HP-UX, редакции на основе Linux, такие, как Red Hat, Debian, Suse и Slackware, и редакции на основе BSD, такие, как FreeBSD, NetBSD, OpenBSD и Darwin.

Они рабо­тают на компьютерах от портативных до суперкомпьютеров. Это предпочтительные операционные системы для большинства многопроцессорных, графических и векторных систем, широко использующиеся для первоначальной задачи разделения времени. Будучи наиболее обычной платформой для обеспечения сетевых служб Интернета (от FTP до WWW), они в целом являются наиболее переносимой операционной систе­мой, когда-либо разработанной. Частью эта переносимость обязана языку реализации систем, С [Kernighan & Ritchie, 1989] (который сам является широко переносимым языком), а частью обязана элегантному дизайну системы.

Начиная с отправной точки в 1969 г. [Ritchie & Thompson, 1978], система UNIX развилась в нескольких расходящихся и вновь сходящихся направлениях. Оригиналь­ные разработчики продолжали развивать современный технический уровень в девятой и десятой редакциях UNIX в рамках AT&T Bell Laboratories и их преемника UNIX Plan 9. Тем временем AT&T лицензировала UNIX System V в качестве продукта до продажи его Novell. Novell передала торговую марку UNIX X/OPEN и продала исходный код и права на распространение Santa Cruz Operation (SCO). Как на System V, так и на девя­тую редакцию UNIX сильно повлияло Berkley Software Distributions, созданное группой Computer System Research Group (CSRG) Калифорнийского университета в Беркли. Операционная система Linux, хотя она и разработана независимо от других вариантов UNIX, реализует интерфейс UNIX. Таким образом, приложения, разработанные для работы на других основанных на UNIX платформах, легко могут быть перенесены для работы на Linux.

Еще материалы

  • Процедуры вычисления приоритета потока -

    Вычисления приоритета, использованные в алгоритме кратковременного планирования, разбросаны в различных частях системы. Периодически запускаются две процедуры, schedcpuQ и roundrobinQ. SchedcpuQ пересчитывает приоритеты потоков раз в секунду, используя формулу 4.2, и обновляет значение kg_slptime для потоков, заблокированных вызовом sleepQ. Процедура roundrobinQ запускается 10 раз в секунду и заставляет систе­му перепланировать потоки в (непустой) очереди с самым высоким приоритетом в режиме карусели, что дает каждому потоку квант времени в 100 миллисекунд.

  • Управление процессами - общая информация -

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

  • Сетевая коммуникация -

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

  • Межпроцессное взаимодействие -

    Межпроцессное взаимодействие в FreeBSD организовано в коммуникационные доме­ны. Важнейшие домены, поддерживаемые в настоящее время, включают локальный домен для взаимодействия процессов, выполняющихся на одной машине; домен IPv4 для взаимодействия процессов с использованием набора протоколов TCP/IP (четвертой версии) и домен IPv6, который является новейшей версией протоколов Интернета.

  • Терминалы -

    Исторически пользователи взаимодействовали с системой, используя подключенные к компьютеру через жестко запаянные линии связи терминалы. Хотя фиксированные терминалы в значительной степени остались в истории, обработка символов, осуществляе­мая для ввода/вывода с клавиатуры, по-прежнему важна. Наиболее обычный вид сеанса пользователя в FreeBSD использует псевдотерминал. Псевдотерминал состоит из пары устройств, называемых ведущим (master) и ведомым (slave) устройствами.