WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 3 | 4 || 6 | 7 |   ...   | 32 |

При организации работы с вычислительной системой в диалоговом режиме можно говорить об однопользовательских (однотерминальных) и многопользовательских (мультитерминальных) ОС. В мультитерминальных ОС с одной вычислительной системой одновременно могут работать несколько пользователей, каждый со своего терминала. При этом у пользователей возникает иллюзия, что у каждого из них имеется собственная вычислительная система. Очевидно, что для организации мультитерминального доступа к вычислительной системе необходимо обеспечить мультипрограммный режим работы. В качестве одного из примеров мультитерминальных ОС для персональных компьютеров можно назвать Linux. Некая имитация мультитерминальных возможностей имеется и в системе Windows XP. В этой ОС каждый пользователь после регистрации (входа в систему) получает свою виртуальную машину. Если необходимо временно предоставить компьютер другому пользователю, вычислительные процессы первого можно не завершать, а просто для этого другого пользователя система создает новую виртуальную машину. В результате компьютер будет выполнять задачи и первого, и второго пользователя. Количество параллельно работающих виртуальных машин определяется имеющимися ресурсами. Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей.

Кроме того, если в ОС отсутствуют или присутствуют средства поддержки многопроцессорной обработки, они могут быть разделены на многопроцессорные и однопроцессорные. Как правило, функции мультипроцессирования имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft, NetWare 4.1 фирмы Novell, однако, очевидно, их наличие усложняет алгоритмы управления ресурсами. В свою очередь, многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС.

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

Следует отметить еще один признак, по которому разделяют ОС – организация работы с вычислительной сетью. По этому признаку выделяют сетевые ОС и распределенные ОС (следует отметить, что иногда в литературе такое разделение отсутствует). Сетевая ОС характеризуется тем, что наделена развитыми функциями работы с сетью, а также контроля доступа к файлам (систему прав доступа). К сетевым ОС относят как системы для рабочих мест (Novell for DOS, MS Windows, GNU/Linux), так серверные ОС (GNU/Linux, семейство BSD-систем, серверные версии MS Windows, NetWare), а также специализированные ОС сетевого оборудования (Cisco IOS5) [17].

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

Внешне распределенная ОС выглядит как обычная автономная система, а ее внутреннее строение имеет существенные отличия от автономных систем.

Также ОС классифицируют по архитектуре, в которой они реализованы. Виды архитектур, в которых реализуются ОС, достаточно подробно изложены выше в п. 2.1.

2.3 Вопросы для самопроверки 1. В каких архитектурах реализуют операционные системы 2. Чем характеризуется ОС, реализованная в архитектуре «монолитное ядро» Первоначально – Internetwork Operating System 3. В чем отличие работы аппаратуры компьютера в пользовательском режиме и в режиме ядра 4. Какие недостатки вызывает использование ОС в архитектуре монолитное ядро Что означает модульное ядро 5. Чем характеризуется ОС, реализованная в микроядерной архитектуре 6. В чем заключаются достоинства и недостатки ОС, реализованных в микроядерной архитектуре 7. Чем характеризуется многоуровневая ОС В чем ее достоинства и недостатки 8. Какова обобщенная структура виртуальной машины Назовите примеры современных виртуальных машин 9. Что такое смешанные (гибридные) ОС Какие ОС реализованы в этой архитектуре 10. По каким признакам классифицируют ОС 11. В чем отличие мультипрограммного режима работы ОС от мультизадачного 12. Что означают понятия вытесняющая и невытесняющая многозадачность 13. Что означает симметричная и ассиметричная мультипроцессорная обработка 14. В чем отличие сетевых и распределенных ОС 3. УПРАВЛЕНИЕ ПРОЦЕССАМИ 3.1 Мультипрограммирование Мультипрограммирование – это режим обработки данных, при котором ресурсы вычислительной системы предоставляются каждому процессу из группы процессов обработки данных, находящихся в вычислительной системе, на интервалы времени, длительность и очередность предоставления которых определяется управляющей программой этой системы с целью обеспечения одновременной работы в интерактивном режиме.

Суть мультипрограммного режима работы ОС заключается в том, что пока одна программа (один вычислительный процесс) ожидает завершения очередной операции ввода-вывода (подпись «Вв» на оси ординат), другая программа (процесс) может быть поставлена на решение (рис. 5). Это позволяет более полно использовать имеющиеся ресурсы (например, как видно из рисунка, центральный процессор начинает меньше простаивать) и уменьшить общее (суммарное) время, необходимое для решения некоторого множества задач.



