Операционной системе unix компании at t. Чем Linux отличается от UNIX, и что такое UNIX-подобная ОС

), третье (GNU/Linux) и многие последующие места.

UNIX-системы имеют большую историческую важность, поскольку благодаря им распространились некоторые популярные сегодня концепции и подходы в области ОС и программного обеспечения . Также, в ходе разработки Unix-систем был создан язык Си .

Среди примеров известных UNIX-подобных операционных систем: BSD , Solaris , Linux , Android , MeeGo , NeXTSTEP , Mac OS X , Apple iOS .

История

Предшественники

Первые версии UNIX были написаны на ассемблере и не имели встроенного компилятора с языком высокого уровня . Примерно в 1969 году Кен Томпсон при содействии Денниса Ритчи разработал и реализовал язык Би (B), представлявший собой упрощённый (для реализации на миникомпьютерах) вариант разработанного в языка BCPL . Би, как и BCPL, был интерпретируемым языком. В 1972 году была выпущена вторая редакция UNIX, переписанная на языке Би. В 1969-1973 годах на основе Би был разработан компилируемый язык, получивший название Си (C).

Раскол

Важной причиной раскола UNIX стала реализация в 1980 году стека протоколов TCP/IP . До этого межмашинное взаимодействие в UNIX пребывало в зачаточном состоянии - наиболее существенным способом связи был UUCP (средство копирования файлов из одной UNIX-системы в другую, изначально работавшее по телефонным сетям с помощью модемов).

Было предложено два интерфейса программирования сетевых приложений: Berkley sockets (сокет Беркли) и интерфейс транспортного уровня TLI (англ. Transport Layer Interface ).

Интерфейс Berkley sockets был разработан в университете Беркли и использовал стек протоколов TCP/IP , разработанный там же. TLI был создан AT&T в соответствии с определением транспортного уровня модели OSI и впервые появился в системе System V версии 3. Хотя эта версия содержала TLI и потоки, первоначально в ней не было реализации TCP/IP или других сетевых протоколов, но подобные реализации предоставлялись сторонними фирмами.

Реализация TCP/IP официально и окончательно была включена в базовую поставку System V версии 4. Это, как и другие соображения (по большей части, рыночные), вызвало окончательное размежевание между двумя ветвями UNIX - BSD (университета Беркли) и System V (коммерческая версия от AT&T). Впоследствии, многие компании, лицензировав System V у AT&T, разработали собственные коммерческие разновидности UNIX, такие как AIX , CLIX, HP-UX , IRIX , Solaris .

Современные реализации UNIX, как правило, не являются системами V или BSD в чистом виде. Они реализуют возможности как System V, так и BSD.

Свободные UNIX-подобные операционные системы

В настоящий момент GNU/Linux и представители семейства BSD быстро отвоёвывают рынок у коммерческих UNIX-систем и одновременно проникают как на настольные компьютеры конечных пользователей, так и на мобильные и встраиваемые системы.

Проприетарные системы

Влияние UNIX на эволюцию операционных систем

Идеи, заложенные в основу UNIX, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время UNIX-системы признаны одними из самых исторически важных ОС.

Широко используемый в системном программировании язык Си , созданный изначально для разработки UNIX, превзошёл UNIX по популярности. Язык Си был первым «веротерпимым» языком, который не пытался навязать программисту тот или иной стиль программирования. Си был первым высокоуровневым языком, предоставляющим доступ ко всем возможностям процессора , таким как ссылки , таблицы , битовые сдвиги , инкременты и т. п. С другой стороны, свобода языка Си приводила к ошибкам переполнения буфера в таких функциях стандартной библиотеки Си, как gets и scanf. Результатом стали многие печально известные уязвимости, например, та, что эксплуатировалась в знаменитом черве Морриса .

Первые разработчики UNIX способствовали внедрению принципов модульного программирования и повторного использования в инженерную практику.

UNIX предоставлял возможность использования протоколов TCP/IP на сравнительно недорогих компьютерах, что привело к быстрому росту Интернета . Это, в свою очередь, способствовало быстрому обнаружению нескольких крупных уязвимостей в системе безопасности, архитектуре и системных утилитах UNIX.

Со временем ведущие разработчики UNIX разработали культурные нормы разработки программного обеспечения, которые стали столь же важны, как и сам UNIX. ( )

Социальная роль в сообществе ИТ-профессионалов и историческая роль

Первоначальные UNIX работали на крупных многопользовательских компьютерах, к которым также предлагались и проприетарные ОС от производителя оборудования, такие как RSX-11 и ее потомок VMS . Невзирая на то, что по ряду мнений тогдашний UNIX имел недостатки по сравнению с данными ОС (например, отсутствие серьёзных движков баз данных), он был а) дешевле, а иногда и бесплатен для академических учреждений б) был портируем с оборудования на оборудование, и разработан на портируемом языке Си, что «отвязывало» разработку программ от конкретной аппаратуры. Кроме того, «отвязанным» от аппаратуры и производителя оказался и опыт пользователя - человек, работавший с UNIX на VAX, легко работал с ней же и на 68xxx, и так далее.

