Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Архитектура многопроцессорных операционных систем



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

• Одновременные параллельные процессы или потоки. Чтобы несколько раз­личных процессов могли одновременно выполнять один и тот же код ядра, он должен быть реентерабельным. При выполнении несколькими процессо­рами одного и того же кода ядра (или разных его частей) необходима орга­низация управления таблицами и управляющими структурами ядра, чтобы избежать взаимоблокировок или неправильного выполнения операции.

2 Описание аппаратной реализации схем когерентных кэшей представлено в [STALOO]

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

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

• Управление памятью. Система управления памятью в многопроцессорной системе должна быть способна разрешать все проблемы, возникающие в однопроцессорных машинах, а кроме того, операционная система должна уметь использовать возможности, предоставляемые аппаратным обеспечением, например многопортовую память. Механизмы страничной организации памяти разных процессоров должны быть скоординированы, чтобы обеспе­чить согласованность работы в ситуации, когда несколько процессоров используют одну и ту же страницу или один и тот же сегмент и принимают решение по вопросу замещения страниц.

• Надежность и отказоустойчивость. При отказе одного из процессоров опе­рационная система должна обеспечить продолжение корректной работы системы. Планировщик операционной системы (как и другие ее части) должен получить информацию о потере одного из процессоров и соответствующим образом перестроить свои управляющие таблицы.

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





Дата публикования: 2014-11-04; Прочитано: 284 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...