Многопроцессорные системы (Операционные системы UNIX)

Автор работы: Пользователь скрыл имя, 11 Сентября 2011 в 10:03, курсовая работа

Описание работы

Многопроцессорные системы (Операционные системы UNIX)»Прошло немногим более 50 лет с момента появления первых электронных вычислительных машин - компьютеров. За это время сфера их применения охватила практически все области человеческой деятельности. Сегодня невозможно представить себе эффективную организацию работы без применения компьютеров в таких областях, как планирование и управление производством, проектирование и разработка сложных технических устройств, издательская деятельность, образование - словом, во всех областях, где возникает необходимость в обработке больших объемов информации.

Содержание работы

Введение
Структура и специфика многопроцессорных систем
История появления и развития многопроцессорных систем
Общая структура многопроцессорной системы
Спецификация аппаратных средств многопроцессорной системы
Операционные системы для работы с многопроцессорными системами
Первые операционные системы для работы в многопроцессорной конфигурации
Виды многопроцессорных систем и операционные системы для работы с ними
Операционная система UNIX в многопроцессорной конфигурации
Общий обзор особенностей системы UNIX
Преимущества операционная система UNIX
Недостатки операционная система UNIX
Cистемы UNIX в многопроцессорной конфигурации
Проблемы, связанные с многопроцессорными системами и решение их в операционной системе UNIX

Заключение

Список используемой литературы

Файлы: 1 файл

курсовая работа.doc

— 177.50 Кб (Скачать файл)

BSD/OS - коммерческая  версия Berkley Software Distribution (BSD Unix) операционная система разработанная компанией Berkley Software Design, inc. (BSDI). Основное отличие от свободно распространяемых UNIX систем более серьёзная поддержка многопроцессорных архитектур и закрытых драйверов.

В январе 2003 года, была выпущена версия 5.0-RELEASE. Эта версия предоставляла расширенную поддержку многопроцессорности и многопоточности.

На сегодняшний  день в связи с переходом на ядерную конфигурацию наиболее популярные операционные системы Windows, а именно: Windows Vista и Windows 7. 
 
 
 

    2.2 Виды многопроцессорных  систем и операционные  системы для работы с ними

