Операционные системы

Автор: Пользователь скрыл имя, 07 Января 2012 в 20:29, курс лекций

Описание работы

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

Работа содержит 8 файлов

Технологические решения.doc

— 58.50 Кб (Открыть, Скачать)

Управление локальными ресурсами.doc

— 489.00 Кб (Скачать)

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

— 1.11 Мб (Открыть, Скачать)

Архитектура ПК.doc

— 624.50 Кб (Открыть, Скачать)

Виртуальный компьтер.doc

— 1.12 Мб (Открыть, Скачать)

Классификация ОС.doc

— 79.50 Кб (Открыть, Скачать)

ОС реального времени.doc

— 70.00 Кб (Скачать)

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

Если  поддерживается страничная организация  памяти (paging), соответствующее отображение страниц в физические адреса должно быть частью контекста процесса. Иначе опять появляется непредсказуемость, неприемлемая для ОСРВ.

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

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

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

Прерывания

При описании управления прерываниями обычно различают  две процедуры, а именно:

  • программа обработки прерывания (ISR – interrupt servicing routine) – программа низкого уровня в ядре с ограниченными системными вызовами,
  • поток обработки прерывания (IST – interrupt servicing thread) – поток уровня приложения, который управляет прерыванием, с доступом ко всем системным вызовам.

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

Часы  и таймеры

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

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

Большинство ОСРВ оперируют относительным временем. Что-то происходит “до” и “после”  некоторого другого события. В системе, полностью управляемой событиями, необходим часовой механизм (ticker), т.к. там нет квантования времени (time slicing). Однако, если нужны временные метки для некоторых событий или необходим системный вызов типа “ждать одну секунду”, то нужен тактовый генератор и/или таймер.

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

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

  Стандарты ОСРВ

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

Наиболее  ранним и распространенным стандартом ОСРВ является стандарт POSIX (IEEE Portable Operating System Interface for Computer Environments, IEEE 1003.1). Первоначальный вариант стандарта POSIX появился в 1990 г. и был предназначен для UNIX-систем, первые версии которых появились в 70-х годах прошлого века. Спецификации POSIX определяют стандартный механизм взаимодействия прикладной программы и операционной системы и в настоящее время включают набор более чем из 30 стандартов. Для ОСРВ наиболее важны семь из них (1003.1a, 1003.1b, 1003.1c, 1003.1d, 1003.1j, 1003.21, 1003.2h), но широкую поддержку в коммерческих ОС получили только три первых.

Несмотря  на явно устаревшие положения стандарта  POSIX и большую востребованность обновлений стандартизации для ОСРВ, заметного продвижения в этом направлении не наблюдается.

Некоторые наиболее успешные компании в области  систем реального времени объявляют  о своем решении принять в  качестве стандарта спецификации одной  из своих продвинутых ОСРВ. Так  поступила компания TRON (the RTOS Nucleus), которая в 1987г. выпустила в свет первые ITRON спецификации – ITRON1. Далее в 1989г. она разработала и выпустила спецификации µITRON для 8- и 16- битовых микроконтроллеров, а также спецификации ITRON2 для 32-битовых процессоров. ОСРВ ITRON описывается ниже в соответствующем разделе. Этот стандарт является очень распространенным в Японии.

Военная и аэрокосмическая отрасли предъявляют  жесткие требования к вычислительным средствам, влияющим на степень безопасности целевой системы. В настоящее  время имеются следующие стандарты для ОСРВ в авиации – стандарт DO-178B и стандарт ARINC-653. Поскольку эти стандарты разработаны в США, стоит отметить еще европейский стандарт ED-12B, который является аналогом DO-178B.

Распространенным  также является стандарт OSEK/VDX [OSEK], который первоначально развивался для систем автомобильной индустрии.

Понятие ОС.doc

— 46.50 Кб (Открыть, Скачать)

Информация о работе Операционные системы