Производители аппаратуры в то время часто прохладно относились к UNIX, считая ее игрушечной, и предлагая свою проприетарную ОС для серьёзной работы - в первую очередь СУБД и основанных на них бизнес-приложений в коммерческих структурах. Известны комментарии по этому поводу от DEC по поводу ее VMS . К этому прислушивались корпорации, но не академическая среда, которая имела все для себя необходимое в UNIX, зачастую не требовала официальной поддержки от производителя, справляясь своими силами, и ценила дешевизну и переносимость UNIX.

Таким образом, UNIX была едва ли не первой переносимой на разную аппаратуру ОС.

Вторым резким взлетом UNIX было появление RISC -процессоров около 1989 года. Еще до того существовали т. н. workstations - персональные однопользовательские компьютеры большой мощности, имеющие достаточный объем памяти, жесткого диска и достаточно развитую ОС (многозадачность, защита памяти) для работы с серьёзными приложениями, такими, как CADы. Среди производителей таких машин выделялась компания Sun Microsystems , сделавшая себе на них имя.

До появления RISC-процессоров в этих станциях обычно использовался процессор Motorola 68xxx, тот же, что и в компьютерах фирмы Apple (хотя и под более развитой операционной системой, чем у Apple).

Около 1989 года на рынке появились коммерческие реализации процессоров RISC -архитектуры. Логичным решением ряда компаний (Sun и других) был перенос UNIX на эти архитектуры, что немедленно повлекло за собой и перенос всей экосистемы ПО для UNIX.

Проприетарные серьёзные ОС, такие как VMS , начали свой закат именно с этого момента (даже если и удалось перенести на RISC саму ОС, все было намного сложнее с приложениями под нее, которые в этих экосистемах зачастую разрабатывались на ассемблере или же на проприетарных языках типа BLISS), и UNIX стал ОС для самых мощных компьютеров в мире.

Однако в это время экосистема PC начала переходить на GUI в лице Windows 3.0. Огромные преимущества GUI, а также, например, унифицированная поддержка всех типов принтеров, были оценены и разработчиками, и пользователями. Это сильно подорвало позиции UNIX на рынке - реализации такие, как SCO и Interactive UNIX, не справлялись с поддержкой Windows-приложений. Что же касается GUI для UNIX, называемого X11 (были и иные реализации, много менее популярные), то он не мог полноценно работать на обычной пользовательской PC ввиду требований к памяти - для нормальной работы X11 требовалось 16 МБ, в то время как Windows 3.1 с достаточной производительностью исполняла и Word, и Excel одновременно в 8 МБ (это стало стандартным размером памяти PC в то время). При высоких ценах на память это было лимитирующим фактором.

Успех Windows дал импульс внутреннему проекту Microsoft под названием Windows NT, которая была совместима с Windows по API, но при этом имела все те же архитектурные особенности серьёзной ОС, что и UNIX - многозадачность, полноценную защиту памяти, поддержку многопроцессорных машин, права доступа к файлам и директориям, системный журнал. Также Windows NT представила журнальную файловую систему NTFS, которая по возможностям на тот момент превышала все стандартно поставляемые с UNIX файловые системы - аналоги под UNIX были только отдельными коммерческими продуктами от Veritas и других.

Хотя Windows NT и не была популярна первоначально из-за высоких требований к памяти (те же 16 МБ), она позволила Microsoft выйти на рынок решений для серверов, например, СУБД. Многие в то время не верили в возможность Microsoft, традиционно специализирующейся на настольном ПО, быть игроком на рынке ПО масштаба предприятия, где уже были свои громкие имена, такие как Oracle и Sun. К этому сомнению добавлялся тот факт, что СУБД Microsoft - SQL Server - начинался как упрощенная версия Sybase SQL Server, лицензированная у Sybase и на 99 % совместимая по всем аспектам работы с ним.

Во второй половине 1990-х годов Microsoft начал теснить UNIX и на рынке корпоративных серверов.

Совокупность вышеперечисленных факторов, а также огромное падение цены на 3D-видеопроцессоры, ставшими из профессионального оборудования домашним, по сути убила само понятие workstation к началу 2000-ных годов.

Кроме того, системы Microsoft проще в управлении, особенно в типовых сценариях использования.

Но в данный момент начался третий резкий взлет UNIX.

Кроме того, Столлман и его товарищи, прекрасно понимая, что для успеха не завязанного на корпорации программного обеспечения необходимы не проприетарные средства разработки, разработал набор компиляторов для различных языков программирования (gcc), что вместе с разработанными ранее утилитами GNU (замена стандартных утилит UNIX) составило необходимый и достаточно мощный пакет программ для разработчика.

