Особенности операционной системы UNIXРефераты >> Информатика >> Особенности операционной системы UNIX
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
ОБЗОР ОСОБЕННОСТЕЙ СИСТЕМЫ
1. ИСТОРИЯ
2. СТРУКТУРА СИСТЕМЫ
3. ОБЗОР С ТОЧКИ ЗРЕНИЯ ПОЛЬЗОВАТЕЛЯ
3.1 Файловая система
3.2 Среда выполнения процессов
3.3 Элементы конструкционных блоков
4. ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ
5. ПРЕДПОЛАГАЕМАЯ АППАРАТНАЯ СРЕДА
5.1 Прерывания и особые ситуации
5.2 Уровни прерывания процессора
5.3 Распределение памяти
6. ВЫВОДЫ
ЛИТЕРАТУРА
ВВЕДЕНИЕ
Впервые система UNIX была описана в 1974 году в статье Кена Томпсона и Дэнниса Ричи в журнале "Communications of the ACM" [Thompson 74]. С этого времени она получила широкое распространение и завоевала широкую попу-лярность среди производителей ЭВМ, которые все чаще стали оснащать ею свои машины. Особой популярностью она пользуется в университетах, где довольно часто участвует в исследовательском и учебном процессе.
Множество книг и статей посвящено описанию отдельных частей системы;
среди них два специальных выпуска "Bell System Technical Journal" за 1978 год [BSTJ 78] и за 1984 год [BSTJ 84]. Во многих книгах описывается пользовательский интерфейс, в частности использование электронной почты, подготовка документа-ции, работа с командным процессором Shell; в некоторых книгах, таких как "The UNIX Programming Environment" [Kernighan 84] и "Advanced UNIX Programming" [Rochkind 85], описывается программный интерфейс. Данная работа посвящена основным особенностям системы UNIX.
ОБЗОР ОСОБЕННОСТЕЙ СИСТЕМЫ
За время, прошедшее с момента ее появления в 1969 году, система UNIX
стала довольно популярной и получила распространение на машинах с различной
мощностью обработки, от микропроцессоров до больших ЭВМ, обеспечивая на них
общие условия выполнения программ. Система делится на две части. Одну часть
составляют программы и сервисные функции, то, что делает операционную среду
UNIX такой популярной; эта часть легко доступна пользователям, она включает
такие программы, как командный процессор, обмен сообщениями, пакеты обработ-
ки текстов и системы обработки исходных текстов программ. Другая часть вклю-
чает в себя собственно операционную систему, поддерживающую эти программы и
функции. В этой работе дается детальное описание собственно операционной сис-
темы. Основное внимание концентрируется на описании системы UNIX версии V,
распространением которой занимается корпорация AT&T. Приводятся основные информационные структуры и алгоритмы, используемые в операционной системе и в конечном итоге создающие условия для функционирования стандартного пользовательского интерфейса.
1. ИСТОРИЯ
В 1965 году фирма Bell Telephone Laboratories, объединив свои усилия с
компанией General Electric и проектом MAC Массачусетского технологического
института, приступили к разработке новой операционной системы, получившей
название Multics [Organick 72]. Перед системой Multics были поставлены зада-
чи - обеспечить одновременный доступ к ресурсам ЭВМ большого количества
пользователей, обеспечить достаточную скорость вычислений и хранение данных
и дать возможность пользователям в случае необходимости совместно использо-
вать данные. Многие разработчики, впоследствии принявшие участие в создании
ранних редакций системы UNIX, участвовали в работе над системой Multics в
фирме Bell Laboratories. Хотя первая версия системы Multics и была запущена
в 1969 году на ЭВМ GE 645, она не обеспечивала выполнение главных вычисли-
тельных задач, для решения которых она предназначалась, и не было даже ясно,
когда цели разработки будут достигнуты. Поэтому фирма Bell Laboratories
прекратила свое участие в проекте.
По окончании работы над проектом Multics сотрудники Исследовательского
центра по информатике фирмы Bell Laboratories остались без "достаточно инте-
рактивного вычислительного средства" [Ritchie 84a]. Пытаясь усовершенство-
вать среду программирования, Кен Томпсон, Дэннис Ричи и другие набросали на
бумаге проект файловой системы, получивший позднее дальнейшее развитие в
ранней версии файловой системы UNIX. Томпсоном были написаны программы, имитирующие поведение предложенной файловой системы в режиме подкачки данных по запросу, им было даже создано простейшее ядро операционной системы для ЭВМ GE 645. В то же время он написал на Фортране игровую программу "Space Travel" ("Космическое путешествие") для системы GECOS (Honeywell 635), но программа не смогла удовлетворить пользователей, поскольку управлять "косми-
ческим кораблем" оказалось сложно, кроме того, при загрузке программа занимала много места. Позже Томпсон обнаружил малоиспользуемый компьютер PDP-7,
оснащенный хорошим графическим дисплеем и имеющий дешевое машинное время.
Создавая программу "Космическое путешествие" для PDP-7, Томпсон получил воз-
можность изучить машину, однако условия разработки программ потребовали ис-
пользования кросс-ассемблера для трансляции программы на машине с системой
GECOS и использования перфоленты для ввода в PDP-7. Для того, чтобы улучшить
условия разработки, Томпсон и Ричи выполнили на PDP-7 свой проект системы,
включивший первую версию файловой системы UNIX, подсистему управления процессами и небольшой набор утилит. В конце концов, новая система больше не
нуждалась в поддержке со стороны системы GECOS в качестве операционной среды
разработки и могла поддерживать себя сама. Новая система получила название
UNIX, по сходству с Multics его придумал еще один сотрудник Исследовательского центра по информатике Брайан Керниган.
Несмотря на то, что эта ранняя версия системы UNIX уже была многообещаю-щей, она не могла реализовать свой потенциал до тех пор, пока не получила
применение в реальном проекте. Так, для того, чтобы обеспечить функциониро-
вание системы обработки текстов для патентного отдела фирмы Bell
Laboratories, в 1971 году система UNIX была перенесена на ЭВМ PDP-11. Систе-
ма отличалась небольшим объемом: 16 Кбайт для системы, 8 Кбайт для программ
пользователей, обслуживала диск объемом 512 Кбайт и отводила под каждый файл
не более 64 Кбайт. После своего первого успеха Томпсон собрался было написать для новой системы транслятор с Фортрана, но вместо этого занялся языком Би (B), предшественником которого явился язык BCPL [Richards 69]. Би был интер-претируемым языком со всеми недостатками, присущими подобным языкам, поэ-
тому Ричи переделал его в новую разновидность, получившую название Си (C) и
разрешающую генерировать машинный код, объявлять типы данных и определять
структуру данных. В 1973 году система была написана заново на Си, это был
шаг, неслыханный для того времени, но имевший огромный резонанс среди сто-