Многопроцессорные системы Операционные системы UNIX
Введение 1. Структура и специфика многопроцессорных систем 1.1. История появления и развития многопроцессорных систем 1.2. Общая структура многопроцессорной системы 1.3. Спецификация аппаратных средств многопроцессорной системы 2. Операционные системы для работы с многопроцессорными системами 2.1. Первые операционные системы для работы в многопроцессорной конфигурации 2.2. Виды многопроцессорных систем и операционные системы для работы с ними 3. Операционная система UNIX в многопроцессорной конфигурации 3.1. Общий обзор особенностей системы UNIX 3.1.1. Преимущества операционная система UNIX 3.1.2. Недостатки операционная система UNIX 3.2. Cистемы UNIX в многопроцессорной конфигурации 3.3. Проблемы, связанные с многопроцессорными системами и решение их в операционной системе UNIX Заключение Список используемой литературы Исполнитель:__________/ Семенко Ю.В. / Руководитель:__________/ Павлов В.Н. / Дата:___________
Содержание ВВЕДЕНИЕ ....................................................................................................................................... 5 1. Структура и специфика многопроцессорных систем ................................................. 6 1.1 История появления и развития многопроцессорных систем ..................................................... 7 1.2 Общая структура многопроцессорной системы ....................................................................... 10 1.3 Спецификация аппаратных средств многопроцессорной системы........................................... 12 2. Операционные системы для работы с многопроцессорными системами ........ 14 2.1 Первые операционные системы для работы в многопроцессорной конфигурации ................ 15 2.2 Виды многопроцессорных систем и операционные системы для работа с ними..................... 17 3. Операционная система UNIX в многопроцессорной конфигурации.........................19 3.1 Общий обзор особенностей системы UNIX............................................................................... 21 3.1.1 Преимущества операционная система UNIX...................................................................... 23 3.1.2 Недостатки операционная система UNIX............................................................................ 25 3.2 Cистемы UNIX в многопроцессорной конфигурации................................................................ 27 3.3 Проблемы, связанные с многопроцессорными системами и решение их в операционной системе UNIX................................................................................................................................................... 30 ЗАКЛЮЧЕНИЕ .............................................................................................................................. 37 Список литературы ...................................................................................................................... 38
В ВЕДЕНИЕ Прошло немногим более 50 лет с момента появления первых электронных вычислительных машин - компьютеров. За это время сфера их применения охватила практически все области человеческой деятельности. Сегодня невозможно представить себе эффективную организацию работы без применения компьютеров в таких областях, как планирование и управление производством, проектирование и разработка сложных технических устройств, издательская деятельность, образование - словом, во всех областях, где возникает необходимость в обработке больших объемов информации. Однако наиболее важным по-прежнему остается использование их в том направлении, для которого они собственно и создавались, а именно, для решения больших задач, требующих выполнения громадных объемов вычислений. Такие задачи возникли в середине прошлого века в связи с развитием атомной энергетики, авиастроения, ракетно-космических технологий и ряда других областей науки и техники. Потребность решения сложных прикладных задач с большим объемом вычислений и принципиальная ограниченность максимального быстродействия "классических" - по схеме фон Неймана - ЭВМ привели к появлению многопроцессорных вычислительных систем (МВС). Использование таких средств вычислительной техники позволяет существенно увеличивать производительность ЭВМ при любом существующем уровне развития компьютерного оборудования. При этом, однако, необходимо "параллельное" обобщение традиционной - последовательной - технологии решения задач на ЭВМ. Так, численные методы в случае многопроцессорных систем должны проектироваться как системы параллельных и взаимодействующих между собой процессов, допускающих исполнение на независимых процессорах. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами, следовательно должно создаваться специальное программное обеспечение для решения этих проблем, а следовательно операционные системы для работы в многопроцессорной конфигурации. Курсовая работа содержит: 38 страниц; 2 рисунка; 7 литературных источников. 1. Структура и специфика многопроцессорных систем Многопроцессорная архитектура, включает в себя два и более центральных процессоров (ЦП), совместно использующих общую память и периферийные устройства (Рис.1), располагая большими возможностями в увеличении производительности системы, связанными с одновременным исполнением процессов на разных ЦП. Каждый ЦП функционирует независимо от других, но все они работают с одним и тем же ядром операционной системы. Поведение процессов в такой системе ничем не отличается от поведения в однопроцессорной системе - с сохранением семантики обращения к каждой системной функции - но при этом они могут открыто перемещаться с одного процессора на другой. Хотя, это не приводит к снижению затрат процессорного времени, связанного с выполнением процесса. Отдельные многопроцессорные системы называются системами с присоединенными процессорами, поскольку в них периферийные устройства доступны не для всех процессоров. Параллельная работа нескольких процессоров в режиме ядра по выполнению различных процессов создает ряд проблем, связанных с сохранением целостности данных и решаемых благодаря использованию соответствующих механизмов защиты. Рис 1. Многопроцессорная конфигурация
1.1. История появления и развития многопроцессорных систем Первым было изобретение процессоров, способных выполнять операции не над содержимым одного или нескольких регистров, а над более крупными фрагментами данных. Их появление связывают с проектом Solomon (1962 год). История развития многопроцессорных вычислительных систем берёт начало с появления в 70-е годы первого суперкомпьютера семейства CRAY-1. Аналогичный принцип работы с данными был реализован в самой производительной машине своего времени ILLIAC IV (1972). Если процессор, используя одну команду, может выполнять действия над векторами, то его называют векторным процессором. Впоследствии Сеймур Крей использовал векторные принципы при разработке своих суперкомпьютеров, начиная с Cray-1. После введения нового класса векторных процессоров обычные процессоры стали «скалярными»; именно поэтому на следующем шаге появились решения с названием «суперскалярные процессоры». Идея суперскалярности заключается в том, что процессор просматривает приближающиеся к исполнению команды и выбирает из них те последовательности, которые могут быть выполнены параллельно. Родоначальником этой идеи был тот же Крей; он реализовал ее в 1965 году в компьютере CDC 6600, затем в процессорах Intel i960 (1988 год) и AMD 29050 (1990) это идея была воспроизведена. Усовершенствованием фон-неймановской архитектуры является распараллеливание потоков. Данная технология существует в нескольких версиях; среди них — одновременная многопоточность (SMT) и многопоточность на уровне кристалла (CMT). Эти два подхода в основном различаются представлением о том, что есть «поток». Хронологически первым процессором, поддерживающим многопоточность, был процессор DEC Alpha EV4 21064. Драматическая судьба этого процессорного семейства была и остается предметом серьезных обсуждений. Процессор поддерживает деление на два потока команд, выбираемых из одной задачи в режиме SMT, что обеспечивает суммарное повышение производительности примерно на 30%. Первыми представителями архитектуры CMP (ядра на кристалле) стали процессоры, предназначенные для использования в серверах, это был простой тандем, в таких приборах на одной подложке размещаются два, по сути, независимых ядра. Помимо экономии места подобное решение дает ощутимую экономию энергии, поскольку часть системотехнических компонентов является общей для обоих ядер. О параллелизме как о светлом будущем компьютерных систем ученые упорно говорили на протяжении всех последних 30-35 лет. Однако до тех пор, пока преодоление связанных с этим сложностей, например с необходимостью разделения приложений на потоки, компенсировалось непрерывно возрастающей производительностью процессоров, никто из производителей по понятным причинам инвестировать в эту перспективу не хотел. Поэтому до появления многоядерных процессоров параллельные вычисления оставались атрибутом суперкомпьютеров. Идея перехода на многоядерные процессоры появилась недавно, примерно начиная с 2005 года, но она не нова. Еще в далекие 60-е годы преимущества нескольких процессорных ядер перед одним обосновал Сеймур Крей, затем он реализовал свой замысел в суперкомпьютере CDC 6600. Но в силу консервативности взглядов проектировщиков дальнейшего развития этот подход к проектированию центрального процессорного устройства не получил. Возрождение многоядерности произошло благодаря инженерам корпорации Digital Equipment. Во второй половине 90-х задумались о многоядерности в микропроцессорах; это произошло при переходе процессора от Alpha 21164 (EV5) к Alpha 21264 (EV6). Тогда исследователям удалось установить две важные закономерности, распространяющиеся на процессоры. Во-первых, оказалось, что для линейного роста производительности монолитных (одноядерных) процессоров требуется обеспечить квадратичный рост числа транзисторов. Во-вторых, как следствие, также нелинейно возрастет сложность проектирования. Элементарное рассуждение подсказывает, что суммирование производительности нескольких ядер даст ту же совокупную производительность, что и одно ядро при меньшем числе транзисторов. Вопрос в том, как объединить мощности отдельных ядер, в этом состоит коренная проблема многоядерности. Реакцией на обнаруженные проблемы стал проект Piranha, предполагавший создание 8-ядерного процессора, где каждое ядро должно было иметь отдельную кэш-память для команд и данных, для совместной работы процессоры объединялись коммутатором. Однако после перехода в ведение Compaq проект Piranha был похоронен, процессор так и не был реализован. Параллельно с проектом Piranha группа исследователей из Стэндфордского университета во главе с Кунле Олокотуном работала над «многоголовым процессором» Hydra. В качестве ядра использовался процессор MIPFS 4600. Работа дала хорошие результаты. Впоследствии Sun Mirosystems купила эту компанию и, заменив ядро MIPFS 4600 на UltraSPARC II и увеличив число ядер вдвое, выпустила экспериментальный процессор Niagara, получивший в серии наименование UltraSPARC T1. Успеху Niagara способствовало то, что в Sun велась собственная разработка двухъядерного процессора MAJC 5200, где каждое ядро способно обрабатывать четыре потока команд. Процессор UltraSPARC T1 является конвергенцией Hydra и MAJC 5200. У IBM разработки многоядерных процессоров заметно связаны с производством игр. Так, процессор Xenon предназначен для игровой консоли. Другой проект, Cell, включает двухпотоковое ядро SMT Power и восемь ядер, которые называют синергетическими процессорными элементами (Synergistic Processing Element, SPE), работающими по принципу SIMD. Основное ядро Power выполняет команды из системы команд PowerPC, поддерживая специализированную систему команд SPE. С очевидным опозданием свои предложения сделали корпорации AMD и Intel: борьба на многоядерном поле стала и для производителей процессоров архитектуры x86 одним из самых актуальных вопросов сегодняшнего дня.
1.2. Общая структура многопроцессорной системы При построении многопроцессорной архитектуры может использоваться одна из нескольких концептуальных моделей соединения вычислительных элементов. На рис.2 показана общая структура МП-системы: связанная архитектура с общей памятью с распределенной обработкой данных и прерываний ввода-вывода. Она полностью симметрична; т. е. все процессоры функционально идентичны и имеют одинаковый статус, и каждый процессор может обмениваться с каждым другим процессором. Симметричность имеет два важных аспекта: симметричность памяти и ввода-вывода. Память симметрична, если все процессоры совместно используют общее пространство памяти и имеют в этом пространстве доступ с одними и теми же адресами. Симметричность памяти предполагает, что все процессоры могут исполнять единственную копию ОС. Требование симметричности ввода-вывода выполняется, если все процессоры имеют возможность доступа к одним и тем же подсистемам ввода-вывода, причем любой процессор может получить прерывание от любого источника. Рис.2 Архитектура многопроцессорной системы. Основные компоненты Системные процессоры . В целях обеспечения совместимости с существующими программными средствами, спецификация основывается на процессорах семейства Intel 486 или Pentium. Хотя все процессоры в МП-системе функционально идентичны, спецификация выделяет два их типа: загрузочный процессор(BSP) и прикладные процессоры(AP). Какой процессор играет роль загрузочного, определяется аппаратными средствами или совместно аппаратурой и BIOS. Это сделано для удобства и имеет значение только во время инициализации и выключения. BSP-процессор отвечает за инициализацию системы и за загрузку ОС. AP-процессор активизируется после загрузки ОС. Контроллеры APIC. Данные контроллеры обладают распределенной архитектурой, в которой функции управления прерываниями распределены между двумя функциональными блоками: локальным и ввода-вывода. Эти блоки обмениваются информацией через шину, называемую шиной коммуникаций контроллера прерываний. Блоки APIC совместно отвечают за доставку прерывания от источника прерываний до получателей по всей МП-системе. Системная память . В системах, совместимых с МП-спецификацией, используется архитектура памяти стандарта AT: вся память используется как системная за исключением адресов, зарезервированных под устройства ввода-вывода и BIOS. МП-системы нуждаются в высокой пропускной способности по сравнению с однопроцессорными. Требования возрастают пропорционально числу процессоров на шине памяти. Шина расширения ввода-вывода . Спецификация обеспечивает построение МП-систем на основе платформ PC/AT, отвечающих промышленным стандартам. В проектах могут быть использованы стандартные шины ISA, EISA, MCA, VL и PCI. BIOS выполняет функции слоя, изолирующего особенности аппаратных средств от ОС и программных приложений. В многопроцессорных системах BIOS выполняет следующие функции: проверяет системные компоненты; строит таблицы конфигурации, используемые ОС; инициализирует процессор и всю остальную систему; дополнительно: передает информацию о конфигурации в ОС, которая идентифицирует все процессоры и другие компоненты МП-систем; переводит все процессоры и другие компоненты многопроцессорной системы в заданное состояние. Одна из главных целей этой спецификации состоит в том, чтобы обеспечить возможность построения микроядерных ОС для многопроцессорных систем. 1.3. Спецификация аппаратных средств многопроцессорной системы Для того чтобы ОС могла работать на многопроцессорных платформах, аппаратные средства должны обладать определенным набором свойств. Конфигурация системной памяти. Спецификация МП-памяти основывается на стандартной карте памяти РС/АТ размером до 4 ГБайт. Кэшируемость и доступность физической памяти для процессоров . Кэшируется вся память за исключением области, отведенной для описания регистров локального блока APIC. Все процессоры имеют доступ к главной памяти и участкам памяти, отведенным под ROM BIOS. Управление памятью (блокировка) . Для защиты целостности некоторых критических операций с памятью Intel-совместимые процессоры используют специальный сигнал. Разработчики системных программных средств должны использовать этот сигнал для управления доступом процессоров к памяти. Для гарантии AT-совместимости блокировка некорректных операций с памятью в AT-совместимых шинах в согласованной системе должна реализовываться строго в соответствии со спецификациями на шины. Упорядочение записей в памяти . Применяется при управлении устройствами ввода-вывода, чтобы операции с памятью и вводом-выводом выполнялись строго в запрограммированном порядке. Строгое упорядочивание операций ввода-вывода поддерживается процессорами. Управление прерываниями . В МП-совместимой системе прерывания управляются контроллерами APIC используя по одному локальному блоку на процессор. Число блоков ввода-вывода должно быть не менее одного. Чтобы обеспечить расширение функций и внесение изменений в будущем, архитектура APIC определяет только программный интерфейс блоков APIC. Режимы прерывания . В спецификации определены три режима прерывания: 1. Режим PIC эффективно обходит все компоненты APIC и заставляет систему функционировать в Однопроцессорном режиме. 2. Режим виртуальной линии - использует APIC как виртуальную линию, в остальном совпадает с режимом PIC. 3. Режим симметричного ввода-вывода - позволяет работать с многими процессорами. Отображение памяти APIC . В согласованной МП-системе все контроллеры APIC должны быть реализованы как описанные в памяти устройства ввода-вывода. Базовые адреса APIC находятся в верхней части адресного пространства памяти. Все локальные блоки отображаются в одних и тех же адресах, которые не подлежат коллективному использованию, а используются каждым процессором индивидуально. Контроллеры ввода-вывода отображаются так, чтобы обеспечить их совместное использование всеми процессорами(полную симметричность доступа). Таймеры интервалов. Локальные блоки содержат 32-битный программируемый таймер с двумя независимыми входами. Таймеры блока ввода-вывода имеют один вход. Поддержка перезагрузки. Для приведения всех систем компьютера в начальное состояние требуется возможность перезагрузки системы. В системе может выполняться "жесткая" перезагрузка, которая устанавливает все компоненты системы в начальное состояние (при включении питания) "Мягкая" загрузка только частично инициализирует процессор. Таблицы конфигурации МП-систем ОС должна иметь доступ к информации о конфигурации МП-системы. Предусмотрено два метода передачи этой информации в ОС: минимальный, позволяющий задать конфигурацию посредством выбора одного из нескольких подразумеваемых наборов значений параметров аппаратуры; и максимальный, обеспечиващий высокую гибкость при проектировании аппаратных средств за счет произвольных установок. Функции BIOS в МП-системе . В зависимости от многопроцессорных компонентов в МП-системе BIOS может иметь следующие функции: 1. Перевод АР в "спящий" режим. 2. Инициализация контроллеров APIC и других МП-компонент. 3. Создание таблицы конфигурации МП-системы.
Курсовые работы по информатикеВведение 1. Структура и специфика многопроцессорных систем 1.1. История появления и развития многопроцессорных систем 1.2. Общая структура
Оценок: 448 (Средняя 5 из 5)
Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.
Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.