Для создания полностью свободного UNIX не хватало по сути только ядра ОС. И оно было разработано финским студентом Линусом Торвалдсом. Ядро было разработано «с нуля» и не является с точки зрения исходного кода деривативом ни BSD, ни System V (хотя концепты таки заимствовались, например, Linux имел функции namei и bread), однако по ряду нюансов (системные вызовы, богатая /proc, отсутствие sysctk) - больше тяготеет к последней.

  • POSIX 1003.2-1992, определяющий поведение утилит, в том числе командного интерпретатора;
  • POSIX 1003.1b-1993, дополняющий POSIX 1003.1-1988, - определяет поддержку систем реального времени;
  • POSIX 1003.1c-1995, дополняющий POSIX 1003.1-1988, - определяет нити (threads), известные также как pthreads.

Все стандарты POSIX объединены в документе IEEE 1003.

В целях совместимости несколько создателей UNIX-систем предложили использовать ELF - формат систем SVR4 для двоичных и объектных файлов . Единый формат полностью обеспечивает соответствие двоичных файлов в рамках одной компьютерной архитектуры.

Структура каталогов некоторых систем, в частности, GNU/Linux , определена в стандарте Filesystem Hierarchy Standard . Однако, во многих отношениях этот тип стандарта является спорным, и он, даже внутри сообщества GNU/Linux, далеко не универсален.

Стандартные команды ОС UNIX

  • Создание и навигация по файлам и каталогам: touch , , , , , , pwd , , mkdir , rmdir , find , ;
  • Просмотр и редактирование файлов: more , less , , ex, , emacs ;
  • Обработка текста: echo , cat , grep , sort , uniq , sed , awk , tee , head , tail , cut , , split , printf ;
  • Сравнение файлов: comm , cmp , diff , patch ;
  • Разнообразные утилиты командного интерпретатора: yes , test , xargs , expr ;
  • Системное администрирование: chmod , chown , , , , who , , mount , umount ;
  • Коммуникации: mail , telnet, ftp , finger, rsh, ssh;
  • Командные оболочки : , bash , csh , ksh , tcsh , zsh ;
  • Работа с исходным кодом и объектным кодом: cc, gcc , ld, , yacc , bison , lex , flex , ar, ranlib, make ;
  • Сжатие и архивация: compress, uncompress, gzip , gunzip , tar
  • Работа с двоичными файлами: , strings

Ниже приведён список 60 команд из раздела 1 первой версии UNIX:

  • b, bas , bcd, boot
  • cat , chdir , check, chmod , chown , cmp ,
  • date , db, dbppt, , , dsw, dtf,
  • mail , mesg , mkdir , mkfs, mount ,
  • rew, rkd, rkf, rkl, , rmdir , roff

Примечания

См. также

Если вы недавно начали изучать Linux и осваиваться в этой огромной вселенной, то наверное, часто встречали термин Unix. Звучит очень похоже на Linux, но что же оно значит? Наверное, вам интересно чем отличается unix от linux. Ответ на этот вопрос зависит от того что вы понимаете под этими словами. Ведь каждое из них может интерпретироваться по-разному. В этой статье мы рассмотрим упрощенную историю Linux и Unix чтобы помочь вам понять что это и как они между собой связаны. Как всегда вы можете задавать вопросы или добавить дополнительную информацию в комментариях.

Свою историю Unix начал в конце 1960-х и в начале 1970-х в научно-исследовательских вычислительных лабораториях AT&T Bell Labs в Соединенных штатах. Вместе с MIT и General Electric исследовательская лаборатория Bell Labs начала разработку новой операционной системы. Некоторые исследователи были недовольны ходом разработки этой операционной системы. Они отошли от работы над основным проектом и начали разрабатывать собственную ОС. В 1970 году эта система получила название Unix, а два года спустя она была полностью переписана на языке программирования Си.

Это позволило распространять и портировать Unix на различные устройства и вычислительные платформы.

Так как Unix продолжал развиваться, AT&T начал продавать лицензии на использование ее в университетах, а также в коммерческих целях. Это означало что не все могли, как сейчас, свободно изменять и распространять код операционной системы Unix. Вскоре начало появляться много редакций и вариантов операционной системы Unix, предназначенной для решения различных задач. Самой известной из них была BSD.

Linux похож на Unix по функциональности и возможностям, но не кодовой базой. Эта операционная система была собрана из двух проектов. Первый - проект GNU, разработанный Ричардом Столлманом в 1983, второй - ядро Linux, написанное Линусом Торвальдсом в 1991.

