Основы Linux. История возникновения и стандарты UNIX Основы работы в операционной системе unix

Основы Linux

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

Unix ориентировалась, прежде всего, на интерфейс командной строки, это же досталось Linux в наследство. Таким образом, графический пользовательский интерфейс с его окнами, изображениями и меню надстроен над основным интерфейсом - командной строкой. Кроме того, это означает, что, и файловая система Linux построена так, чтобы быть легко управляемой и доступной из командной строки.

Каталоги и файловая система

Файловые системы в Linux и Unix организованы по принципу иерархической, древовидной структуры. Верхний уровень файловой системы - / или корневой каталог . Это означает что все другие файлы и каталоги (включая также другие диски и разделы) находятся внутри корневого каталога. В UNIX и Linux файлом считается все - включая жесткие диски, их разделы и съемные носители.

Например, /home/jebediah/cheeses.odt показывает полный путь к файлу cheeses.odt . Файл находится в каталоге jebediah , которая находится в каталоге home , который в свою очередь, находится в корневом каталоге (/).

Внутри корневого каталога (/) существует ряд важных системных каталогов, которые присутствуют в большинстве дистрибутивов Linux. Ниже следует список общих каталогов, которые находятся непосредственно в корневом каталоге (/):

Права доступа

Все файлы в Linux имеют права доступа, которые разрешают или запрещают читать, изменять или выполнять их. Супер пользователь «root» имеет доступ к любому файлу в системе.

Каждый файл имеет следующие три набора доступа, в порядке их значимости:

    владелец

    относится к пользователю, который является владельцем файла

    группа

    относится к группе, связанной с файлом

    прочие

    относится ко всем остальным пользователям системы

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

    чтение

    файлы могут быть отображены и открыты для чтения

    содержимое каталогов доступно для просмотра

    запись

    файлы могут быть изменены или удалены

    содержимое калогов доступно для изменений

    выполнение

    исполняемые файлы могут быть запущены как программы

    каталоги могут быть открыты

To view and edit the permissions on files and directories, open the Applications → Accessories → Home Folder and right-click on a file or directory. Then select Properties . The permissions exist under the Permissions tab and allow for the editing of all permission levels, if you are the owner of the file.

To learn more about file permissions in Linux, read the file permissions page in the Ubuntu Wiki.

Терминалы

Working at the command line is not as daunting a task as you would think. There is no special knowledge needed to know how to use the command line. It is a program like everything else. Most things in Linux can be done using the command line, although there are graphical tools for most programs. Sometimes they are just not enough. This is where the command line comes in handy.

The Terminal is located in Applications → Terminal . The terminal is often called the command prompt or the shell. In days gone by, this was the way the user interacted with the computer. However, Linux users have found that the use of the shell can be quicker than a graphical method and still holds some merit today. Here you will learn how to use the terminal.

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

Основные команды

Просмотр содержимого каталогов: ls

Команда ls показывает список файлов разными цветами с полным форматированием текста

Создание каталогов: mkdir (имя каталога)

Команда mkdir создает новый каталог.

Перейти в каталог: cd (/адрес/каталога)

Команда cd позволяет перейти в любой указанный вами каталог.

Копирование файла или каталога: cp (что - имя файла или каталога) (куда - имя каталога или файла)

Команда cp копирует любой выбранный файл. Команда cp -r копирует любой выбранный каталог со всем содержимым.

Удаление файлов или каталогов: rm (имя файла или папки)

Команда rm удаляет любой выбранный файл. Команда rm -rf удаляет любой выбранный каталог со всем содержимым.

Переименовать файл или каталог: mv (имя файла или каталога)

Команда mv переименовывает или перемещает выбранный файл или каталог.

Поиск каталогов и файлов: locate (имя каталога или файла)

Команда locate позволяет найти заданный файл на вашем компьютере. Для ускорения работы используется индексация файлов. Для того чтобы обновить индекс, введите команду updatedb . Она запускается автоматически каждый день, если компьютер включен. Для запуска этой команды требуются права супер пользователя (см. «Пользователь root и командна sudo»).

Вы также можете использовать маски, чтобы указать более одного файла, такие как «*» (совпадение со всеми символами) или «?» (совпадение с одним символом).

For a more thorough introduction to the Linux command line, please read the command line introduction on the Ubuntu wiki.

Редактирование текста

All of the configurations and settings in Linux are saved in text files. Even though you most often can edit configurations through the graphical interface, you may occasionally have to edit them by hand. Mousepad is the default Xubuntu text editor, which you can launch by clicking Applications → Accessories → Mousepad on the desktop menu system.

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

Если вам необходим текстовый редактор в командной строке, можете использовать nano - простой в использовании текстовый редактор. При запуске из командной строки всегда используйте следующую команду, чтобы отключить автоматический перенос слов:

Nano -w

For more information about how to use nano , refer to the guide on the wiki .

There are also quite a few other terminal-based editors available in Ubuntu. Popular ones include VIM and Emacs (the pros and cons of each are cause for much friendly debate within the Linux community). These are often more complex to use than nano , but are also more powerful.

Пользователь root и командна sudo

The root user in GNU/Linux is the user which has administrative access to your system. Normal users do not have this access for security reasons. However, Ubuntu does not enable the root user. Instead, administrative access is given to individual users, who may use the "sudo" application to perform administrative tasks. The first user account you created on your system during installation will, by default, have access to sudo. You can restrict and enable sudo access to users with the Users and Groups application (see «Управление пользователями и группами» for more information).

Когда вы открываете программу, требующую прав супер пользователя, sudo потребует ввести ваш пароль. Это гарантирует, что вредоносные приложения не смогут повредить вашу систему, а также напомнит вам, что вы собираетесь выполнить действия, которые требуют особой осторожности!

Чтобы использовать sudo в командной строке, просто наберите «sudo» перед командой, которую необходимо выполнить. После этого потребуется ввести ваш пароль.

Sudo will remember your password for 15 minutes (by default). This feature was designed to allow users to perform multiple administrative tasks without being asked for a password each time.

Be careful when doing administrative tasks - you might damage your system!

Some other tips for using sudo include:

    Чтобы использовать терминал с правами супер пользователя (root), наберите «sudo -i» в командной строке

    The entire suite of default graphical configuration tools in Ubuntu already use sudo, so they will prompt you for your password if needed.

    При запуске графических приложений вместо «sudo» используется «gksudo». Это позволяет запрашивать пароль у пользователя в небольшом графическом окне. Команда «gksudo» удобна, если вы хотите установить кнопку запуска Synaptic на вашу панель или что-то подобное.

    For more information on the sudo program and the absence of a root user in Ubuntu, read the sudo page on the Ubuntu wiki.

UNIX (Unix, Юникс) - группа переносимых, многозадачных и многопользовательских операционных систем . Первая операционная система Unix была разработана в конце 1960-х - начале 1970 годов американской исследовательской фирмой Bell Laboratories. Первоначально она была ориентирована на миниЭВМ, а затем стала применяться на ЭВМ всех классов, включая мейнфреймы и микроЭВМ. Этому способствовала адаптация Unix на 32-разрядные микропроцессоры корпорации Intel, которая была осуществлена в 1990 году. Функциональные возможности и гибкость Unix обеспечили ее использование в разнородных автоматизированных системах, а также создание десятков стандартов для производителей вычислительной техники. Операционные системы семейства Unix:

Linux - версия операционной системы Unix для вычислительных платформ, создаваемых на базе процессоров Intel;
HP-UX - версия фирмы Hewlett-Packard; постоянно развивается и отличается совместимостью с IE-64, являющимся новым стандартом 64-битной архитектуры;
SGI Irix - операционная система ПК Silicon Graphics на базе System V Release 3.2 с элементами BSD. На этой версии Unix студия Industrial Light & Magic создала фильмы «Терминатор 2», «Парк Юрского периода».
SCO Unix - версия фирмы Santa Cruz Operation для платформы Intel, не зависящей от производителей аппаратной части;
IBM AIX - реализована на основе System V Release 2 с некоторыми расширениями BSD;
DEC Unix - операционная система с поддержкой кластеров; ориентирована на совместную работу с Windows NT;
NeXTStep-4.3 BSD - ОС, реализованная на основе ядра Mach, использовалась в компьютерах NeXT; принадлежит фирме Apple Computer и служит операционной системой для компьютеров Macintosh;
Sun Solaris - операционная система для SPARC-станций на базе System V Release 4 с многочисленными дополнениями.

