Смекни!
smekni.com

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

Функции BIOS в МП-системе. В зависимости от многопроцессорных компонентов в МП-системе BIOS может иметь следующие функции:

1. Перевод АР в "спящий" режим.

2. Инициализация контроллеров APIC и других МП-компонент.

3. Создание таблицы конфигурации МП-системы.
2. Операционные системы для работы с многопроцессорными системами

Операцио́нная систе́ма, ОС (англ. operating system) — базовый комплекс компьютерных программ, обеспечивающий интерфейс с пользователем, управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит. Важное свойство ОС является отсутствие или наличие в ней средств поддержки мно-гопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами. В наши дни становится общепринятым введение в ОС функций поддержки многопроцессор-ной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT и NetWare 4.1, Windows 7. Многопроцессорные ОС могут клас-сифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС.

Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам.

Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.

Это характеристики, связанные с управлением только одним типом ресурсов - процессором. Важное влияние на облик операционной системы в целом, на воз-можности ее использования в той или иной области оказывают особенности и других подсистем управления локальными ресурсами - подсистем управления памятью, файлами, устройствами ввода-вывода. Специфика ОС проявляется и в том, каким образом она реализует сетевые функции: распознавание и перенапра-вление в сеть запросов к удаленным ресурсам, передача сообщений по сети, выполнение удаленных запросов. При реализации сетевых функций возникают задачи, связанные с распределенным характером хранения и обработки данных в сети: ведение справочной информации о всех доступных в сети ресурсах и серве-рах, адресация взаимодействующих процессов, обеспечение прозрачности досту-па, тиражирование данных, согласование копий, поддержка безопасности данных.


2.1 Первые операционные системы для работы в многопроцессорной конфигурации

Первой операционной системой для многопроцессорных систем была

операционная система COS (Cray Operating System 1976 год) предназначеная для режима пакетной обработки и дистанционной пакетной обработки заданий, полученных с удаленных терминалов. Операционная система рассчитывалась на мультипрограммную обработку одновременно до 63 активных задач. Для обеспечения работы в режиме дистанционного доступа в качестве машины-сателлита вычислительной системы Cray-1 используется минимашина "Eclipse". С этой машиной связаны внешние каналы центрального вычислителя с помощью специальных сопрягающих устройств. На минимашину возлагаются функции управления приемом-передачей информации, управления линиями связи, т. е. функции процессора передачи данных.

Позднее была разработа Unicos — название нескольких вариантов операционной системы Unix, созданных компанией Cray для своих суперкомпьютеров. Unicos является следующей операционной системой компании после Cray Operating System (COS). Она обеспечивала работу сетевых кластеров и совместимость на уровне исходного кода с некоторыми другими разновидностями Unix. Unicos впервые была представлена в 1985 году, в качестве операционной системы суперкомпьютера Cray-2, а позднее была портирована и на другие модели Cray

Наиболее развитые ОС, такие как OS/360 (IBM), SCOPE (CDC) и завершённый уже в 1970-х годах MULTICS (МТИ и Bell Labs), предусматривали возможность исполнения на многопроцессорных компьютерах.

Корпорация Be Inc. была создана в 1990 году бывшим исполнительным директором Apple Жаном-Луи Гассе с целью создать компьютерную систему нового поколения (заметим, что Гассе пошёл по пути предыдущего директора Apple Стива Джобса и его платформы NeXT). На подъёме энтузиазма Гассе и его соратники объединились, чтобы сделать простой в использовании, надёжный компьютер, свободный от пережитков прошлого. Планировалось создать именно компьютер, операционная система была только побочной целью. Например, файловая система не должна была содержать каталогов вообще, все файлы лежали на диске без распределения по директориям, а принадлежность к той или иной программе определялась на основе атрибутов — информации о файле, не записанной в самом файле.

Первые версии BeOS работали только на специально созданных компьютерах BeBox, которые тоже производились компанией Be, Inc.. Отличительными особенностями этих компьютеров были многопроцессорность (в одной из версий компьютера стояло 7 процессоров, в другой — 2), в двухпроцессорной версии — индикаторы загрузки процессоров на передней панели системного блока (известные также под названием Blinky Lights), тёмно-синий цвет системного блока и 52-битный порт на задней панели, известный под названием «Geek Port», с простым и удобным управлением для программиста — чтобы поощрять создание внешних устройств под BeOS. BeBox назывались «Silicon Graphics для бедняка» из-за их мощности, позволяющей творить чудеса с графикой, и относительно невысокой стоимости. Первые BeBox прототипы построены на AT&T Hobbit процессорах, но их производство было остановлено. Тогда Ве решила использовать PowerPC процессоры. С 1995 до 1997 всего было продано около двух тысяч компьютеров BeBox, большинство из которых работают и по сей день. Один из них можно увидеть в компьютерном музее в Бостоне. 30 января 1997 Be, Inc. объявила, что уходит из hardware бизнеса и BeBox производство было остановлено.

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.