Основной  характеристикой при классификации  многопроцессорных систем является наличие общей (SMP системы) или распределенной (MPP системы) памяти. Это различие является важнейшим фактором, определяющим способы параллельного программирования и, соответственно, структуру программного обеспечения. 
Системы с общей памятью: к системам этого типа относятся компьютеры с SMP архитектурой, различные разновидности NUMA систем и мультипроцессорные векторно-конвейерные компьютеры. Характерным словом для этих компьютеров является "единый": единая оперативная память, единая операционная система, единая подсистема ввода-вывода. Только процессоры образуют множество. Единая UNIX-подобная операционная система, управляющая работой всего компьютера, функционирует в виде множества процессов. Каждая пользовательская программа также запускается как отдельный процесс. Операционная система сама каким-то образом распределяет процессы по процессорам. В принципе, для распараллеливания программ можно использовать механизм порождения процессов. Однако этот механизм не очень удобен, поскольку каждый процесс функционирует в своем адресном пространстве, и основное достоинство этих систем - общая память - не может быть использован простым и естественным образом. Для распараллеливания программ используется механизм порождения нитей - легковесных процессов, для которых не создается отдельного адресного пространства, но которые на многопроцессорных системах также распределяются по процессорам.  
Системы с распределенной памятью: в системах этого типа на каждом вычислительном узле функционирует собственные копии операционной системы, под управлением которых выполняются независимые программы. Это могут быть как действительно независимые программы, так и параллельные ветви одной программы. В этом случае единственно возможным механизмом взаимодействия между ними является механизм передачи сообщений. Наиболее популярными операционными системами для данной архитектуры являются операционные системы семейства UNIX, а именно чаще всего используется LINUX. 
Кластерные технологии стали логическим продолжением развития идей, заложенных в архитектуре MPP систем. Если процессорный модуль в MPP системе представляет собой законченную вычислительную систему, то следующий шаг напрашивается сам собой: почему бы в качестве таких вычислительных узлов не использовать обычные серийно выпускаемые компьютеры. Привлекательной чертой кластерных технологий является то, что они позволяют для достижения необходимой производительности объединять в единые вычислительные системы компьютеры самого разного типа, начиная от персональных компьютеров и заканчивая мощными суперкомпьютерами. Кластер - это связанный набор полноценных компьютеров, используемый в качестве единого вычислительного ресурса. Преимущества кластерной системы перед набором независимых компьютеров очевидны. Во-первых, разработано множество диспетчерских систем пакетной обработки заданий, позволяющих послать задание на обработку кластеру в целом, а не какому-то отдельному компьютеру. Эти диспетчерские системы автоматически распределяют задания по свободным вычислительным узлам или буферизуют их при отсутствии таковых, что позволяет обеспечить более равномерную и эффективную загрузку компьютеров. Во-вторых, появляется возможность совместного использования вычислительных ресурсов нескольких компьютеров для решения одной задачи. Для создания кластеров обычно используются либо простые однопроцессорные персональные компьютеры, либо двух- или четырех- процессорные SMP-серверы. При этом не накладывается никаких ограничений на состав и архитектуру узлов. Каждый из узлов может функционировать под управлением своей собственной операционной системы. Чаще всего используются стандартные ОС: Linux, FreeBSD, Solaris, Tru64 Unix, Windows NT.

 

    3. Операционная  система UNIX в многопроцессорной конфигурации

    В середине 60-х годов сотрудники компании General Electrics, AT&T Bell Laboratories и Масачусетского института написали операционную систему Multics, в которой было реализовано то, о чем даже и не задумывались другие разработчики программных продуктов. Проект, из-за слабой развитости и отсутствия поддержки других разработчиков, был закрыт в конце 60-х годов.

    После Multics был разработан UNIX, который, в отличии от предшественницы, поддерживал не только многозадачность, но и работал на разных платформах, включая предков современных ПК, которых тогда называли как мини-компьютеры. В основе создания операционной системы лежит игра Space Travel, которая была разработана программистом Кеном Томпсоном. Так уж получилось, что игра не смогла заработать на компьютере того времени Honeywell 635, и поэтому Кен Томпсон ожидал выхода более мощного компьютера. В конце концов для того, чтобы игра заработала, пришлось в буквальном смысле этого слова создать для нее операционную систему. Пришлось усовершенствовать файловую систему для ускорения работоспособности системы, добавить функции управления системными устройствами, процессором, памятью. Управление всеми функциональными возможностями занимался мощный командный процессор Bourne Again Shell, в народе просто Bash. UNIX стал одной из первых POSIX-совместимых операционных систем. (POSIX - Portable Opereating System Interface for computer environments, интерфейс переносимой операционной системы.)

    За  весьма короткий срок операционная система  превратилась в мощную многозадачную  и многопользовательскую операционную систему, которую некто Браян  Керниган предложил назвать Unics, название походило от системы Multics, а уже позже Unics назвали короче - UNIX. Первой официальной версией системы является выпущенная в ноябре 1971 года система UNIX 1.0. Операционная система UNIX была написана на ассемблере. Кена Томпсона Деннис Ритчи предложил внести в исходный код операционной системы некоторые изменения, вплоть до того, что исходный код системы был позже написан с использованием языка программирования C.  

    Неофициально UNIX стал продаваемым программным  продуктом уже с 1972 года. Лицензию на владение системой покупали многие компании, включая IBM, Nowell и даже сама Microsoft. В 1975 году Калифорнийский университет в Беркли купил права на Unix и выпустил свою систему - Berkeley Software Distribution, BSD. позже последовали различные выпуски Unix BSD, BSD 4 и так далее, из которых до сегодняшнего дня сохранилась только FreeBSD - сетевая многозадачная и многопользовательская операционная система, ныне основной конкурент Linux.

    В 1980 году компания Microsoft, по велению моды, купила Unix и себе, создав на ее основе операционную систему Xenix. На основе данной операционной системы был выпущен MS DOS. Система была однозадачной и однопользовательской и не поддерживала многозадачность. Многие удивляются, почему команды DOS похожи на команды интерпретатора Unix? Просто потому что DOS - это сильно модифицированный UNIX.

    В конце 80-х годов UNIX был полноправным владельцем компьютерного рынка. К этому  времени в системе уже был  реализован четкий графический интерфейс  пользователя (GUI, Graphic User Interface), их в  составе системы обычно было два, которые частично сохранились и до наших времен: Motiff и Open Look. Позже эти два стандарта были объеденены в один: CDE - Common Desktop Environment, еще позже - KDE.

    За  время своего существования проект UNIX стал коммерческим и широкопродаваемым. На его основе была создана операционная система Minix (своего рода мини Unix). Распрастранялась система бесплатно, на основе общедоступной лицензии GPL (General Public Licence). Уже на основе Minix был создан гигант Linux, создатель которого Линус Торвальдс.

 

    3.1 Общий обзор особенностей  системы UNIX

