22 - hal (Ответы на экзаменационные билеты), страница 6

2018-01-12СтудИзба

Описание файла

Файл "22 - hal" внутри архива находится в папке "Ответы на экзаменационные билеты". Документ из архива "Ответы на экзаменационные билеты", который расположен в категории "". Всё это находится в предмете "системное программное обеспечение (спо)" из 8 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "спо" в общих файлах.

Онлайн просмотр документа "22 - hal"

Текст 6 страницы из документа "22 - hal"

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

Часто нужно ответить на вопросы типа

  1. Как система управляет задачами.

  2. Зависит ли способ управления от числа задач в системе.

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

    1. Можно ли использовать Windows NT как систему реального времени?

      1. Архитектура

Windows NT – это относительно новая операционная система. Она была разработана в 1989 г. как операционная система 90-х годов и позднее. Базовая идея покоится на объектно-ориентированном программировании, строя операционную систему на модулях. Это идея была также распространена на ядро операционной системы, так чтобы ядро было функционально независимо от аппаратуры. Это было достигнуто, используя уровень абстрагирования от аппаратуры (hardware abstraction layer, HAL).

HAL

Следуя объектно-ориентированной модели, все компоненты операционной системы взаимодействуют, посылая сообщения друг другу. Вызовы к системным сервисам реализованы по средством сообщений, который посылаются из процесса в пользовательском режиме в сервис ядра операционной системы. Это позволяет каждой части ОС разрабатываться независимо и увеличивает общую надежность проекта. Приложения не имеют непосредственный доступ к аппаратуре, когда управление осуществляется сервисами, запущенными на уровне ядра. Это позволяет переносить NT легко на другие аппаратные платформы.

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

Процессы в Windows NT принадлежат двум различным классам приоритетов: динамическому и реального времени. Большинство процессов принадлежат динамическому классу, который допускает изменение своих приоритетов операционной системой в зависимости от таких факторов как являются ли они фоновыми задачами или они недавно ожидают. Это хорошо для GPOS (General propose OS) , так как позволяет всем потокам быть запущенными и предоставляет пользователям более быструю реакцию от активного приложения. Однако правила, определяющие эти изменения приоритетов не подходят для RTOS (real-time OS). Поэтому Microsoft включила ряд приоритетов выше динамического класса, назвав их (Real-Time Class) класс приоритетов реального времени.

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

Можно подумать, что этого достаточно, чтобы сделать Windows NT операционной системой реального времени. К несчастью, существует ряд проблем с приоритетами. Только семь уровней приоритетов может быть использовано внутри класса, что явно недостаточно для серьезного приложения реального времени.

Блокировка инверсии приоритетов может происходить в потоках, ожидающих мьютекса. Большинство RTOS решают эту проблему с помощью инверсии приоритетов, но Windows NT использует схему, где потоки, которые не запускаются некоторое время принимают случайный приоритет повышая возможность быть запущенным. Это приводит к непредсказуемости и поэтому неприемлемо для системы реального времени, но используется в общецелевых операционных системах.

Память

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

Управление виртуальной памятью включает механизм свопинга. Для бизнес-приложений это прекрасно, но для систем реального времени, которые должны откликаться на внешние события в предопределенных временных рамках, это веет к непредсказуемости, когда система должна получить страницу памяти с диска. Поэтому Windows NT позволяет закрыть страницы в памяти, вызвав функцию VirtualLock. Память для окна может быть свопирована, если оно сжато в иконку. Таким образом, можно избежать проблемы свопинга для приложений реального времени, ограничиваясь доступной физической памятью.

На уровне драйвера устройств, однако, свопинг можно обойти.

Метод управления прерываниями.

