Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС - ответы.doc
Скачиваний:
110
Добавлен:
15.06.2014
Размер:
743.94 Кб
Скачать

Мультипрограммирование в системах разделения времени

 

 

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

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

Ясно, что системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, та как на выполнение принимается каждая запущенная пользователем задача, а не та, которая «выгодна» системе. Мультипрограммное выполнение интерактивных приложений повышает пропускную способность компьютера (не в такой степени, как пакетные системы). Аппаратура загружается лучше, поскольку в то время, пока одно приложение ждёт сообщение пользователя, другие приложения могут обрабатываться процессором.

 

Мультипрограммирование в системах реального времени

 

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

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

Билет 7

(Функции подсистемы управления процессами. Разновидности задач: процессы и потоки (нити))

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

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

По генеалогическому признаку различают порождающие и порож­денные процессы.

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

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

По месту развития процессы делятся на внутренние (реализуются на центральном процессоре) и внешние (реализуются на внешних процессорах).

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

По связности различают процессы:

а) взаимосвязанные – имеющие какую-то связь (простран­ственно-временную, управляющую, информационную);

б) изолированные – слабо связанные;

в) информационно-независимые – использующие совмест­ные ресурсы, но имеющие собственные информационные базы;

г) взаимодействующие – имеющие информационные связи и раз­деляющие общие структуры данных;

д) взаимосвязанные по ресурсам;

е) конкурирующие.

Порядок взаимосвязи процессов определяется правилами синхро­низации. Процессы могут находиться в отношении:

а) предшествования – когда один процесс всегда находится в активном состо­янии раньше, чем другой;

б) приоритетности – когда процесс может быть переведен в ак­тивное состояние только в том случае, если в состоянии готовности нет процессов с более высоким приоритетом, или если свобо­ден процессор, или если на процессоре реализуется процесс с меньшим приоритетом;

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

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

Соседние файлы в предмете Операционные системы