За время, прошедшее с момента ее появления в 1969 году, система UNIX стала довольно популярной и получила распространение на машинах с различной мощностью обработки, от микропроцессоров до больших ЭВМ, обеспечивая на них общие условия выполнения программ. Система делится на две части. Одну часть составляют программы и сервисные функции, то, что делает операционную среду UNIX такой популярной; эта часть легко доступна пользователям, она включает такие программы, как командный процессор, обмен сообщениями, пакеты обработки текстов и системы обработки исходных текстов программ. Другая часть включает в себя собственно операционную систему, поддерживающую эти программы и функции.

Особенности UNIX, отличающие данное семейство от других ОС:

■ Файловая система древовидная, чувствительная к регистру символов в именах, очень слабые ограничения на длину имён.

■ Нет поддержки структурированных файлов ядром ОС, на уровне системных вызовов файл есть поток байт.

■ Командная строка находится в адресном пространстве запускаемого процесса, а не извлекается системным вызовом из процесса интерпретатора.

■ Ввод/вывод только через дескрипторы файлов.

■ Традиционно крайне слабая поддержка асинхронного ввода/вывода, по сравнению с VMS и Windows NT.

■ Интерпретатор команд есть обыкновенное приложение, общающееся с ядром обыкновенными системными вызовами (в RSX-11 и VMS интерпретатор команд выполнялся как специальное приложение, специальным образом размещенное в памяти, пользующееся специальными системными вызовами, поддерживались также системные вызовы, дающие возможность приложению обращаться к своему родительскому интерпретатору команд).

■ Команда командной строки есть не более чем имя файла программы, не требуется специальная регистрация и специальная разработка программ как команд (что являлось обычной практикой в RSX-11, RT-11).

■ Не принят подход с программой, задающей пользователю вопросы о режимах своей работы, вместо этого используются параметры командной строки (в VMS, RSX-11, RT-11 программы работали также с командной строкой, но при её отсутствии выдавали запрос на ввод команд).

■ Пространство имён устройств на диске в каталоге /dev, поддающееся управлению администратором, в отличие от подхода Windows, где это пространство имен размещается в памяти ядра, и администрирование этого пространства (например, задание прав доступа) крайне затруднено из-за отсутствия его постоянного хранения на дисках (строится каждый раз при загрузке).

■ Широкое использование текстовых файлов для хранения настроек, в отличие от двоичной базы данных настроек, как, например, в Windows.

■ Широкое использование утилит обработки текста для выполнения повседневных задач под управлением скриптов.

■ «Раскрутка» ОС после загрузки ядра путём исполнения скриптов стандартным интерпретатором команд.

■ Адресное пространство делится на глобальное для всех процессов ядро и на локальную для процесса части, нет «групповой» части адресного пространства, как в VMS и Windows NT, как и возможности загрузки туда кода и его исполнения там.

■ Использование двух уровней привилегий процессора вместо четырёх в VMS.

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

■ Отсутствие APC и аналогов, то есть произвольных (а не жестко перечисленных в стандартном множестве) сигналов, не доставляемых до явного пожелания процесса их получить (Windows, VMS).

Концепция сигнала уникальна для UNIX, и крайне сложна в переносе на другие ОС, такие, как Windows. 
 
 
 
 
 
 
 

3.1.1 Преимущества операционная  система UNIX

UNIX завоевала  высокую степень популярности. Одной из главных причин успеха являлся способ распространения системы. Корпорация AT&T, ограниченная законами в своих возможностях, продавала лицензии и исходные коды системы по достаточно низкой цене, поэтому UNIX стала популярной среди многих пользователей по всему миру. Так как в комплект поставки входили и исходные коды, пользователи имели возможность экспериментировать с ними, улучшать их, а также обмениваться друг с другом созданными изменениями. Корпорация AT&T встраивала многие из новшеств в следующие версии системы.

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

Оригинальная  версия UNIX имела хороший дизайн, который являлся базисом последующего успеха более поздних реализаций и вариантов системы. Одну из сильнейших сторон системы можно охарактеризовать выражением «красота в краткости». Ядро небольшого размера имело минимальный набор основных служб. Утилиты небольшого размера производили малый объем манипуляций с данными. Механизм конвейера совместно с программируемой оболочкой позволял пользователям комбинировать эти утилиты различными способами, создавая мощные, производительные инструменты.

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

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

Информация о работе Многопроцессорные системы (Операционные системы UNIX)