Целью проекта GNU было создать систему похожую на Unix, но не зависящую от него. Иными словами, операционную систему, не содержащую код Unix, которая могла бы свободно распространяться и модифицироваться без ограничений, как свободное программное обеспечение. Так как свободное ядро Linux не могло работать само по себе, проект GNU объединился с ядром Linux, и так родилась операционная система Linux.

Конструировался Linux под влиянием системы Minix, потомка Unix, но весь код был написан с нуля. В отличие от Unix, который использовался на серверах и больших мэйнфреймах различных предприятий, Linux был рассчитан для использования на домашнем компьютере с более простым аппаратным обеспечением.

На сегодняшний день Linux работает на огромном количестве платформ, большем чем любая другая ОС, это сервера, встраиваемые системы, микрокомпьютеры, модемы и даже мобильные телефоны. Теперь будет более подробно рассмотрена разница linux и unix.

Что такое Unix

Термин Unix может относиться к таким понятиям:

  • Оригинальная операционная система, разработанная в AT&T Bell Labs, на основе которой развиваются другие ОС.
  • Товарный знак, написано заглавными буквами. UNIX принадлежит The Open Group, которая разработала набор стандартов для операционных систем - Single UNIX Specification. Только те системы, которые соответствуют стандартам могут законно называться UNIX. Сертификация не бесплатная и требует от разработчиков платить за использование этого товарного знака.
  • Все операционные системы зарегистрированы с именем Unix. Потому что они соответствуют вышеупомянутым стандартам. Это AIX, A/UX, HP-UX, Inspur K-UX, Reliant UNIX, Solaris, IRIX, Tru64, UnixWare, z/OS и OS X - да, даже те что работают на компьютерах Apple.

Что такое Linux

Термин Linux относится только к ядру. Операционная система не будет полной без настольной среды и приложений. Поскольку большинство приложений были разработаны и сейчас разрабатываются в рамках проекта GNU, полное название операционной системы - GNU / Linux.

Сейчас множество людей используют термин Linux для обозначения всех, основанных на ядре Linux, дистрибутивов. На данный момент самая новая версия ядра Linux - 4.4, версия 4.5 находится на стадии разработки. Смена нумерации релизов ядра с 3.х на 4.х состоялась не так уж давно.

Linux - это Unix подобная операционная система, которая ведет себя как Unix, но не содержит его код. Unix подобные ОС часто называют Un*x, *NIX и *N?X, или даже Юниксоидами. У Linux нет сертификации Unix, а GNU расшифровывается как GNU not Unix, так что в этом отношении Mac OS X больше Unix чем Linux. Но тем не менее ядро Linux и ОС GNU Linux очень похожи на Unix по функциональности, реализуют большинство принципов философии Unix. Это удобочитаемый код, хранение конфигурации системы в отдельных текстовых файлах, а также использование небольших инструментов командной строки, графическая оболочка и менеджер сеансов.

Важно заметить что далеко не все Unix подобные системы получили сертификацию UNIX. В определенном контексте все операционные системы, основанные на UNIX или на его идеях, называются UNIX подобными, независимо от того есть ли у них сертификат UNIX или нет. Кроме того, они могут быть коммерческими и бесплатными.

Надеюсь, теперь стало более понятно, чем отличается unix от linux. Но пойдем еще дальше и подведем итоги.

Основные отличия

  • Linux - свободная операционная система с открытым исходным кодом, а оригинальная Unix - нет, кроме некоторых ее производных.
  • Linux - это клон оригинального Unix, но он не содержит его код.
  • Главное отличие unix от linux, в том что Linux - это только ядро, в то время как Unix была и есть полноценной операционной системой.
  • Linux был разработан для персональных компьютеров. А Unix ориентирован в первую очередь на крупные рабочие станции и сервера.
  • Сегодня Linux поддерживает больше платформ чем Unix.
  • Linux поддерживает больше типов файловых систем чем Unix.

Как видите, путаница обычно возникает из-за того, что linux vs unix могут означать совершенно разные вещи. Какое бы значение ни имелось в виду, факт остается фактом - Unix был первым, а Linux появился позже. Linux родился из стремления к свободе программного обеспечения и мобильности, вдохновленный подходом Unix. Можно смело сказать что мы все в долгу перед движением свободного программного обеспечения, потому что мир был бы намного хуже без него.

Эта система прошла испытание временем и выжила.

Применительно к этой системе была разработана система стандартов:

POSIX 1003.1-1988, 1990 - описаны системные вызовы ОС UNIX (точки входа в систему)

(Application Programming Interface - API)

POSIX 1003.2-1992 - определяет командный интерпретатор и набор утилит ОС UNIX

POSIX 1003.1b-1993 - дополнения, относящиеся к приложениям реального времени

X/OPEN - группа, координирующая разработку стандартов под ОС UNIX

