русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Классификация операционных систем


Дата добавления: 2014-07-28; просмотров: 2620; Нарушение авторских прав


По назначению различают ОС общего и специального назначения.

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

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

К однопрограммным ОС относится MS DOS, Norton Commander.

Термины «мультипрограммный режим» и «мультизадачный режим» это не синонимы. Основное принципиальное отличие этих терминов заклю­чается в том, что мультипрограммный режим обеспечивает параллельное выполнение нескольких приложений, и при этом программисты, создающие эти программы, не должны заботиться о механизмах организации их парал­лельной работы (эти функции берет на себя сама ОС; именно она распреде­ляет между выполняющимися приложениями ресурсы вычислительной сис­темы, осуществляет необходимую синхронизацию вычислений и взаимодей­ствие). Мультизадачный режим, наоборот, предполагает, что забота о парал­лельном выполнении и взаимодействии приложений ложится как раз на при­кладных программистов. Однако современные ОС для персональных компь­ютеров реализуют и мультипрограммный, и мультизадачный режимы.

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



По основному архитектурному принципу операционные системы разделяются на микроядерные и макроядерпые монолитной. Функции микроядра ОС заключаются в следующем:

Управление памятью и процессами.

Обработка прерываний.

Обработка системных вызовов.

Обработка сообщений.

 

 

Архитектура монолитной ОС.

 

Достоинство: легкость в отладке, более простые, более быстрый межзадачный обмен

 

Основные особенности, отличающие ОСРВ от ОС общего назначения.

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

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

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

Время переключения контекста tnк - среднее время, которое система затрачивает на переключение между независимыми задачами:

где ti — время переключения i — ой задачи; п - число одновременно выпол­няемых задач.

Время tnK зависит от эффективности структуры данных управления задачей, архитектуры процессора и набора инструкций.

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

Планирование задач (процессов) связано с выбором системы приоритервв-и алгоритмов диспетчеризации.

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

Архитектура микроядра. OCPB с микроядерной архитектурой обладают меньшим временем реакции на события.

Модульный принцип. Масштабируемость. Функциональные компоненты ОС - ядро, система
управления файлами и др. - реализованы в виде независимых модулей. Такие
системы являются масштабируемыми и расширяемыми системами.

Аппаратная поддержка. ОСРВ работают на различных аппаратных платформах.

Важным свойством является возможность размещения ОСРВ и приложений в ПЗУ, что позволяет создавать компактные (в том числе встро­енные в технологическое оборудование) системы без внешних накопителей.

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

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

 

Разновидности задач, выполняемых в ОС

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

Процесс — отдельный исполнительный программный модуль (.ЕХЕ или .СОМ файлы).

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

Потоки - задачи, объединенные в одном процессе (программа Word (пример многопоточной задачи) - проверка орфографии, ввод символов и т.д.).

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

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

 

Свойства задач.

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

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

Состояние задачи:

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

Реентерабельность — допущение повторного запуска. Реентерабельные

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

 

Управление задачами

Самым важным ресурсом является сам процессор, а точнее - процес­сорное время. Процессорное время делится попеременно (параллельно).

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

ОС выполняет следующие основные функции, связанные с управлением процессами и задачами:

создание и удаление задач;

планирование процессов и диспетчеризация задач;

синхронизация задач, обеспечение их средствами коммуникации.

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

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

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

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

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

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

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

 

1. Циклическаядисциплина диспетчеризации.

Недостаток: если одна из задач повиснет, или очень долго будет

исполняться, то все остальные задачи остановятся.

 

Достоинство: Простой алгоритм. Такой программный комплекс легко настраивается. По подобной схеме работа­ет 90% промышленных контроллеров.

 

 

 

2. Разделение времени. Процессорное время выделяется квантами - фиксированными интервалами. Досле окончания кванта времени задача снимается с процессора, и он передается следующей задаче. Снятая задача ставится в конец очереди задач, готовых к выполнению. Если величина кванта времени велика, то при увеличении очереди готовых к выпол? нению задач реакция системы станет медленной.

Недостаток: если возможности процессора ограничены по сравнению с тп&-буемыми, то процессор будет выполнять задачи с наибольшим приоритетом, низкоприоритетные задачи при этом могут быть не выполнены.

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

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

 

Методы синхронизации задач

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

 

Существуют следующие виды синхронизации:

Синхронизация по данным.

Синхронизация по использованию ресурсов.

Синхронизация с внешними событиями.

Синхронизация по времени.

Синхронизация по данным.

Данные могут готовиться одной программой, а использоваться другой, поэтому необходим механизм по передаче сообщений. Можно выделить синхронное и асинхронное сообщения.

