Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_po_MIUS_gotov_2.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
441.86 Кб
Скачать

Вопрос 40. Особенности операционных систем реального времени

Операционная система выполняет две функции: обеспечение програм­мисту-пользователю удобств путём автоматизации программирования неко­торых функций и эффективное использование ресурсов ЭВМ.

Например, для большинства ЭВМ весьма затруднительно создать в машинных кодах программу ввода данных с гибкого диска. Это потребовало бы использовать 16 различных команд, каждая из которых требует 13 пара­метров, таких как номер блока на диске, номер сектора на дорожке и т.д. Ко­гда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающих наличие и типы ошибок, которые, очевидно необхо­димо программным способом анализировать и на них реагировать.

Операционная система позволяет представить диск как набор файлов, каждый из которых имеет наименование. Работа с файлами сводится к их от­крытию, чтению или записи, а затем и закрытию. Остальную работу опера­ционная система выполняет сама. Операционная система берёт на себя также обработку прерываний, управление таймером и оперативной памятью и т.д.

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

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

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

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

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

Классификация операционных систем по способу управления одним из ресурсов, а именно процессором представлена на рис. 3.2.

По числу одновременно решаемых задач операционные системы мож­но разделить на однозадачные (например, MS-DOS) и многозадачные (ОС ЕС, UNIX, Window 95). Однозадачные операционные системы включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем. Многозадачные, кроме указан­ных выше функций, управляют разделением совместно используемых ресур­сов, таких как процессор, оперативная память, файлы, внешние устройства.

Многозадачные операционные системы можно разделить на три вида: системы пакетной обработки (например, ОС ЕС), системы разделения време­ни (UNIX, VMS) и системы реального времени (QNX, RT/11).

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

Главной целью и критерием эффективности системьгпакетной обработки является максимальная пропускная способностьТт^Гмаксимальное число решённых задач за определённое время. Для достижения этой цели в операционных системах пакетной обработки используется следующая схема функционирования: в начале работы формируется пакет заданий, каждое из которых содержит требование к системным ресурсам; оперативная система разрабатывает план выполнения заданий таким образом, чтобы обеспечить максимальное число одновременно выполняемых задач (формируется мультипрограммная смесь). Для этого выбираются задачи, отличающиеся требованиями к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной системы. Например, является желательным одновременное присутствие в мультипрограммной смеси вычислительных задач и задач с интенсивным вводом и выводом данных. В этом случае процессор и устройства ввода и вывода будут работать одновременно. Поэтому выбор очередной задачи из пакета зависит от складывающейся ситуации в данный момент, следовательно, в таких операционных системах невозможно гарантировать выполнение того или иного задания в течение определённого времени.

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

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

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

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

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

Следует заметить, что не всякая многозадачная система является мно­гопользовательской и не всякая однопользовательская операционная система является однозадачной.

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

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

Другим важным, свойством операционных систем можно считать от­сутствие или наличие в ней средств поддержки многопроцессорной обработ­ки, которая приводит к усложнению всех алгоритмов управления ресурсами. Современные операционные системы, как правило, имеют средства под­держки многопроцессорной обработки. Примером могут служить системы OS/2 фирмы IBM, Window NT фирмы Microsoft, NetWare 4.1 фирмы Novell и многие другие.

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

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

Специфика операционных систем проявляется и в том, каким образом она реагирует на сетевые функции: распознавание и перенаправление в сеть запросов к удалённым ресурсам, передача сообщений по сети, выполнение удалённых запросов. При реализации сетевых функций возникает комплекс задач, связанных с распределённым характером хранения и обработки дан­ных в сети: ведение справочной информации обо всех доступных в сети ре­сурсах и серверах, адресация взаимодействующих процессов, обеспечение прозрачности доступа, тиражирование данных, согласование копий, под­держка безопасности данных. Сетевые операционные системы имеют в своём распоряжении средства передачи сообщений между компьютерами по линии связи. Для поддержания функций передачи сообщений сетевые операцион­ные системы имеют специальные программные компоненты. Реализующие популярные коммуникационные протоколы, такие как IP, IPX, Ethernet и другие.

К базовым концепциям методов построения операционных систем от­носятся:

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

- при создании операционной системы, как правило, используется объ­ектно-ориентированный подход, имеющий следующие достоинства: аккуму­ляцию удачных решений в форме стандартных объектов, возможность созда­ния новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счёт их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного ис­пользования извне, и другие;

- наличие нескольких прикладных сред даёт возможность в рамках од­ной операционной системы одновременно выполнять приложения, разрабо­танные для нескольких операционных систем. Многие современные опера­ционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX, OS/2 или некоторые из этого популярного набора. Концеп­ция множественных прикладных сред наиболее просто реализуется в опера­ционных системах на базе микроядра, над которым работают различные сер­веры, реализующие прикладную среду тоц.или иной операционной системы;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]