Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Архитектура ОС UNIX

Рассматривая данные ОС, нельзя не затронуть их историю появления, к чему и приступлю.

ОС UNIX берёт начало с 1969 года: в одном из подразделений AT&T было начато создание новой операционной системы для PDP-7. Данное решение было принято компанией с коммерческой целью, но из-за запрета правительства США начальный код пришлось лицензировать для нескольких университетов. Так в 1973 году университет Беркли получил код в своё пользование и пять лет спустя они выпустили собственную систему, имевшая сетевые протоколы TCP/IP, которые были созданы там же, а уже они перешли и в собственную систему AT&T.

Первая же версия ядра Linux появилась лишь в 1991 году и была разработана финским студентом Линусом Торвальдсом и она имела свободную лицензию. Сделал он это вдохновившись книгой о создании оперативных систем от Эндрю Таненбаума. И изначально применялись утилиты MINIX, но вскоре их заменили утилиты GNU. Данные ОС имеют и общие черты, так как GNU изначально появилось в качестве дешёвой альтернативы Unix, однако между ними имеются и достаточно сильные отличия, о чём буду говорить далее.

Сперва стоило бы затронуть с наличия и характера поддержки данных систем компаниями-производителями. Разработчики UNIX-систем хоть и поставили высокий ценник на свои ОС, но редко не предоставляют техническую поддержку своего продукта. А вот с Linux всё иначе: может цена и в значительной степени не высока, по сравнению с UNIX, а порою и вовсе даётся бесплатно, минусом является почти полное отсутствие поддержки в частых случаях. Правда можно рассчитывать на помощь с различных форумов пользователей или ждать письма от создателей продукта с советом возможного устранения неполадки, что не всегда, всё-таки может помочь.

Так как создатели продаваемых дистрибутивов UNIX ориентируются на определённый круг клиентов и серверную платформу для своей системы, то они прекрасно понимают какую оптимизацию и поддержку нужно создать и оказать для приложений. В довесок производители делают всё возможное для обеспечения совместимости между разными версиями. С иной стороны, Linux не ориентирована на конкретные платформы и клиентов, не говоря о том, что сами разработчики данной системы имеют не одинаковые опыт работы с ней и взгляды. Поэтому в Linux не существует строгого набора инструментов или сред, а это приводит к существенным несогласованностям внутри Linux.

Некоторые дистрибутивы Linux поставляются со стандартным набором для управления системой. Открыты текстовые файлы и инструменты командной строки. Дополнительно в UNIX и Linux почти с каждой версией ОС меняется расположение сценариев инициализации, кроме нескольких стандартных каталогов. Управление программами на Linux становится трудной задачей из-за множества дистрибутивов и приложений. Дистрибутивы UNIX содержат обычные пакеты менеджеров, не учитывая существования разных их версий приложений под иные варианты системы UNIX, так как среда управления остаётся той же самой. Также создатели UNIX предоставляют и аппаратное обеспечение, что облегчает пользователю работу и позволяет внедрять какие-либо устройства, чего почти не может сделать Linux.

Немалая часть базовых приложений у двух систем одинакова. Достаточно много производителей ОС UNIX предлагают инструменты GNU, использующихся в Linux, как бесплатные дополнения, несмотря на то, что UNIX использует свои. Стоит упомянуть и то, что некоторые такие дополнения не имеют своих коммерческих аналогов. Однако схожая ситуация есть и в Linux: может не быть альтернативы коммерческого приложения, встроенного в UNIX, или изредка появляться его версия для данной системы. Linux страдает и от трудности сертификации больших приложений, что не свойственно для UNIX.

Огромная часть платных версий UNIX создана для одного или несколько большего числа архитектур аппаратного обеспечения, таким образом производители могут свободно улучшать свой код для разных архитектур и использовать её преимущества перед другими. Благодаря этому их драйвера работают лучше и им не нужно учитывать ограничения. Linux разрабатывался для максимальной совместимости, поэтому он доступен на множестве архитектур, а число устройств ввода или вывода, которая может использоваться вместе с ним, почти нескончаема. Однако создатели не могут знать точную характеристику оборудования, на котором будет работать клиент, в связи с этим часто не могут обеспечить его эффективную работу.

И главное: исходный код ядра Linux является свободным и конечный пользователь может самостоятельно установить его, проверить и модифицировать его для своих нужд. А вот с ядром UNIX ситуация иная, новые ядра выпускают только в виде исполняемого кода и если нужно будет обновление, то администратор будет вынужден ждать его.

Одной из причин становления Linux сильной ОС – это широкая совместимость с другими операционными системами. Явной чертой является изобилие файловых систем, которые являются свободными. Причём поддерживается большая часть современных файловых систем. Версии UNIX поддерживают два или три типа систем файлов, но поддерживаются и журналируемые системы файлов, использующихся в серверной среде. В Linux это было внедрено достаточно поздно. Другой особенностью является поддержка квот, список контроля доступа к данным, зеркальное копирование и изменение размеров. И большинство из этого не является стандартным для Linux. Так одни особенности могут работать на одной файловой системе, а другие на других соответственно, если не придётся устанавливать дополнительные инструменты или вовсе не окажутся недоступными. Связано это с тем, что совместимость интерфейсов программ и стандартных инструментов достигалось тяжело и по этой причине множество этих систем реализуют особенности разными способами.

А в заключение стоит сказать следующее. Не смотря на некоторые различия, они имеют и достаточно сходств. Все ветви, что UNIX, что Linux, продолжают развиваться и будут, возможно, по большей части незначительно отличаться друг от друга.