Синхронное сообщение — программа пересылает данные и приостанавливает

свою работу до получения ответа от другой про­граммы.

Асинхронное сообщение — программа, выполнив передачу, продолжает работу не дожидаясь ответа. Механизмы передачи данных:

1. Почтовые ящики.

2. Очередь сообщений.

Почтовые ящики - область оперативной памяти, в которой программа может помещать какие-либо данные и считывать их.

Новое сообщение стирает старое. Поэтому если программа не успела считать данные, то информация будет потеряна.

Очередь сообщений. Каждая программа имеет буфер памяти, размер которой меняется от количества сообщений.

Здесь сообщения не теряются, а очередь сообщений ограничена оперативной памятью

Синхронизация по использованию ресурсов.

Ресурс — физическое устройство (печатающее или дисковое) или область оперативной памяти.

 
 

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

Подходы к синхронизации:

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

Для печатающего устройства — система спулинга — управление очере­дью печати. Спулинг разделяет запросы на печать.

2. Использование семафоров.

Семафор - специальная переменная, которая принимает значения 0 и 1. Используются также «счетные семафоры».

Если семафор принимает значения 0 - ресурс занят или 1, то - ресурс свободен.

Перед тем как обратится к устройству программа определяет перемен­ную, при наличии 1 программа уменьшает значение семафора.

В случае «счетных семафоров»:

0 - занят ресурс;

не 0 - свободно.

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

В качестве примера борьбы за ресурс рассмотрим два случая, которые могут иметь место быть:

«Смертельный» захват.

Для выполнения программ 1 и 2 необходимо иметь устройство ввода
информации устройство вывода. При этом Пр. 1 захватила клавиатуру, Пр. 2 - монитор понизив при этом значение семафора и клавиатуры и монитора до нуля. В итоге и Пр.1 и Пр. 2 не могут закончить свою работу, т.к. для их выполнения необходимы нужен и монитор и клавиатура. Итогом является зависание обеих программ в ожидании монитора или клавиатуры.

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

2. Инверсия приоритетов.

Программа 1 активна, т.к. 2 и 3 не были готовы для работы. Ресурс не успевая произвести запись на диск, прерывается программой 3. Низкопри­оритетная задача не может освободить ресурс, т.к. была прервана, а програм­ма 3 не может записаться, т.к. ресурс занят. Таким образом, программа 3 также не может работать. Программа 2 в этом случае работает все свободное время. В итоге программа 2 с более низким приоритетом работает, а про­грамма 3 не работает вообще.

 

Синхронизация с внешними событиями.

События должны быть обнаружены, и программы в соответствие с со­бытиями должны производить те или иные действия.

Технологические процессы

Способы считывания информации о внешнем процессе:

Циклический опрос;

Обмен по прерываниям;

Прямой доступ к памяти.
4. Циклический опрос

Достоинство: способ прост.

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

Обмен по прерываниям

 

Внешнее устройство выдает на системную магистраль сигнал запроса «на прерывание». Это сигнал воспринимается процессором. Процессор пре­кращает выполнение текущей задачи и переходит к подпрограмме обработки 2 по прерываниям». Далее процессор переходит к обработке прерванной программы. За каждым прерыванием закреплен вектор прерывания — ячейка па­мяти, которая содержит адрес программы обработки.

Прямой доступ к памяти.

УСО может записывать в ОЗУ без участия процессора.

Синхронизация по времени.

Необходимо при выполнении действий, привязывать их к астрономическому времени. Такая необходимость возникает не так часто, как необходимость отслеживать интервалы времени. Для работы со временем микропроцессор содержит в себе программируемый таймер, который через заданный интервал времени может генерировать сигнал прерывания. Сигнал таймера называется - тиком. Тик обычно равен lμс, но можно изменять длительность тика.


Лекция 3 Классы систем реального времени

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

Среди коммерческих систем реального времени можно выделить груп­пу ведущих систем - по объемам продаж и по популярности. Эти системы: VxWorks, OS9, pSOS, LynxOS, QNX, VRTX.

Классификация ОСРВ представлена на рис. 8.1

 

Исполнительные системы реального времени

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

Системы этого типа обладают рядом достоинств, среди которых главное - скорость и реактивность системы.

С этим главным достоинством связан и ряд недостатков: зависание всей системы при зависании нити, проблемы с динамической подгрузкой но­вых приложений. Наиболее ярким представителем систем этого класса является опера­ционная система VxWorks. Область применения - компактные системы,ре­ального времени с хорошими временами реакций.

 



<== предыдущая лекция | следующая лекция ==>
Операционные системы. Классификация | Расширения реального времени для WindowsNT


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.076 сек.