Системы реального мира взаимодействуют с реальным миром через аппаратуру компьютера. Внешние события преобразуются в прерывания и управляются драйверами устройств. Прерывания генерируются аппаратурой. На них откликаются драйверы устройств. Чтобы увеличить оперативность отклика ОС на прерывание был выбран оригинальный механизм. Управление прерываниями происходит в два этапа. Во-первых, прерывания управляются очень короткими Interrupt Service Routine (ISR) (модуль обслуживания прерываний). Он выполняет минимальную работу по сохранению содержимого аппаратных регистров и подтверждает прерывание. Затем он для остатка работы запрашивает DPC (Deferred Procedure Call) (процедура отложенного вызова), которая выполняется позднее. DPC размещается в очереди FIFO и запускается тогда, когда предыдущие DPC закончили свое выполнение. В очереди DPC нет никаких приоритетов. Так, что DPC с более низким приоритетом прерываний будет выполняться до DPC с более высоким приоритетом (но позже пришедшим) . Нет способа определить сколько DPC стоит в очереди и сколько времени они будут выполняться.

Рис. спектр приоритетов Windows NT

Отделение DPC от ISR позволяет уменьшить время маскирования прерывания. Это позволяет быстро откликнуться на аппаратуру для срочных вещей таких как чтение регистра. Но когда DPC установлен в очередь с порядком FIFO , нет никакой гарантии по времени, что пройдет до того как DPC будет запущен. Это уменьшает предсказуемость системы и делает не пригодным для RTOS. Однако, быстрый отклик перетягивает отсутствие предсказуемости для GPOS и тестовые результаты показывают, что средняя задержка прерывания очень быстрая.

Win 32 API

Все эти точки выглядят скорее как отрицательные для тех кто ищет серьезную надежную RTOS. Но Windows NT имеет свои преимущества и главный из них Win32 API. Этот интерфейс прикладного программирования должен быть широко используемым в мире так, что существует много разработчиков, знакомы с ним и хорошо его понимающих. У него много объектов синхронизации. Легкие и понятные инструменты разработчика. Это значительно упрощает работу программистов и открывает рынок реального времени для новых разработчиков и производителей.

      1. Производительность

Рассмотрим сравнительные характеристики Windows NT и QNX на Pentium MMX. 200 MHz. Измерения проводились с помощью аппаратного таймера. Программный таймер не имеет нужной точности, поскольку синхронизирован с часами.

Первыми были измерены задержки переключения потоков. Т.е. время на переключение от одной задаче к другой. Тесты показали, что среднее переключение между потоками в Windows NT значительно выше, чем в QNX. И растет с увеличением числа потоков линейно. Этого не должно происходить в системах реального времени. (Система должна предсказуемым образом реагировать на непредсказуемые внешние воздействия, многие из которых происходят параллельно.) Кроме того, задержка переключателя порядка миллисекунд слишком длинная для приложений реального времени.

Измерения задержки обработки прерывания содержали две характеристики. Первый – это задержка ISR _ время с последней строчки прерванного потока и время первой строчки обработчика. Согласно Microsoft только критичная часть работы должна выполняться в ISR, остальное должно в DPC, которое будет задержано на случайное количество времени в зависимости от установленных драйверов.

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

Тесты показали, что средняя величина задержки ISR достаточно маленькая. Но максимальная величина слишком большая, что вызвано более приоритетными прерываниями типа таймера. В результате получается большое стандартное отклонение, что свидетельствует о небольшой предсказуемости системы. В сравнении с QNX и средняя величина и особенно максимальное значение выше, чем у QNX. Это делает NT не подходящим для реального времени.

Время возврата из прерывания также значительно превосходит QNX. Если DPC используется (как советует Microsoft), то нужно добавить время потраченное на DPC и переключатель контекста.

Все это не умаляет достоинств Windows NT как GPOS системы, где не нужен быстрый отклик на прерывание. Windows NT имеет быстрое время отклика на прерывание и контекстный переключатель. Это важная метрика для GPOS. Устойчивость и надежность архитектуры и богатство API и приложений делают Windows NT хорошим выбором для GPOS. Однако, слишком большая максимальная величина может вызвать проблему для требований приложений с временными ограничениями. В настоящее время на рынке имеются расширители к Windows NT, повышающие предсказуемость. Эти производители верят, что NT достаточно для систем реального времени.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее