Программно-технический комплекс Учебное пособие Новочеркасск юргту (нпи) 2010. Удк 519. 23 (075. 8) Ббк 22. 17я73
Вид материала | Учебное пособие |
- Практикум Новочеркасск юргту (нпи) 2010 удк 330 (075. 8) Ббк 65. 012. 1я73, 2097.42kb.
- Учебно-методическое пособие Новочеркасск юргту (нпи) 2011 г. Удк 004 : 012 (076) ббк, 1329.07kb.
- Учебно-методическое пособие Новочеркасск юргту (нпи) 2011 г. Удк 004 : 012 (076) ббк, 994.64kb.
- Пособие предназначено для студентов, изучающих курсы «Экономики» и«Экономической теории», 4766.75kb.
- Учебно-методическое пособие Новочеркасск 2006 удк 004. 4 (07), 341.54kb.
- Учебное пособие к практическим занятиям по дисциплине «Физическая культура» Новочеркасск, 1055.75kb.
- Конспект лекций москва 2004 удк 519. 713(075)+519. 76(075) ббк 22. 18я7, 1805.53kb.
- Данное пособие предназначено для кураторов академических групп младших курсов, а также, 1695.39kb.
- Пособие предназначено для студентов специальности «Прикладная информатика (в экономике)», 1911.82kb.
- Учебное пособие тверь 2008 удк 519. 876 (075. 8 + 338 (075. 8) Ббк 3817я731-1 + 450., 2962.9kb.
1.2. Отличие механизма современных ОСРВ
Концепции, лежащие в основе большинства существующих в наши дни ОСРВ, уходят своими корнями в конец 70-х начало 80-х годов прошлого столетия. Эти концепции разрабатывались с учетом требований того времени, и по мере увеличения сложности, масштабов, скорости систем и повышения требований к их надежности все чаще проявлялись недостатки традиционных ОСРВ.
Принципиальные отличия ОСРВ от ОС общего назначения заключаются в следующем:
- Если ОС общего назначения, такие, как UNIX, ориентированы на оптимальное распределение ресурсов компьютера между пользователями и задачами, то в ОСРВ подобная задача отходит на второй план, т.е. главной становится успеть среагировать на событие, происходящее на объекте.
- Применение ОСРВ всегда связано с аппаратурой, с объектом, с событиями, происходящими на объекте. СРВ, как аппаратно-программный комплекс, включает в себя датчики, регистрирующие события на объекте, модули ввода/вывода, преобразующие показания датчиков в цифровой вид, пригодный для обработки этих показаний на компьютере, и, наконец, компьютер с программой, реагирующей на события, происходящие на объекте. ОСВР ориентирована на обработку внешних событий, и это приводит к коренным отличиям в структуре системы, в функциях ядра, построении системы ввода/вывода. ОСРВ может быть похожа по пользовательскому интерфейсу на ОС общего назначения. Однако устроена она совсем иначе.
- Применение ОСРВ всегда конкретно. ОС общего назначения воспринимается пользователями как готовый набор приложений. ОСРВ служит только инструментом для создания конкретного аппаратно-программного комплекса. Проектируя конкретную СРВ, программист всегда должен знать точно, какие события могут произойти на объекте, а также критические сроки обслуживания каждого из таких событий.
- Коренное отличие СРВ от систем общего назначения – четкое разграничение программных систем (среды) разработки и исполнения.
Система исполнения ОСРВ – набор инструментов (ядро, драйверы, исполнительные модули), обеспечивающих функционирование приложений РВ. Современные ОСРВ поддерживают целый спектр аппаратных архитектур, на которых работают системы исполнения (Intel, Motorola, RISC, MIPS1, PowerPC и другие), поскольку набор аппаратных средств – часть комплекса РВ, и аппаратура должна быть адекватна задачам СРВ. Ведущие ОСРВ покрывают целый ряд наиболее популярных архитектур, удовлетворяя разным требованиям в части аппаратуры. Систему исполнения ОС РВ и компьютер, на котором она исполняется, называют "целевой" (target) системой.
Система разработки – набор средств, обеспечивающих создание и отладку приложений РВ, т.е. компиляторы, отладчики, всевозможные вспомогательные инструменты, которые работают в популярных и распределенных ОС (Windows, UNIX и др.).
Кроме того, многие ОСРВ имеют и так называемые резидентные средства разработки, исполняющиеся в среде самой ОСРВ.
Функционально средства разработки ОСРВ отличаются от привычных систем разработки ( Developers Studio, TaskBuilder), так как они содержат средства удаленной отладки, средства профилирования (измерение времен выполнения отдельных участков кода), средства эмуляции целевого процессора, специальные средства отладки взаимодействующих задач, а иногда и средства моделирования.
5. Межпроцессное взаимодействие. В традиционных ОСРВ для межпроцессного взаимодействия ( IPC–Inter-Process communication) используется модель "разделяемой памяти" (share memory). Проблема обеспечения стабильности работы системы с IPC через разделяемую память вполне разрешима, однако в общем случае такая задача требует весьма аккуратного управления разработкой и сопровождением программного обеспечения и достаточно длительного периода выявления ошибок. Перечисляя недостатки межпроцессного взаимодействия через разделяемую память, следует упомянуть также о том, что данный метод плохо подходит для распределенных систем и не характеризуется высокой степенью совместимости с управлением памятью. Работоспособность системы с IPC через разделяемую память достижима и в этих случаях, однако есть способы лучше.
|
Рис.1.2. Два типа межпроцессного взаимодействия |
Однако IPC через передачу сообщений не отличается высокой скоростью, но пониженная скорость межпроцессного взаимодействия такого типа редко сказывается на производительности системы.
6. Распределение памяти. В традиционных ОСРВ для динамического распределения памяти используется механизм, подобный вызову функции malloc в языке Си. При выполнении этой команды исследуется весь массив памяти в поисках свободной области достаточно большого размера. При возникновении потребности в памяти ОСРВ берут из всего объема памяти кусок наиболее подходящего размера. Когда блок памяти перестает быть нужным, он отходит в связанный список свободных буферов. Преимущества такого решения состоят в том, что степень фрагментации памяти равна нулю, время распределения памяти строго детерминировано, а незанятый блок всегда находится либо в связанном списке, либо в начале области свободной памяти.
7. Обработка ошибок. В классических ОСРВ используется установленный порядок обработки ошибок. Для выявления ошибок по совершении системного вызова проверке подвергается каждое возвращаемое значение, и всю полноту ответственности за надежность работы системы несет каждый участвующий в проекте специалист. Дополнительным неудобством является то, что значительная часть приложения будет состоять из кодов ошибок, из-за чего оно увеличивается в размерах, его труднее документировать и отлаживать.
В большинстве современных ОСРВ обработчики ошибок связаны с системными вызовами. Если начинает исполняться следующая строка кода, значит все в порядке. Если же происходит ошибка, в дело вступает "центральный обработчик ошибок". В ОС OSE обработка ошибок ведется на трех уровнях: уровне процесса, уровне блока и уровне системы, что даёт высокую степень гибкости в выборе разрешения связанных с ошибками проблем (рис. 1.3). Такой механизм обработки ошибок не только намного надёжнее, он позволяет создавать более компактный и простой программный код.
8. Распределенные многопроцессорные системы. Большинство традиционных ОСРВ разрабатывались с прицелом на единственный центральный процессор, установленный на единственной плате. В наши дни все чаще требуется поддержка многопроцессорных систем, в том числе с поддержкой процессоров цифровой обработки сигналов (DSP-процессоры). В современной ОС OSE обработчик связей (link handler) позволяет распределять приложение по многочисленным центральным и/или DSP-процессорам, беря сообщение от одного процесса, работающего на одном процессоре, и вручая его другому процессу, исполняющемуся на другом центральном или DSP-процессоре.
|
Рис.1.3. Модель обработки ошибок в традиционной ОСРВ и в операционной системе OSE |
Рассмотрим системный инструментарий современных ОСРВ.
Симуляторы ОСРВ. По принципу своей работы инструментальные средства Soft Kernel и Soft Environment, созданные компанией OSE, напоминают пакет, служащий буфером между ОС и тем или иным аппаратным модулем (BSP – board support package), только в данном случае в роли такого модуля выступает интерфейс 32-разрядных Windows-приложений (Win32 Api). Инструмент Soft Environment способен использовать функциональные возможности хост-машины и, с другой стороны, взаимодействовать с внешним миром. Запустив одновременно несколько инструментов Soft Kernel на одной хост-машине, можно создать модель сетевой или многопроцессорной среды и вести разработку соответствующего проекта.
Загрузчик программ. В некоторых ОСРВ разработчику предлагается возможность динамической загрузки кода в целевую машину, что позволяет сократить число циклов перекомпиляции-перезагрузки и сэкономить много часов затрачиваемого на разработку времени. Загрузчик программ полезен не только при разработке современных встраиваемых систем; он может сыграть важнейшую роль при обслуживании системы с высоким коэффициентом готовности, отключение которой крайне нежелательно.
Браузер системы. Многие поставщики ОСРВ предлагают работающие на хост-машине средства просмотра, показывающие все запущенные процессы, а также приоритет, состояние и другие важнейшие характеристики каждого процесса в отдельности. Для ОС OSE такого рода инструмент называется Illuminator.
Профилировщик центрального процессора. В процессе разработки и отладки предназначенного для встраиваемой системы программного обеспечения необходимо иметь точные данные относительно загрузки центрального процессора, поскольку наличие подобной информации способствует оптимизации производительности программного кода. В комплектах инструментальных средств ОСРВ имеются такие профилировщики. Средство CPU Profiler (профилировщик центрального процессора) для ОС OSE позволяет выбрать одну или несколько определенных задач и получить ясную картину того, насколько эти задачи загружают центральный процессор, а также того, как влияет эта загрузка на работу системы в целом. Качество подобной информации зависит от скорости связи между хостом и целевой машиной.
Профилировщик памяти. Оптимальное использование памяти является решающим моментом, поэтому разработанный для ОС OSE инструмент Memory Profiler (профилировщик памяти) предлагает исчерпывающую динамическую информацию об использовании памяти каждой конкретной задачи, о прохождении сигналов, а также статистическую информацию и иные данные, которые могут помочь оптимизировать использование памяти.
Трассировка событий. Некоторые поставщики ОСРВ предлагают средства "трассировки событий", способные динамически отображать работающие задачи и межпроцессные взаимодействия. Регистрация может производиться через определенные интервалы времени (например, через 50 мкс), в случае наступления определенных событий, по прерываниям и т.п.