Надо Знать

добавить знаний



UNIX



План:


Введение

Генеалогическое дерево Unix-систем

UNIX (Юникс) - это операционная система, которая изначально разрабатывалась в течение 1969 - 1970-х годов группой сотрудников подразделения Bell Labs корпорации AT & T, которая включала Кена Томпсона, Деннис Ритчи и Дугласа Макилрой. Шведские существует множество различных UNIX-систем, которые, в свою очередь, объединяются в семьи. В их разработке в разное время принимали участие AT & T, некоторые коммерческие фирмы, а также некоммерческие организации.


1. История

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

В 1957 году Bell Labs начала создание операционной системы для собственных нужд. Под руководством Виктора Высоцкого (русского по происхождению) была создана система BESYS. После этого он руководил проектом Multics, а затем стал главой информационного подразделения Bell Labs.

В 1964 году появились компьютеры третьего поколения, для которых возможности BESYS уже не подходили. Высоцкий и его коллеги приняли решение не разрабатывать новую собственную операционную систему, а подключиться к совместному проекту General Electric и Массачусетского технологического института MULTICS. Весомую поддержку проекта предоставил телекоммуникационный гигант AT & T, но в 1969 году он вышел из проекта, поскольку он не приносил никаких финансовых выгод.


1.2. Первые UNIX

Первоначально UNIX была разработана в конце 1960-х годов сотрудниками Bell Labs, в первую очередь Кеном Томпсоном, Деннисом Ритчи и Дугласом Макилрой.

В 1969 году Кен Томпсон, пытаясь реализовать идеи, которые легли в основу MULTICS, но на более скромном аппаратном обеспечении (DEC PDP-7), написал первую версию новой операционной системы, а Брайан Керниган придумал для нее название - UNICS (UNIplexed Information and Computing System) - в противовес MULTICS (MULTIplexed Information and Computing Service). Позже это название сократилось до UNIX. В 1970 г. вышла версия для PDP-11, наиболее успешного семейства миникомпьютеров 1970-хСССР оно известно как СМ ЭВМ).

В 1973 г. было принято решение переписать ядро системы на вновь созданной языке Си. UNIX стал первой операционной системой, почти полностью написанной на языке программирования высокого уровня, что существенно упростило портирование системы на другие архитектуры. 15 октября на очередном симпозиуме ACM была представлена ​​четвертая версия UNIX. Вскоре появилась UNIX Version 5, с 1974 года началось распространение бесплатно среди университетов и академических учреждений.