Вв CPU Задача А Задача B а Вв CPU Задача А Вв CPU Задача B Рисунок 5 – Пример выполнения двух программ в мультипрограммном режиме На рис. 5 в качестве примера изображена гипотетическая ситуация, при которой благодаря совмещению во времени двух вычислительных процессов общее время их выполнения получается меньше, чем если бы их выполняли по очереди (запуск одного начинался бы только после полного завершения другого). Видно, что время выполнения каждого процесса в общем случае больше, чем если бы каждый из этих процессов выполнялся как единственный.

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

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

Наиболее характерными критериями эффективности вычислительных систем являются:

пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени;

удобство работы пользователей, заключающееся, в частности, в том, что они имеют возможность интерактивно работать одновременно с несколькими приложениями на одной машине;

реактивность системы – способность системы выдерживать заранее заданные (возможно, очень короткие) интервалы времени между запуском программы и получением результата.

Как было отмечено выше в п. 2.2, в зависимости от выбранного критерия эффективности, ОС делят на системы пакетной обработки, системы разделения времени и системы реального времени, каждая из которых имеет свои особенности реализации мультипрограммирования, причем некоторые ОС могут поддерживать несколько режимов. Учитывая все это, рассмотрим более подробно особенности реализации мультипрограммирования для каждого из рассмотренных типов ОС.

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

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

Для достижения этой цели в системах пакетной обработки используется следующая схема функционирования. В начале работы формируется пакет заданий, каждое из которых содержит требование к системным ресурсам. Из пакета заданий формируется мультипрограммная «смесь», то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие разные требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины. Например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом.

Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается «выгодное» в некотором смысле задание. Следовательно, в вычислительных системах, работающих под управлением пакетных ОС, невозможно гарантировать выполнение того или иного задания в течение определенного периода времени. Кроме того, переключение процессора с выполнения одной задачи на выполнение другой происходит по инициативе самой активной задачи, например, когда она отказывается от процессора из-за необходимости выполнить операцию ввода-вывода.

Поэтому существует высокая вероятность того, что одна задача может надолго занять процессор и выполнение интерактивных задач станет невозможным.

Взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок повышает эффективность функционирования аппаратуры, но снижает эффективность работы пользователя.

3.1.2 Мультипрограммирование в системах разделения времени С целью повышения удобства и эффективности работы пользователя применяют другой способ мультипрограммирования –разделения времени. В системах разделения времени пользователю (пользователям) предоставляется возможность интерактивной работы с несколькими приложениями одновременно. В системах разделения времени эта проблема решается за счет того, что ОС принудительно периодически приостанавливает приложения, не дожидаясь, когда они добровольно освободят процессор. Всем приложениям попеременно выделяется квант процессорного времени, поэтому пользователи, запустившие программы на выполнение, получают возможность поддерживать с ними диалог.





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

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

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

3.1.3 Мультипрограммирование в системах реального времени Еще одна разновидность мультипрограммирования используется ОСРВ, предназначенных, как отмечено выше в п. 2.2, для управления с помощью компьютера различными техническими объектами или технологическими процессами. Критерием эффективности этих систем является способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы – реактивностью. Требования ко времени реакции зависят от специфики управляемого процесса.

В ОСРВ «мультипрограммная смесь» представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется по прерываниям (исходя из текущего состояния объекта) или в соответствии с расписанием плановых работ.

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

В ОСРВ не стремятся максимально загружать все устройства, наоборот, при проектировании программного управляющего комплекса обычно закладывается некоторый «запас» вычислительной мощности на случай пиковой нагрузки. Статистические аргументы о низкой вероятности возникновения пиковой нагрузки, основанные на том, что вероятность одновременного возникновения большого количества независимых событий очень мала, не применимы ко многим ситуациям в реальных системах управления. Например, в системе управления атомной электростанцией в случае возникновения крупной аварии атомного реактора многие аварийные датчики сработают одновременно и создадут коррелированную нагрузку. Если ОСРВ не спроектирована для поддержки подобной пиковой нагрузки, то может случиться так, что система не справится с работой именно тогда, когда она нужна в наибольшей степени.

3.1.4 Мультипрограммирование при мультипроцессорной обработке Мультипроцессорная обработка – это способ организации вычислительного процесса в системах с несколькими процессорами, при котором несколько задач (процессов, потоков) могут одновременно выполняться на разных процессорах системы.

Мультипроцессорные вычислительные системы начали появляться с середины 80-х гг. и к настоящему моменту обычным делом является наличие нескольких процессоров даже в архитектуре персонального компьютера. Более того, многопроцессорность теперь является одним из необходимых требований, которые предъявляются к компьютерам, используемым в качестве центрального сервера крупной вычислительной сети.

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

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

Pages:     | 1 |   ...   | 3 | 4 || 6 | 7 |   ...   | 32 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.