Отличительные черты ос unix

    Система написана на языке высокого уровня (Си), что делает её доступной к пониманию, изменению и переносу на другие аппаратные платформы. UNIX является одной из наиболее открытых систем.

    UNIX - многозадачная, многопользовательская система с широким спектром услуг. Один сервер может обслуживать запросы большого количества пользователей. При этом необходимо администрирование только одной пользовательской системы.

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

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

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

    Достаточно большое количество приложений, в том числе свободно распространяемых.

Основы архитектуры операционной системы unix Модель системы unix.

Структура ядра ос unix.

UNIX представляет собой двухуровневую модель системы: ядро и приложения.

Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы от аппаратных особенностей вычислительной системы.

Ядро имеет набор услуг, предоставляемых прикладным программам. К ним относятся операции ввода/вывода, порождение и управление процессами, взаимодействие между процессами, сигналами и т.п.

Все приложения запрашивают услуги ядра посредством системы вызовов.

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

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

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

Ядро состоит из основных трех подсистем:

1) файловая подсистема;

2) подсистема ввода-вывода;

3) подсистема управления процессами и памятью.

Файловая подсистема обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях, и к периферийным устройствам. Одни и те же функции записи/чтения могут использоваться при работе с файлами на дисках и при вводе-выводе данных на терминал, принтер и другие внешние устройства.

Файловая подсистема контролирует права доступа к файлу, выполняет операции размещения и удаления файлов, запись и чтение данных.

Так как большинство прикладных функций использует в своей работе интерфейс файловой системы, права доступа к файлу во многом определяют привилегии доступа пользователя к системе. Таким образом, формируются привилегии отдельных пользователей.

С каждым файлом связаны 3 категории пользователей:

Владелец;

Группа-владелец;

Остальные пользователи.

Файловая подсистема обеспечивает перенаправление запросов, адресованных периферийным устройствам, соответствующим модулям подсистем ввода/вывода.

Подсистема ввода/вывода обрабатывает запросы файловой подсистемы и подсистемы управления процессами для доступа к периферийным устройствам, обеспечивает необходимую буферизацию данных и взаимодействие с драйверами устройств.

Драйверы – это специальные модули ядра, непосредственно обслуживающие внешние устройства.

Подсистема управления процессами и памятью контролирует создание и удаление процессов, распределение системных ресурсов, памяти и процессора между процессами, синхронизацию процессов, межпроцессорное взаимодействие.

Распределяет системные ресурсы специальная задача ядра, называемая планировщиком процессов. Планировщик запускает системные процессы и следит за тем, чтобы процесс не захватил разделяемые системные ресурсы.

Модуль управления памятью обеспечивает размещение оперативной памяти для прикладных задач, в том числе и виртуальной. Это значит, что он предоставляет возможность размещать часть процесса во вторичной памяти (т.е. на жестком диске) и перемещать её в оперативную память по мере необходимости.

Процесс освобождает процессор перед длительной операцией ввода/вывода или по прекращению кванта времени. В этом случае планировщик выбирает следующий процесс с наивысшим приоритетом и запускает его на выполнение.

Модуль межпроцессорного взаимодействия отвечает за уведомление процессов о событиях с помощью сигналов и обеспечивает возможность передачи данных между различными процессами.

), третье (GNU/Linux) и многие последующие места.

UNIX-системы имеют большую историческую важность, поскольку благодаря им распространились некоторые популярные сегодня концепции и подходы в области ОС и программного обеспечения . Также, в ходе разработки Unix-систем был создан язык Си .

Среди примеров известных UNIX-подобных операционных систем: BSD , Solaris , Linux , Android , MeeGo , NeXTSTEP , Mac OS X , Apple iOS .

История

Предшественники

Первые версии UNIX были написаны на ассемблере и не имели встроенного компилятора с языком высокого уровня . Примерно в 1969 году Кен Томпсон при содействии Денниса Ритчи разработал и реализовал язык Би (B), представлявший собой упрощённый (для реализации на миникомпьютерах) вариант разработанного в языка BCPL . Би, как и BCPL, был интерпретируемым языком. В 1972 году была выпущена вторая редакция UNIX, переписанная на языке Би. В 1969-1973 годах на основе Би был разработан компилируемый язык, получивший название Си (C).

Раскол

Важной причиной раскола UNIX стала реализация в 1980 году стека протоколов TCP/IP . До этого межмашинное взаимодействие в UNIX пребывало в зачаточном состоянии - наиболее существенным способом связи был UUCP (средство копирования файлов из одной UNIX-системы в другую, изначально работавшее по телефонным сетям с помощью модемов).

Было предложено два интерфейса программирования сетевых приложений: Berkley sockets (сокет Беркли) и интерфейс транспортного уровня TLI (англ. Transport Layer Interface ).

