Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Акуленок_часть1.doc
Скачиваний:
43
Добавлен:
13.11.2019
Размер:
1 Мб
Скачать
☆

1.1. Первые шаги по созданию unix

ОС UNIX создавалась в несколько этапов. Все началось в 1965–1969 гг. в Bell Labs концерна AT&T в рамках проекта MULTICS (Multi–user Timesharing Interactive Computing System) для большой машины General Electric GE–645. AT&T в 70-е годы была "естественной" монополией в области телекоммуникаций. Этот статус гарантировался законодательным запретом деятельности других телекоммуникационных компаний на территории США. В обмен на этот статус AT&T вынуждена была подчиняться ряду регуляторных мер, в частности – ей было запрещено выходить на другие, кроме телекоммуникационного, рынки, в том числе на рынок программного обеспечения, поэтому AT&T могла только разрабатывать, но не продавать компьютерные продукты. Однако разработчики UNIX чувствовали, что их системе суждено гораздо более привлекательное будущее, чем внутренний стандарт крупной компании.

В 1969 г. Bell Labs решает выйти из проекта MULTICS, чтобы сосредоточить усилия на создании мобильной операционной среды под условным названием UNIX.

Первоначально UNIX написана на ассемблере для DEC PDP–7 (ранняя модель миникомпьютера компании DEC) Кеном Томпсоном (Ken Tompcon). Затем к работе по этому проекту был привлечен Деннис Ритчи (Dennis Ritchie), который в то время уже разработал язык В. Он предложил переписать основную часть UNIX на В. В процессе осуществления этой идеи, язык В настолько Ken Tompcon усовершенствовался, что преобразился в язык СИ. Это было в 1973 г.

Таким образом, было достигнуто невиданное тогда качество – мобильность. В отличие от всех тогдашних ОС, на 100 % написанных на Ассемблере для определенной машины, UNIX имела только 10 % (1000 строк) кода на Ассемблере. Для того чтобы работать на произвольной машине, новая ОС нуждалась единственно в написании нескольких страничек на Ассемблере и компиляторе языка СИ. Уже в 1976 г. в первый раз UNIX была перенесена на другую машину – Interdata 8/32.

1.2. Исследовательские версии unix

Операционная система модернизировалась, каждая новая версия снабжалась соответствующей редакцией Руководства программиста, откуда и сами версии системы получили название редакций (Edition). Всего было выпущено 10 версий–редакций, первая из которых вышла в 1971 г., а последняя – в 1989 г. Первые семь редакций были разработаны в Bell Labs Группой Компьютерных Исследований (Computer Research Group, CRG) и предназначались для компьютеров PDP–11, а позже – для VAX. Другая группа (UNIX System Group, USG), отвечала за сопровождение системы. Третья группа (Programmer's WorkBench, PWB) занималась разработкой среды программирования. К наиболее важным версиям можно отнести следующие:

Первая редакция – 1971 г. Первая версия UNIX, написанная на Ассемблере для PDP–11, включала компилятор языка В и много известных команд и утилит, в том числе cat, chdir, chmod, cp, ed, find, mail, mkdir, mkfs, mount, mv, rm, rmdir, wc, who. Система отличалась небольшим объемом: 16 Кбайт для системы, 8 Кбайт для программ пользователей, обслуживала диск объемом 512 Кбайт и максимальный размер файла не более 64 Кбайт. В основном использовалась как инструментальное средство обработки текстов для патентного отдела.

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

Четвертая редакция – 1973 г. Система была написана заново на Си, это был шаг, неслыханный для того времени, но имевший огромный резонанс среди сторонних пользователей. Количество машин фирмы Bell Labs, на которых была инсталлирована система, возросло до 25, в результате чего была создана группа USG по системному сопровождению UNIX внутри фирмы.

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

Шестая редакция – 1975 г. Первая версия системы, доступная за пределами Bell Labs. Система полностью переписана на языке Си. С этого времени начинается появление новых версий, разработанных другими компаниями, и необычайный рост популярности UNIX. В частности, одна из редакций была установлена Томпсоном в Калифорнийском университете в Беркли, и на ее основе была выпущена первая версия BSD (Berkeley Software Distribution) UNIX.

К 1977 году количество машин, на которых функционировала система UNIX, увеличилось до 500, при чем 125 из них работали в университетах. Система UNIX завоевала популярность среди телефонных компаний, поскольку обеспечивала хорошие условия для разработки программ, обслуживала работу в сети в режиме диалога и работу в реальном масштабе времени

Седьмая редакция – 1979 г. Эта версия включала командный интерпретатор Bourne Shell и компилятор языка СИ от Кернигана и Ритчи. Ядро было переписано для упрощения переносимости системы на другие платформы. Лицензия на эту версия была куплена фирмой Microsoft, которая разработала на ее базе операционную систему XENIX

К началу 1984 года система UNIX была уже инсталлирована приблизительно на 100000 машин по всему миру, при чем на машинах с широким диапазоном вычислительных возможностей - от микропроцессоров до больших ЭВМ - и разных изготовителей. Ни о какой другой операционной системе нельзя было бы сказать того же. Популярность и успех системы UNIX объяснялись несколькими причинами:

  • Система написана на языке высокого уровня, благодаря чему ее легко читать, понимать, изменять и переносить на другие машины. По оценкам, сделанным Ритчи, первый вариант системы на Си имел на 20-40 % больший объем и работал медленнее по сравнению с вариантом на ассемблере, однако преимущества использования языка высокого уровня намного перевешивают недостатки.

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

  • Наличие элементарных средств, позволяющих создавать сложные программы из более простых.

  • Наличие иерархической файловой системы, легкой в сопровождении и эффективной в работе.

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

  • Наличие простого, последовательного интерфейса с периферийными устройствами.

  • Система является многопользовательской, многозадачной; каждый пользователь может одновременно выполнять несколько процессов.

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

Простота и последовательность вообще отличают систему UNIX и объясняют большинство из вышеприведенных доводов в ее пользу.

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