русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

UNIX Операционная система | ОС UNIX

Историческая справка

Историю возникновения операционной системы UNIX часто можно встре­тить во многих книгах, поэтому здесь она приводится лишь схематично — ос­новные этапы развития изображены на рис. 2.14, взятом из [SALU94].9
Изначально операционная система UNIX была разработана компанией Bell Labs и запущена в эксплуатацию в 1970 году на системе PDP-7. Некоторые со­трудники Bell Labs принимали участие также в работе над системой разделения времени, выполняемой в рамках проекта MAC в Массачусетском технологиче­ском институте. В результате выполнения этого проекта возникла операционная система CTSS, а затем Multics. Хотя часто говорят, что система UNIX — это уменьшенная версия Multics, сами разработчики UNIX утверждали, что на них в большей степени повлияла работа над CTSS [RITC78b]. Тем не менее в системе UNIX воплощено много идей, позаимствованных от Multics.

В результате разработки системы UNIX в компании Bell Labs, а впоследст­вии — ив других местах, появились различные версии этой операционной сис­темы. Первой значительной вехой стал перенос системы UNIX с PDP-7 на PDP-11. Это послужило первым указанием на тот факт, что система UNIX может быть использована в качестве операционной системы на всех компьютерах.
Вторым важным этапом развития этой системы стало то, что она была переписана на языке программирования С. Для того времени это было неслыханно. Считалось, что такая сложная программа, какой является операционная система, для которой важным параметром является время ее работы, должна быть написана только на языке ассемблера. Реализация на языке С продемонстрировала пре­имущество языка программирования высокого уровня если не для всех, то для подавляющего большинства фрагментов системного кода. В настоящее время почти все реализации операционной системы UNIX написаны на С

 

V1

Linux
Рис. 2.14. История развития системы UNIX

Ранние версии UNIX были очень популярны в пределах компании Bell Labs. В 1974 году система UNIX была впервые описана в техническом журнале [RITC74], что вызвало к ней большой интерес. Лицензии на UNIX были предоставлены ком­мерческим организациям и университетам. Версия 6 этой системы, появившаяся в 1976 году, стала первой широко используемой за пределами Bell Labs версией. Следующая версия, версия 7, выпущенная в 1978 году, стала прототипом большинства современных систем UNIX. Наиболее важные системы, не являющиеся продуктами фирмы AT&T, были разработаны в Калифорнийском университете в Беркли и полу­чили название UNIX BSD; они эксплуатировались на машинах PDP и VAX. Фирма AT&T доработала и улучшила эти системы. В 1982 году компания Bell Labs скомби­нировала несколько вариантов системы UNIX фирмы AT&T в единую систему, кото­рая появилась в продаже под названием UNIX System III. Впоследствии к этой опе­рационной системе было добавлено несколько новых возможностей, в результате че­го появилась система UNIX System V.

 

 

Описание

Рис. 2.15 дает общее представление об архитектуре системы UNIX. Лежащее в основе аппаратное обеспечение окружено программным обеспечением операционной системы. Операционную систему часто называют системным ядром или просто ядром, чтобы подчеркнуть ее изолированность от пользователя и приложений. Именно эта часть системы UNIX будет представлять для нас интерес в данной книге. Однако UNIX снабжается различными пользовательскими сервисами и интерфейса­ми, которые рассматриваются как часть этой системы. Их можно сгруппировать в оболочку, интерфейс и компоненты компилятора С (компилятор, ассемблер, загруз­чик). Внешний по отношению к этой части системы уровень состоит из приложений пользователя и интерфейса компилятора С.


Рис. 2.15. Общая архитектура системы UNIX

Рис. 2.16 дает более полное представление о системе. Программы пользова­теля могут вызывать сервисы операционной системы непосредственно либо с по­мощью библиотечных программ. Интерфейс системных вызовов позволяет про­граммам высших уровней получить доступ к определенным функциям ядра. Нижние уровни операционной системы содержат простые программы, которые непосредственно взаимодействуют с аппаратным обеспечением. Между этими уровнями находятся компоненты системы; их можно разделить на две основные части, одна из которых относится к управлению процессами, а другая — к вво­ду-выводу. Подсистема управления процессами отвечает за управление памятью, распределение ресурсов между процессами, диспетчеризацию, синхронизацию и за взаимодействие разных процессов. Файловая система производит обмен дан­ными между памятью и внешними устройствами либо в виде потоков символов, либо в виде блоков с использованием различных драйверов устройств. Поблоч­ная передача данных осуществляется с участием дискового кэша — системного буфера основной памяти, являющегося промежуточным звеном между адресным пространством пользователя и внешним устройством.