Интерфейс Berkley sockets был разработан в университете Беркли и использовал стек протоколов TCP/IP , разработанный там же. TLI был создан AT&T в соответствии с определением транспортного уровня модели OSI и впервые появился в системе System V версии 3. Хотя эта версия содержала TLI и потоки, первоначально в ней не было реализации TCP/IP или других сетевых протоколов, но подобные реализации предоставлялись сторонними фирмами.

Реализация TCP/IP официально и окончательно была включена в базовую поставку System V версии 4. Это, как и другие соображения (по большей части, рыночные), вызвало окончательное размежевание между двумя ветвями UNIX - BSD (университета Беркли) и System V (коммерческая версия от AT&T). Впоследствии, многие компании, лицензировав System V у AT&T, разработали собственные коммерческие разновидности UNIX, такие как AIX , CLIX, HP-UX , IRIX , Solaris .

Современные реализации UNIX, как правило, не являются системами V или BSD в чистом виде. Они реализуют возможности как System V, так и BSD.

Свободные UNIX-подобные операционные системы

В настоящий момент GNU/Linux и представители семейства BSD быстро отвоёвывают рынок у коммерческих UNIX-систем и одновременно проникают как на настольные компьютеры конечных пользователей, так и на мобильные и встраиваемые системы.

Проприетарные системы

Влияние UNIX на эволюцию операционных систем

Идеи, заложенные в основу UNIX, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время UNIX-системы признаны одними из самых исторически важных ОС.

Широко используемый в системном программировании язык Си , созданный изначально для разработки UNIX, превзошёл UNIX по популярности. Язык Си был первым «веротерпимым» языком, который не пытался навязать программисту тот или иной стиль программирования. Си был первым высокоуровневым языком, предоставляющим доступ ко всем возможностям процессора , таким как ссылки , таблицы , битовые сдвиги , инкременты и т. п. С другой стороны, свобода языка Си приводила к ошибкам переполнения буфера в таких функциях стандартной библиотеки Си, как gets и scanf. Результатом стали многие печально известные уязвимости, например, та, что эксплуатировалась в знаменитом черве Морриса .

Первые разработчики UNIX способствовали внедрению принципов модульного программирования и повторного использования в инженерную практику.

UNIX предоставлял возможность использования протоколов TCP/IP на сравнительно недорогих компьютерах, что привело к быстрому росту Интернета . Это, в свою очередь, способствовало быстрому обнаружению нескольких крупных уязвимостей в системе безопасности, архитектуре и системных утилитах UNIX.

Со временем ведущие разработчики UNIX разработали культурные нормы разработки программного обеспечения, которые стали столь же важны, как и сам UNIX. ( )

Социальная роль в сообществе ИТ-профессионалов и историческая роль

Первоначальные UNIX работали на крупных многопользовательских компьютерах, к которым также предлагались и проприетарные ОС от производителя оборудования, такие как RSX-11 и ее потомок VMS . Невзирая на то, что по ряду мнений тогдашний UNIX имел недостатки по сравнению с данными ОС (например, отсутствие серьёзных движков баз данных), он был а) дешевле, а иногда и бесплатен для академических учреждений б) был портируем с оборудования на оборудование, и разработан на портируемом языке Си, что «отвязывало» разработку программ от конкретной аппаратуры. Кроме того, «отвязанным» от аппаратуры и производителя оказался и опыт пользователя - человек, работавший с UNIX на VAX, легко работал с ней же и на 68xxx, и так далее.

Производители аппаратуры в то время часто прохладно относились к UNIX, считая ее игрушечной, и предлагая свою проприетарную ОС для серьёзной работы - в первую очередь СУБД и основанных на них бизнес-приложений в коммерческих структурах. Известны комментарии по этому поводу от DEC по поводу ее VMS . К этому прислушивались корпорации, но не академическая среда, которая имела все для себя необходимое в UNIX, зачастую не требовала официальной поддержки от производителя, справляясь своими силами, и ценила дешевизну и переносимость UNIX.

Таким образом, UNIX была едва ли не первой переносимой на разную аппаратуру ОС.

Вторым резким взлетом UNIX было появление RISC -процессоров около 1989 года. Еще до того существовали т. н. workstations - персональные однопользовательские компьютеры большой мощности, имеющие достаточный объем памяти, жесткого диска и достаточно развитую ОС (многозадачность, защита памяти) для работы с серьёзными приложениями, такими, как CADы. Среди производителей таких машин выделялась компания Sun Microsystems , сделавшая себе на них имя.

До появления RISC-процессоров в этих станциях обычно использовался процессор Motorola 68xxx, тот же, что и в компьютерах фирмы Apple (хотя и под более развитой операционной системой, чем у Apple).

Около 1989 года на рынке появились коммерческие реализации процессоров RISC -архитектуры. Логичным решением ряда компаний (Sun и других) был перенос UNIX на эти архитектуры, что немедленно повлекло за собой и перенос всей экосистемы ПО для UNIX.