Операционная система Unix появилась в период развития мини-компьютеров. В 1969 году исследовательская фирма Bell Labs приступила к разработке компактной операционной системы для 18-разрядного мини-компьютера DEC PDP-7 корпорации Digital Equipment. Первоначально система была написана на ассемблере и датой рождения Unix считается 1 января 1970 года. В 1973 году ее переписали на языке Cи, разработка которого велась в Bell Labs. Тогда же состоялось официальное представление операционной системы. Ее авторы - сотрудники Bell Labs Кен Томпсон (Ken Tompson) и Деннис Ритчи (Dennis М. Ritchie) - назвали свое детище «универсальной ОС с разделением времени (time-sharing)».

В основу Unix легла иерархическая файловая система. Каждый процесс рассматривался как последовательное исполнение программного кода в рамках автономного адресного пространства, а работа с устройствами трактовалась как работа с файлами. В первой версии было реализовано ключевое понятие процесса, позднее появились системные вызовы (fork, wait, exec, exit). В 1972 году за счет введения каналов (pipes) была обеспечена конвейерная обработка данных.

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

Благодаря политике раскрытия исходных текстов получили распространение многочисленные бесплатные диалекты Unix, работающие на платформе Intel х86 (Linux, FreeBSD, NetBSD, OpenBSD). Полный контроль над текстами сделал возможным создание систем с особыми требованиями к производительности и безопасности. Unix ассимилировала и элементы других операционных систем, в результате были выработаны программные интерфейсы POSIX, Х/Ореn.

Существуют две независимо развиваемые ветви UNIX - System V и Berkeley, на основе которых формируются диалекты Unix и Unix-подобные системы. BSD 1.0, ставшая основой некоммерческих диалектов UNIX, была выпущена в 1977 году в Калифорнийском университете в Беркли на основе исходных текстов UNIX V6. В 1982-1983 годах в Unix System Laboratories (USL) были выпущены первые коммерческие диалекты Unix - System III и System V. Версия Unix System V легла в основу большинства последующих коммерческих вариантов. В 1993 году AT&T продала права на Unix вместе с лабораторией USL компании Novell, которая на базе System V разработала диалект UNKWare, принадлежащий фирме Santa Cruz Operation под названием SCO UNIXWare. Товарный знак Unix принадлежит компании X/Open Company.

Unix получила распространение благодаря способности работать на разных аппаратных платформах - переносимости (portability), или мобильности. Проблема мобильности в UNIX была решена путем унификации архитектуры операционной системы и использования единой языковой среды. Разработанный в Bell Labs язык Си стал связующим звеном между аппаратной платформой и операционной средой.

Многие проблемы переносимости в Unix были решены за счет единого программного и пользовательского интерфейса. Решением проблемы согласования многочисленных диалектов Unix занимаются две организации: комитет IEEE по стандартам переносимых приложений (PASC, Portable Applications Standards Committee) и X/Open Company (The Open Group). Эти организации разрабатывают стандарты, дающие возможность для интеграции разнородных операционных систем, в том числе не имеющих отношения к Unix (IEEE PASC - POSIX 1003, X/Open - Common API). Так, POSIX-совместимыми системами являются Open-VMS, Windows NT, OS/2.

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

В дальнейшем, путем выделения из традиционного ядра минимально необходимого набора средств, сформировалось микроядро (microkernel). Наиболее известные реализации микроядер Unix - Amoeba, Chorus (Sun Microsystems), QNX (QNX Software Systems). Микроядро Chorus занимает 60 Кбайт, QNX - 8 Кбайт. На основе QNX разработано 30 Кбайт POSIX-совместимое микроядро Neutrino. В Университете Карнеги-Меллона в 1985 году было разработано микроядро Mach, использованное в NeXT OS (NeXT), MachTen (Mac), OS/2, AIX (для IBM RS/6000), OSF/1, Digital UNIX (для Alpha), Windows NT, BeOS.

В России операционная система Unix применяется как сетевая технология и операционная среда для разных компьютерных платформ. На основе Unix сформирована инфраструктура российской Internet. С начала 1980-х годов отечественные работы по операционной системе Unix велись в Институте атомной энергии им. И. В. Курчатова (КИАЭ) и Институте прикладной кибернетики Минавтопрома. Результатом объединения этих коллективов стало рождение операционной системы ДЕМОС (Диалоговой единой мобильной операционной системы), которая, помимо отечественных аналогов PDP-11 (СМ-4, СМ-1420), была перенесена на ЕС ЭВМ и Эльбрус. Несмотря на свою универсальность, Unix уступил рынок персональных компьютеров семейству Windows компании Microsoft. Операционная система Unix сохраняет позиции в области ответственных систем (mission-critical systems) с высокой степенью масштабируемости и отказоустойчивости.

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

А начать можно с Введения в Linux (sxw). Хотя есть и другие введения. Например это. Вот дока Р.С.Клочкова и Н.А.Коршенина Основы UNIX и Linux (SXW), (PDF).

Основы ОС UNIX. Учебный курс . (SXW) (PDF)
Copyleft (no c) — Fuck copyright! 1999-2003 В. Кравчук, OpenXS Initiative
Этот краткий (предположительно, 16 часов, из которых 6 — практические занятия) вводный курс предназначен для ознакомления с архитектурой, особенностями и основными средствами ОС UNIX. При успешном освоении, курс позволит свободно и продуктивно работать в ОС UNIX в качестве пользователя и продолжить изучение администрирования или программирования этой операционной системы.
Изложение ведется, в основном, без привязки к особенностям какой-либо версии UNIX, но при необходимости конкретизации, она делается для систем SVR4, в частности, ОС Solaris 8.
Также предлагаю книгу Андрея Робачевского «Операционная система UNIX»
Вот что пишет автор: «Данная книга не является заменой справочников и различных руководств по опера ционной системе UNIX. Более того, сведения, представленные в книге, подчас трудно найти в документации, поставляемой с операционной системой. Эти издания насыщены практическими рекомендациями, скрупулезным описанием настроек тех или иных подсистем, форматов вызова команд и т. п. При этом за кадром часто остаются такие вопросы, как внутренняя архитектура отдельных компонентов системы, их взаимодействие и принципы работы. Без знания этой «анатомии» работа в операционной системе превращается в использование заученных команд, а неизбежные ошибки приводят к необъяснимым последствиям. С другой стороны, в данной книге вопросам администрирования UNIX, настройке конкретных подсистем и используемым командам уделено значительно меньше внимания. Цель данной книги заключается в изложении основ организации операционной системы UNIX. Следует иметь в виду, что именем UNIX обозначается значительное семейство операционных систем, каждая из которых имеет свое название и присущие только ей особенности. В этой книге сделана попытка выделить то общее, что составляет «генотип» UNIX, a именно: базовый пользовательский и программный интерфейсы, назначение основных компонентов, их архитектуру и взаимодействие, и на основе этого представить систему в целом. В то же время там, где это имеет значение, приводятся ссылки на конкретную версию UNIX».

Лично мне очень помогает чтение прекрасной книги Виктора Алексеевича Костромина Linux для пользователя ” которую могу Вам предложить (kos1 , kos2 , kos3, kos4, kos5, kos6, kos7, kos8, kos9, kos10, kos11, kos12, kos13, kos14, kos15, kos16, kos17, kos18).
А вот эта же книга, но уже в PDF (kos1, kos2, kos3, kos4, kos5, kos6, kos7, kos8, kos9, kos10, kos11, kos12, kos13, kos14, kos15, kos16, kos17, kos18).
А теперь еще и в SXW (kos1, kos2, kos3, kos4, kos5, kos6, kos7, kos8, kos9, kos10, kos11, kos12, kos13, kos14, kos15, kos16, kos17, kos18).
Если Вы предпочитаете документы в формате HTML, то по приведенным выше ссылкам можно попасть на страницу, откуда предлагается закачать архивы глав книги именно в этом формате.

Из фундаментальных книг могу также посоветовать прекрасное руководство Карла Шрёдера «Linux. Сборник рецептов» . Сразу предупреждаю, что по этой ссылке книга в формате.pdf, и весит она 50 МВ . Но возможен и альтернативный вариант — та же книга, только в

ФОРМАТЕ.ТХТ Аннотация к книге следующая:»Предлагаемое издание содержит уникальную коллекцию советов, инструментов и сценариев; вы найдете ряд готовых отлаженных решений сложных проблем, с которыми сталкивается любой администратор, настраивающий Linux-сервер; эти решения пригодятся и при настройке небольших сетей, и при создании мощных распределенных хранилищ данных. Книга написана в уже ставшей популярной форме книг рецептов издательства O’Reilly в формате «Проблема-Решение-Обсуждение». Для опытных пользователей, программистов, системных администраторов, студентов вузов, аспирантов и преподавателей». Если вдруг ссылка прекратит существование, просьба сообщить — возможно выложу файл.pdf и на свой сайт.

Мне очень нравится серия статей и заметок Алексея Федорчука, Владимира Попова и ряда других авторов, которые я беру отсюда: http://unix.ginras.ru/ . Вот интереснейшие материалы о Linux в целом и его отдельных компонентах в частности (Linux-all.zip, Linux-all2.zip, Linux-all3.zip, Linux-all4.zip).
SXW — (Linux-all. zip, Linux-all2.zip, Linux-all3.zip, Linux-all4.zip),
А также книга Алексея Федорчука»Сага о POSIX или Введение в POSIX’ивизм » в которой освещаются общие вопросы ряда систем, в первую очередь о UNIX-подобных. Название говорит само за себя. По словам авторов, книга предназначена для пользователей (в том числе и начинающих). Вот файлы — Часть 1 , Часть 2 , Часть 3 , Часть 4 .
И SXW — Часть1, Часть2, Часть3, Часть4.

А если интересна история СВОБОДНЫХ СИСТЕМ, то можете почитать Подборку статей, под общим названием Дорога, открытая всем » (sxw) и, по словам автора, освещает общие вопросы Open Sources, POSIX-систем, историю UNIX, BSD, Linux

Также, для понимания принципов работы ОС, понятие процесса, наравне с понятием файла, является, безусловно, одним из самых важных понятий. Этому посвящена статья В.А. Костромина » Процессы и демоны в Linux » (SXW .

Text-Terminal-HOWTO (SXW)v 0.05, June 1998
Этот документ объясняет, что такое текстовые терминалы, как они работают, как устанавливать и конфигурировать их и дает некоторую информацию об их ремонте. Он может отчасти использоваться, даже если у вас нет руководства по терминалу. Хотя этот труд написан для реальных терминалов на системе Linux, часть его также применима для эмуляторов терминала и/или других Unix-подобных систем.

Также очень полезно, для более быстрого и легкого освоения консоли почитать прекрасно иллюстрированное руководство — Работаем с историей команд (SXW).

Вот материалы посвященные командным оболочкам, или командным интерпретаторам, именуемых также просто шеллами (shell). В первую очередь подборка статей которые объединены под названием Шелл и утилиты (SXW), (PDF).

Наиболее популярной оболочкой на сегодняшний день является Bash — зто сокращение Bourne Again SHell (Еще одна оболочкa Борна). Советую прочесть BASH конспект , (SXW), (PDF)
Дата создания: 16.12.97.

А также Особенности работы оболочки bash (SXW), (PDF).
Документ кратко суммирует то, что Bash унаследовал от борновской оболочки: структуры контроля оболочки, встроенные команды, переменные и другие особенности. Здесь также перечисляются наиболее значительные различия между Bash и борновской оболочкой.

Интерпретатор командного языка shell Shell (SXW), (PDF) — командный язык, могущий выполнять как команды, введенные с терминала, так и команды, хранящиеся в файле.

Программирование на Shell (UNIX) (SXW), (PDF)

Если зависает Windows, пользователь делает некие телодвижения, а затем, убедившись в «тщете и суетности этого мира», со спокойным сердцем нажимает RESET. В Линуксе все обстоит иначе. Об это статья — Висит? Снимем! (SXW)

Вопросы и ответы по kppp (SXW)

Статья В.А.Костромина « Иерархия каталогов и файловых систем в Linux » (SXW) в которой рассказывается о разработанном в рамках проекта Open Source стандарте на структуру каталогов UNIX-подобных операционных систем (подразумеваются Linux и BSD-системы).

О файлах (коими в Linux, по сути, являются каталоги, и даже устройства) но в несколько другом ракурсе рассказывает руководство Файлы и права доступа к ним (SXW).
Очень рекомендую. Разжевано замечательно.

Команды и сокращения Linux (SXW).
Это — практическая подборка программ, которые мы используем наиболее часто, считаем полезными, и которые присутствуют в наших дистрибутивах Linux (RedHat или Mandrake).

Консоли UNIX (SXW) – заметки о различных консолях.

А вот нехилое руководство Mandrake Linux 9.0 Руководство по Командной Строке (SXW).

Монтирование файловых систем из устройств и файлов (SXW) (PDF)
Дата создания документа: 26.07.2004
Дата последнего изменения: 20.08.2004
Автор: Князев Алексей.

В 1965 году Bell Telephone Laboratories (подразделение AT&T) совместно с peneral jlectric qompang и Массачусетским технологическим институтом (rIT) начали разрабатывать новую операционную систему, названную rULTIqS (rULTipleoed Information and qomputing Service). Перед участниками проекта стояла цель создания многозадачной операционной системы разделения времени, способной обеспечить работу нескольких сотен пользователей. От Bell Labs в проекте приняли участие два участника s Кен Томпсон (ten Tompson) и Дmннис Ритчи (Dennis uitchie) . vотя система rULTIqS так и не была завершена (в 1969 году Bell Labs вышла из проекта), она стала предтечей операционной системы, впоследствии получившей название Unio.

Однако Томпсон, Ритчи ряд других сотрудников продолжили работу над создание удобной системы программирования. Использую идеи и разработки, появившиеся в результате работы над rULTIqS, они создали в 1969 году небольшую операционную систему, включавшую в себя файловую систему, подсистему управления процессами и небольшой набор утилит. Система была написана на ассемблере и применялась на компьютере nDn-7. Эта операционная система получила название UNIX, созвучное rULTIqS и придуманное другим членом группы разработчиков, Брайаном Керниганом (Brian ternigan).

Хотя ранняя версия UNIX много обещала, она не смогла бы реализовать весь свой потенциал без применения в каком-либо реальном проекте. И такой проект нашелся. Когда в 1971 году патентному отделу Bell Labs понадобилась система обработки текста, в качестве операционной системы была выбрана UNIX. К тому времени она была перенесена на более мощный nDn-11, да и сама немного подрослаw 16К занимала собственно система, 8К отводилось прикладным программам, максимальный размер файла был установлен в 64К при 512К дискового пространства.

Вскоре после создания первых ассемблерных версий Томсон начал работать над компилятором для языка FxuTuAN, а в результате разработал язык B. Это был интерпретатор со всеми свойственными интерпретатору ограничениями, и Ритчи переработал его в другой язык, названный q, позволявший генерировать машинный код. В 1973 году ядро операционной системы было переписано на языке высокого уровня С, s неслыханный до mтого шаг, оказавший громадное влияние на популярность UNIX. Это означало, что теперь система UNIX может быть перенесена на другие аппаратные платформы за считанные месяцы и внесение изменений не представляло особых трудностей. Число работающих UNIX-систем в Bell Labs превысило 25, и для сопровождения UNIX была сформирована группа UNIX Sgstem proup (USp).

Исследовательские версии(AT&T Bell Labs)

В соответствии с федеральным законодательством США, AT&T не имела права коммерческого распространения UNIX и использовала ее для собственных нужд, но, начиная с 1974 года, операционная система стала передаваться университетам для образовательных целей.

Операционная система модернизировалась, каждая новая версия снабжалась соответствующей редакцией Руководства Программиста, откуда и сами версии получили название редакций (jdition). Всего с 1971 по 1989 год было выпущено 10 редакций. Ниже перечислены наиболее важные редакции.

Редакция 1 (1971)

Первая версия UNIX, написанная на ассемблере для nDn-11. Включала в себя язык B и много известных комманд и утилит, в том числе cat, chdir, chmod, cp, ed, find, mail, mkdir, mkfs, mount, mv, rm, rmdir, wc, who. В основном использовалась как инструментальное средство обработки текстов для патентного отдела Bell Labs.

Редакция 3 (1973)

В системе появилась команда сс, запускавшая компилятор языка С. Число установленных систем достигло 16.

Редакция 4 (1973)

Первая система, в которой ядро написано на языке высокого уровня С.

Редакция 6 (1975)

Первая версия UNIX, доступная за пределами Bell Labs. Система полностью переписана на языке С. С mтого времени начинается появление новых версий, разработанных не в Bell Labs и рост популярности UNIX. Эта версия системы была установлена в Калифорнийском университете в Беркли, и на ее основе вскоре была выпущена первая версия BSD (Berheleg Softkare Distributuion) UNIX.

Редакция 7 (1979)

Включала в себя командный интерпретатор Bourne Shell и компилятор С от Кернигана и Ритчи. yдро системы было переписано для переносимости на другие платформы. Лицензия на mту версию была куплена фирмой ricrosoft, которая разработала на ее базе операционную систему XjNIX.

Популярность UNIX росла, и к 1977 году число работающих систем превысило 500. В mтом же году система впервые была портирована на компьютер, отличный от nDn.

Генеалогия UNIX

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

System III (1982)

Не желая терять инициативу по развитию UNIX, AT&T в 1982 году обzединила несколько существующих версий ОС и создала версию под названием Sgstem III.

Данная версия была предназначена для распространения за пределами Bell Labs и AT&T, и положила начало мощной ветви UNIX, которая и сегодня жива и развивается.

System V (1983)

В 1983 году выпущена System V, а позже – еще несколько релизов (Release) к ней:

  • SVR2 (1984): InterProcess Communication (IPC) разделяемая память, семафоры
  • SVR3 (1987): Система I/O Streams, File System Switch, разделяемые библиотеки
  • SVR4 (1989): NFS, FFS, сокеты BSD. SVR4 объединила возможности несколькихизвестных версий UNIX – SunOS, BSD UNIX и предыдущих релизов System V.

Многие компоненты этой системы были поддержаны стандартами ANSI, POSIX, X/Open и SVID.

UNIX BSD (1978) (На основе 6-й редакции UNIX)

  • 1981 по заказу DAunA в BSD UNIX был встроен стек Tqn/In (в 4.2BSD)
  • 1983 активно использовала сетевые технологии и могла подключаться к сетиARPANET
  • 1986 выпущена версия 4.3BSD
  • 1993 выпущены 4.4BSD и BSD Lite (последние выпущенные версии).

OSF/1 (1988) (Open Software Foundation)

В 1988 году IBM, DEC, HP объединились с целью создания независимой от AT&T и SUN версии UNIX и создали организацию под названием OSF. Результатом деятельности этой организации стала операционная система OSF/1.

Стандарты

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

IEEE POSIX (Institute of Electrical and Electronics Engineers Portable Operating System Interface)

  • 1003.1 (1988) cтандартизация API (Application Programming Interface) OC
  • 1003.2 (1992) определение командного интерпретатора и утилит
  • 1003.1b (1993) API приложений реального времени
  • 1003.1c (1995) определений “нитей” (threads)

ANSI (American National Standards Institute)

  • Стандарт X3.159 (1989)
  • Синтаксис и семантика языка С
  • Содержимое стандартной библиотеки libc

X/Open

  • 1992 стандарт Xwindow
  • 1996 создание совместно с OSF прользовательского интерфейса CDE (Common Desktop Environment) и его сопряжение с графической оболочкой Motiff

SVID (System V Interface Definition)

Описывает внешние интерфейсы UNIX версий System V. В дополнение к SVID был выпущен SVVS (System V Verification Suite) – набор текстовых программ,позволяющий определить, соответствует ли система стандарту SVID и достойна ли она носить гордое имя System V.

Известные версии UNIX

  • IBM AIX на базе SVR2 со многими чертами SVR4, BSD, OSF/1
  • HP-UX версия фирмы HP
  • IRIX версия фирмы Silicon Graphics, похожа на SVR4
  • Digital UNIX версия фирмы DEC на основе OSF/1
  • SCO UNIX (1988) одна из первых UNIX систем для PC разработанная на основе SVR3.2
  • Solaris версия UNIX SVR4 компании Sun Microsystems