Программы пользователя
Рис. 2.16. Ядро традиционной системы UNIX [BACH86]

В этом разделе рассказывается о тех системах UNIX, которые можно на­звать традиционными; в [VAHA96] этот термин используется, когда речь идет о System V Release 3 (SVR3), 4.3BSD и более ранних версиях. Ниже приведены общие положения, касающиеся традиционных систем UNIX. Они предназначены для работы на однопроцессорных системах и не обладают достаточной возможностью по защите своих структур данных от одновременного доступа при работе на нескольких процессорах. Их ядра не слишком разносторонни; они поддерживают один тип файловой системы, стратегии распределения ресурсов между процессами и формата исполняемых файлов. Ядро традиционной системы UNIX не является наращиваемым, в нем мало возможностей повторного использования кода. Все это приводило к тому, что при добавлении в очередных версиях UNIX новых возможностей приходи­лось в больших количествах писать новый код. В результате ядро оказыва­лось громоздким и немодульным.

 

 

СОВРЕМЕННЫЕ СИСТЕМЫ UNIX

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

А теперь перейдем к рассмотрению некоторых примеров современных систем UNIX.

 

 

System V Release 4 (SVR4)

Версия SVR4, разработанная совместно компаниями AT&T и Sun Microsys­tems, сочетает в себе особенности версий SVR3, 4.3 BSD, Microsoft Xenix System V и SunOS. Ядро System V было почти полностью переписано, в результате чего появилась очищенная от всего лишнего, хотя и сложная реализация. Среди но­вых возможностей этой версии следует отметить поддержку обработки данных в реальном времени, наличие классов планирования процессов, динамически рас­пределяемые структуры данных, управление виртуальной памятью, наличие виртуальной файловой системы и ядра с вытеснением.

При создании системы SVR4 объединились усилия как коммерческих, так и академических разработчиков; разработка системы велась, чтобы обес­печить унифицированную платформу для коммерческих реализаций опера­ционной системы UNIX. Эта цель была достигнута, a SVR4 на данный мо­мент, по-видимому, является важнейшей версией UNIX. В ней удачно (с точки зрения конкурентоспособности) сочетаются наиболее важные возмож­ности, реализованные во всех предыдущих системах UNIX. Система SVR4 может работать на компьютерах самых разнообразных типов, начиная с ма­шин, в которых установлены 32-разрядные процессоры, и заканчивая супер­компьютерами; эта система является важнейшей из всех ранее разработан­ных операционных систем. Именно из нее взяты многие примеры, приведен­ные в этой книге для иллюстрации работы системы UNIX.


сетевого устройства                  Драйвер телетайп
Рис. 2.17. Ядро современной системы UNIX [VAHA96J

 

Solaris 2.x

Система Solaris — это версия операционной системы UNIX, разработанная фирмой Sun на основе SVR4. На время написания книги последней вышедшей вер­сией Solaris была версия 2.8. Реализации системы Solaris версии 2 обладают всеми возможностями системы SVR4, а также некоторыми дополнительными, такими, как полная вытесняемость, наличие многопоточного ядра, полнофункциональная под­держка SMP и объектно-ориентированный интерфейс файловых систем. Solaris — это наиболее широко применяемая и пользующаяся коммерческим успехом реализа­ция операционной системы UNIX. Некоторые примеры возможностей операционных систем, встречающиеся в этой книге, взяты из Solaris.

 

 

4.4BSD

Важную роль в развитии теории устройства операционных систем сыг­рала серия версий системы UNIX, разработанных в Калифорнийском универ­ситете. Серия 4.xBSD широко используется в академических организациях; она послужила основой для создания многих коммерческих продуктов UNIX. По мнению автора, именно благодаря версиям этой серии UNIX приобрела свою популярность, а многие улучшения этой операционной системы впер­вые появились в версиях BSD.
Последней версией этой серии, выпущенной в Беркли, является система 4.4BSD. Эта версия является основным обновлением версии 4.3BSD, куда вошли новая система управления виртуальной памятью, ядро с измененной структурой, а также длинный список улучшений других возможностей.

Просмотров:

Вернуться в оглавление:Операционные системы




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.