Проприетарные серьёзные ОС, такие как VMS , начали свой закат именно с этого момента (даже если и удалось перенести на RISC саму ОС, все было намного сложнее с приложениями под нее, которые в этих экосистемах зачастую разрабатывались на ассемблере или же на проприетарных языках типа BLISS), и UNIX стал ОС для самых мощных компьютеров в мире.

Однако в это время экосистема PC начала переходить на GUI в лице Windows 3.0. Огромные преимущества GUI, а также, например, унифицированная поддержка всех типов принтеров, были оценены и разработчиками, и пользователями. Это сильно подорвало позиции UNIX на рынке - реализации такие, как SCO и Interactive UNIX, не справлялись с поддержкой Windows-приложений. Что же касается GUI для UNIX, называемого X11 (были и иные реализации, много менее популярные), то он не мог полноценно работать на обычной пользовательской PC ввиду требований к памяти - для нормальной работы X11 требовалось 16 МБ, в то время как Windows 3.1 с достаточной производительностью исполняла и Word, и Excel одновременно в 8 МБ (это стало стандартным размером памяти PC в то время). При высоких ценах на память это было лимитирующим фактором.

Успех Windows дал импульс внутреннему проекту Microsoft под названием Windows NT, которая была совместима с Windows по API, но при этом имела все те же архитектурные особенности серьёзной ОС, что и UNIX - многозадачность, полноценную защиту памяти, поддержку многопроцессорных машин, права доступа к файлам и директориям, системный журнал. Также Windows NT представила журнальную файловую систему NTFS, которая по возможностям на тот момент превышала все стандартно поставляемые с UNIX файловые системы - аналоги под UNIX были только отдельными коммерческими продуктами от Veritas и других.

Хотя Windows NT и не была популярна первоначально из-за высоких требований к памяти (те же 16 МБ), она позволила Microsoft выйти на рынок решений для серверов, например, СУБД. Многие в то время не верили в возможность Microsoft, традиционно специализирующейся на настольном ПО, быть игроком на рынке ПО масштаба предприятия, где уже были свои громкие имена, такие как Oracle и Sun. К этому сомнению добавлялся тот факт, что СУБД Microsoft - SQL Server - начинался как упрощенная версия Sybase SQL Server, лицензированная у Sybase и на 99 % совместимая по всем аспектам работы с ним.

Во второй половине 1990-х годов Microsoft начал теснить UNIX и на рынке корпоративных серверов.

Совокупность вышеперечисленных факторов, а также огромное падение цены на 3D-видеопроцессоры, ставшими из профессионального оборудования домашним, по сути убила само понятие workstation к началу 2000-ных годов.

Кроме того, системы Microsoft проще в управлении, особенно в типовых сценариях использования.

Но в данный момент начался третий резкий взлет UNIX.

Кроме того, Столлман и его товарищи, прекрасно понимая, что для успеха не завязанного на корпорации программного обеспечения необходимы не проприетарные средства разработки, разработал набор компиляторов для различных языков программирования (gcc), что вместе с разработанными ранее утилитами GNU (замена стандартных утилит UNIX) составило необходимый и достаточно мощный пакет программ для разработчика.

Для создания полностью свободного UNIX не хватало по сути только ядра ОС. И оно было разработано финским студентом Линусом Торвалдсом. Ядро было разработано «с нуля» и не является с точки зрения исходного кода деривативом ни BSD, ни System V (хотя концепты таки заимствовались, например, Linux имел функции namei и bread), однако по ряду нюансов (системные вызовы, богатая /proc, отсутствие sysctk) - больше тяготеет к последней.

  • POSIX 1003.2-1992, определяющий поведение утилит, в том числе командного интерпретатора;
  • POSIX 1003.1b-1993, дополняющий POSIX 1003.1-1988, - определяет поддержку систем реального времени;
  • POSIX 1003.1c-1995, дополняющий POSIX 1003.1-1988, - определяет нити (threads), известные также как pthreads.

Все стандарты POSIX объединены в документе IEEE 1003.

В целях совместимости несколько создателей UNIX-систем предложили использовать ELF - формат систем SVR4 для двоичных и объектных файлов . Единый формат полностью обеспечивает соответствие двоичных файлов в рамках одной компьютерной архитектуры.

Структура каталогов некоторых систем, в частности, GNU/Linux , определена в стандарте Filesystem Hierarchy Standard . Однако, во многих отношениях этот тип стандарта является спорным, и он, даже внутри сообщества GNU/Linux, далеко не универсален.