К 1975 года вышла UNIX Version 6, известная по широко распространенными комментариями Джона Лайонса (Lions 'Commentary on UNIX 6th Edition, with Source Code, [1], [2]). К 1978 г. система используется более чем на 600 машинах, прежде всего, в университетах. Версия 7 была последней единой версией UNIX. Именно в версии 7 появился близкий к современному интерпретатор командной строки Bourne shell.


1.3. Раскол

В начале 1980-е компания AT & T, которой принадлежали Bell Labs, поняла ценность UNIX и начала создание коммерческой версии UNIX. Эта версия, поступившая в продажу в 1982 году, получила название UNIX System III и базировалась на седьмой версии системы. Чуть раньше, в 1977 г. лаборатория Билла Джоя в университете Беркли создала собственную версию UNIX, которая базировалась на UNIX Version 6. Эта версия получила название BSD ( англ. Berkeley Software Distribution ).

Поворотным моментом в истории 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, HP-UX, IRIX, Solaris.


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

В 1983 году Ричард Столлмен объявил о создании проекта GNU - попытки создать свободной UNIX-подобной операционной системы с нуля, без использования оригинального исходного кода. Большая часть программного обеспечения, разработанного в рамках данного проекта - такого, как GNU toolchain, Glibc (стандартная библиотека языка Си) и Coreutils - играют ключевую роль в других свободных операционных системах. Однако, работы по созданию замены для ядра UNIX, необходимого для полного выполнения задач GNU, происходили очень медленно. В настоящее время GNU Hurd - попытка создать современное ядро на основе микроядерной архитектуры Mach - все еще ​​далека от завершения.

В 1991 году, когда Линус Торвальдс опубликовал ядро Linux и привлек помощников, использование инструментов, разработанных в рамках проекта GNU, было очевидным выбором. Объединившись с ядром Linux, программное обеспечение GNU стало основой для UNIX-подобной операционной системы, известной как Linux. Дистрибутивы этой системы (такие как Red Hat и Debian), включающие ядро, утилиты GNU и дополнительное программное обеспечение стали популярными как среди любителей, так и среди специалистов.

В результате регулирования юридического дела, открытой UNIX Systems Laboratories против университета Беркли и Berkeley Software Design Inc., было установлено, что университет может распространять BSD UNIX, в том числе и бесплатно. После этого были возобновлены эксперименты, связанные с BSD -версией UNIX. Вскоре разработка BSD UNIX была продолжена в нескольких направлениях одновременно, что привело к появлению проектов, известных как FreeBSD, NetBSD, OpenBSD и DragonFlyBSD.

В настоящее время Linux и представители семейства BSD быстро отвоевывают рынок у коммерческих UNIX-систем и одновременно проникают как в персональные компьютеры пользователей, так и на мобильные встраиваемые системы. Одним из свидетельств данного успеха служит тот факт, что когда фирма Apple искала основу для своей операционной системы, она выбрала NEXTSTEP - операционную систему со свободно распространяемым ядром, разработанную фирмой NeXT и переименованной в Darwin после приобретения фирмой Apple. Эта система относится к семейству BSD и основана на ядре Mach. Применение Darwin BSD UNIX в Mac OS X делает его одной из наиболее распространенных версий UNIX.


2. Стандарты

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

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


2.1. System V Interface Definition (SVID)

Одним из наиболее ранних стандартов де-факто ОС UNIX является выданный UNIX System Laboratories (USL) вместе с изданием версии ОС UNIX System V Release 4 документ System V Interface Definition (SVID). Если вспомнить историю, то владельцем оригинальных исходных текстов ОС UNIX была компания AT & T Bell Laboratories (именно работники этой компании разработали в начале 1970-х популярный первый мобильный вариант ОС UNIX). В 1980-е годы компания AT & T создала компанию USL, которой были переданы права на исходные тексты и торговую марку ОС UNIX. USL выпустила системы с System V R.4.0 до System V R.4.2, после чего в конце 1993 г. была поглощена компанией Novell, которая стала владельцем исходных текстов ОС UNIX (под влиянием общества торговая марка "UNIX" была передана в компании X / Open).


2.2. Деятельность комитетов POSIX

Следует упомянуть, что наряду с версиями ОС UNIX, которые развивались в компании AT & T (затем в USL, затем в Novell), исторически существовал еще направление BSD (Berkeley Standard Distribution), который поддерживала небольшая всемирно известная группа из университета Беркли. В свое время (в конце 1970-х) университет получил от AT & T исходные тексты 16-разрядной ОС UNIX, на базе которой была произведена 32-разрядная система, которая первоначально использовалась на компьютерах семейства VAX, а затем была перенесена на многие другие аппаратных платформ . В результате, наборы системных вызовов UNIX AT & T и BSD уже заметно отличались.

Хотя большинство коммерческих реализаций UNIX основывалось на System V, UNIX BSD всегда был популярен в университетах, и общественность потребовала определения некоторого интерфейса, который был по сути объединением средств AT & T и BSD. Эта работа была начата Ассоциацией профессиональных программистов Открытых систем UniForum, а затем продолжена в специально созданных рабочих группах POSIX (Portable Operating System Interface). В рабочих группах POSIX разрабатываются много открытых систем, но наиболее известным и авторитетным является принятый ISO по ходатайству IEEE стандарт POSIX 1003.1, в котором определены минимальные необходимые средства операционной системы.


2.3. Деятельность X / Open

Международная организация X / Open, которая выполняет много работ, связанных с пропагандой и анализом использования открытых систем, кроме того, собирает и систематизирует де-юре и де-факто стандарты, имеющие промышленное значение, в X / Open Common Application Environment (CAE). Характеристики интерфейсов средств, входящих в CAE, публикуются в многотомном документе X / Open Portability Guide (XPG).

2.4. Стандарт ANSI C

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

2.5. Другие стандарты

Существует другая разновидность стандартов де-факто, распространяемых на некоторый класс аппаратных архитектур. Примером такого стандарта может быть документ, принятый международной организацией SPARC International документ SPARC Complience Definition, который вкладывает в себя машинно-зависимые уточнения к машинно-независимых спецификаций интерфейсов. Аналогичный документ разрабатывался организацией 88/Open, которая связана с RISC-процессорами фирмы Motorola.

Среди других индустриальных де-факто стандартов для современных вариантов ОС UNIX наиболее важные фактический стандарт оконной системы, который поддерживает X Consortium, в составе которого находится лаборатория Массачусетского технологического института (MIT), который является разработчиком системы X, а также спецификации интерфейсов инструментального средства разработки графических интерфейсов OSF / Motif, которые были разработаны в Open Software Foundation (OSF).

Кроме того, следует отметить, что в OSF был разработан документ OSF Application Environment Specification (AES), в котором содержатся спецификации интерфейсов ОС OSF / 1, является собственной реализацией OSF ОС UNIX на базе новой микроядерной технологии. AES является расширением SVID, POSIX 1003.1 и XPG.


3. Файловая система Unix

Файловая структура Unix характеризуется следующими свойствами:

  • Четкая построение;
  • Обращение к данным файла без противоречий;
  • Защита данных файла;

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

Это - после внимательного рассмотрения других факторов, включая:

  • Традиционная и хорошо воспринята практика в Unix-подобных системах;
  • Внедрение построений других файловых структур;
  • Применимые стандарты;

Определяется две независимые категории файлов: общие (shareable) в противовес частным (unshareable) и переменные в противовес постоянным.

Общие данные
это те, которые могут быть общими для нескольких главных машин;
Личные данные
должны быть специфическими для каждого главного компьютера.

Например, домашние каталоги пользователей - общие данные, но файлы контроля устройств - нет.

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

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

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

Разница между общими и частными данными требует некоторых пояснений:

  • В сетевой среде (т.е. когда есть несколько главных машин в одном месте), является хорошей практикой иметь данные общие для нескольких главных машин, с целью сохранения места и облегчения задач сопровождения.
  • В сетевой среде, некоторые файлы содержат данные, касающиеся исключительно конкретной главной системы. Такие части файловой системы не могут быть обобщены (без принятия определенных мер).
  • Попередні реалізації файлових систем Unix-типу, перемішують загальні та приватні дані в одній структурі, що ускладнює узагальнення великих частин файлової системи.

Особенность "всеобщности" может быть использована для упрощения поддержки, например:

  • Раздел /usr (или его части) монтируется (только на чтение) через сеть (используя NFS).
  • Раздел /usr (или его части) монтируется с носителя, который может только читаться. CD-ROM с одной копией, которая распространяется между многими пользователями через почту или другими средствами, может быть смонтирован как файловая система только для чтения, которая обобщается с другими файловыми системами согласованными с СПФС каким-либо типом "сети".

Свойства "постоянный" и "переменный" производят на файловую систему влияние главным образом двумя путями:

  • Поскольку / содержит как переменные так и постоянные данные, его приходится монтировать на чтение и запись.
  • Хотя обычно /usr содержит как переменные так и постоянные данные, все же бывает нужно монтировать его только для чтения, тогда нужно иметь метод монтировать /usr только для чтения. Это делается через создание структуры /var, которая монтируется на чтение и запись (или как часть другого раздела, что позволяет чтение и запись как /), беря на себя значительную часть функциональности /usr раздела.

4. Канонические команды Unix

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

ar, as, b, bas, bcd, boot, cat, chdir, check, chmod, chown, cmp, cp, date, db, dbppt, dc, df, dsw, dtf, du, ed, find, for, form, hup, lbppt, ld, ln, ls, mail, mesg, mkdir, mkfs, mount, mv, nm, od, pr, rew, rkd, rkf, rkl, rm, rmdir, roff, sdate, sh, stat, strip, su, sum, tap, tm, tty, type, un, wc, who, write.


См.. также

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


Операционные системы Это незавершенная статья о операционные системы.
Вы можете помочь проекту, исправив и дополнив ее.

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

скачать

© Надо Знать
написать нам