Стандартные команды ОС UNIX

  • Создание и навигация по файлам и каталогам: touch , , , , , , pwd , , mkdir , rmdir , find , ;
  • Просмотр и редактирование файлов: more , less , , ex, , emacs ;
  • Обработка текста: echo , cat , grep , sort , uniq , sed , awk , tee , head , tail , cut , , split , printf ;
  • Сравнение файлов: comm , cmp , diff , patch ;
  • Разнообразные утилиты командного интерпретатора: yes , test , xargs , expr ;
  • Системное администрирование: chmod , chown , , , , who , , mount , umount ;
  • Коммуникации: mail , telnet, ftp , finger, rsh, ssh;
  • Командные оболочки : , bash , csh , ksh , tcsh , zsh ;
  • Работа с исходным кодом и объектным кодом: cc, gcc , ld, , yacc , bison , lex , flex , ar, ranlib, make ;
  • Сжатие и архивация: compress, uncompress, gzip , gunzip , tar
  • Работа с двоичными файлами: , strings

Ниже приведён список 60 команд из раздела 1 первой версии UNIX:

  • b, bas , bcd, boot
  • cat , chdir , check, chmod , chown , cmp ,
  • date , db, dbppt, , , dsw, dtf,
  • mail , mesg , mkdir , mkfs, mount ,
  • rew, rkd, rkf, rkl, , rmdir , roff

Примечания

См. также

Два термина Linux и Unix очень похожи между собой и их часто путают даже опытные пользователи. Давайте все-таки разясним разницу между этими понятиями и в каких случаях их стоит применять. Начнем с истории возникновения Linux и Unix.

История Uni x началась еще в конце 1960-х годов, изначально система разрабатывалась вместе с MIT и General Electric, но потом некоторые разработчики решили сделать собственную ОС и в 1970 году она получила название Unix, далее была переписана на языке программирования Си. С того времени ОС начала распространяться как бесплатно, так и на коммерческой основе. Появлялись новые редакции и варианты, самой большой популярностью пользовалась BSD.

Linux похож своими функциями на Unix, но вполне отличается кодовой базой. Данная операционная система была сделана из двух проектов, один из которых GNU, а второй – ядро Linux. Цель такого проекта – создать систему похожую на сам Unix, но который бы не зависил от него. Другими словами, нужно было создать ОС, которая бы бесплатно распространялась и могла модифицироваться без ограничений. Linux был разработан под влиянием системы Minix, наследника Unix, но кодовая база была написана с нуля. Linux был рассчитан на использование на обычных ПК, в то время как Unix использовался на крупных фирмах. Но уже сегодня Linux прекрасно работает на большинстве платформ и интегрируется со многими инстурментами. Например, современные дистрибутивы Linux безпроблемно работают даже с файловыми системами для Windows – FAT32, NTFS. Как появился – символ Linux?

В чем суть Unix?

Данный термин может относиться к нескольким понятиям сразу:

  • самобытная ОС, на основе которой создают и развивают другие операционные системы;
  • товарный знак, который принадлежит The Open Group. Данная компания разрабатывает стандарты для операционных систем Single UNIX Specification. Системы соответствующие данным стандартам могут именоваться Unix на законных основаниях;
  • все ОС, которые зарегистрированы под именем Unix: AIX, A/UX, HP-UX, Inspur K-UX, Reliant UNIX, Solaris, IRIX, Tru64, UnixWare, z/OS и OS X.

В чем суть Linux?

  • это Unix подобная операционная система, которая ведет себя как Unix, но не использует его код;
  • не имеет сертификата Unix, но по функциональности имеет множество сходств;
  • реализирует много принципов работы Unix.

Чем похожи Linux и Unix?

Обе системы имеют похожие принципы администрирования данных, кроме того базовые команды управления ОС идентичны. Также системы устойчивы к вирусам на одном уровне.

Основные отличия между Linux и Unix?

Linux – ОС с открытым исходным кодом, распространяется бесплатно, Unix – только ее производные находятся в свободном доступе. Linux можно назвать своеобразным клоном Unix, который не использует его код. Linux изначально разрабатывался для домашних ПК, а Unix для больших корпораций. Правда, на сегодня Linux поддерживает больше платформ чем Unix и является более популярным среди пользователей. И, конечно же, Linux поддерживает больше типов файловых систем чем Unix. Операционные системы на базе LINUX. ?

Часто данные понятия путают из-за того, что они могут по-разному трактоваться и обозначать разные вещи. Если учитывать все факторы, то ОС Unix менее универсальна, потому что каждый дистрибутив адаптирован к только определенному количеству платформ и файловых систем, в отличии от Linux, которая в данном плане намного универсальней.

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

Как итог данной статьи можно привести вот такую последовательность UNIX → UNIX-подобная ОС → Linux , которая во многом обясняет последовательность и зависимость обеих операционных систем.

Основные отличия Linux и BSD.

Компания Hyper Host™ желает Вам успешной и продуктивной работы с Linux и UNIX!

7699 раз(а) 2 Сегодня просмотрено раз(а)