Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Itogi_Shpory

.pdf
Скачиваний:
41
Добавлен:
18.03.2015
Размер:
2.33 Mб
Скачать

1.Что такое функционирование в «Реальном масштабе времени»

2.Ядра и операционные системы реального времени

3.Задачи, процессы, потоки

4.Основные свойства задач

5.Планирование задач

6.Синхронизация задач

7.Тестирование

8.Можно ли обойтись без ОС РВ?

9.Linux реального времени

10.Операционные системы реального времени и Windows NT

11.Операционная система QNX

12.Проект Neutrino

13. Современные индустриальные системы, функционирующие в режиме реального времени

14.Организация промышленных систем

15.Аппаратная архитектура

16.Технологии VME и PCI

17.Мезонинные технологии

18.Полевые системы

19.Программное обеспечение промышленных систем

20.Управление производством

21.UML проектирование систем реального времени

22.Объектно-ориентированные методы и UML

23.Метод и нотация

24.Системы и приложения реального времени

25.Обзор нотации UML . Диаграммы UML. Диаграммы прецедентов. Нотация UML для классов и объектов

26.Диаграммы классов

27.Диаграммы взаимодействия

28.Диаграммы состояний

29.Пакеты

30.Диаграммы параллельной кооперации

31.Диаграммы развертывания

32.Механизмы расширения UML

33.Технологии параллельных и распределенных систем

34.Среды для параллельной обработки

35.Поддержка исполнения в мультипрограммной и мультипроцессорной средах

36.Планирование задач

37.Вопросы ввода/вывода в операционной системе

38.Технологии клиент-серверных и распределенных систем

39.Технология World Wide Web

40.Сервисы распределенных операционных систем

41.ПО промежуточного слоя

42.Стандарт CORBA

43.Другие компонентные технологии

44.Системы обработки транзакций

45.Разбиение на задачи

46.Вопросы разбиения на параллельные задачи

47.Категории критериев разбиения на задачи

48.Критерии выделения задач ввода/вывода

49.Характеристики устройств ввода/вывода.

50.Асинхронные задачи интерфейса с устройствами ввода/вывода.

51.Периодические задачи интерфейса с устройством ввода/вывода.

52.Пассивные задачи интерфейса с устройствами ввода/вывода.

53.Задачи-мониторы ресурсов.

54.Критерии выделения внутренних задач

55.Критерии назначения приоритетов задачам

56.Критерии группировки задач

57.Темпоральная группировка.

58.Последовательная группировка.

59.Группировка по управлению.

60.Группировка по взаимному исключению.

61.Пересмотр проекта путем инверсии задач

62.Разработка архитектуры задач

63.Коммуникации между задачами и синхронизация

64.Спецификация поведения задачи

65.Проектирование классов

66.Проектирование классов, скрывающих информацию

67.Проектирование операций классов

68.Классы абстрагирования данных

69.Классы интерфейса устройства

70.Классы, зависящие от состояния

71.Классы, скрывающие алгоритмы

72.Классы интерфейса пользователя

73.Классы бизнес-логики

74.Классы-обертки базы данных

75.Внутренние программные классы

76.Применение наследования при проектировании

77.Примеры наследования

78.Спецификация интерфейса класса

79.Детальное проектирование ПО

80.Проектирование составных задач

81.Синхронизация доступа к классам

82.Пример синхронизации доступа к классу

83.Синхронизация методом взаимного исключения.

84.Синхронизация нескольких читателей и писателей

85.Синхронизация нескольких читателей и писателей с помощью монитора.

86.Синхронизация нескольких читателей и писателей без ущемления писателей

87.Проектирование разъемов для межзадачных

коммуникаций

88.Проектирование разъема, реализующего очередь сообщений.

89.Проектирование разъема, реализующего буфер сообщений

90.Проектирование разъема, реализующего буфер сообщений с ответом

91.Проектирование кооперативных задач с использованием разъемов.

92.Логика упорядочения событий

93.Анализ производительности проекта параллельной системы

94.Теория планирования в реальном времени. Планирование периодических задач

95.Теорема о верхней границе коэффициента использования ЦП.

96.Теорема о времени завершения.

97.Строгая формулировки теоремы о времени завершения

98.Планирование периодических и апериодических задач. Планирование с синхронизацией задач

99.Развитие теории планирования в реальном времени

100.Планирование в реальном времени и проектирование. Пример применения обобщенной теории планирования в реальном времени

101.Анализ производительности с помощью анализа

последовательности событий

102.Анализ производительности с помощью теории планирования в реальном времени и анализа последовательности событий

103.Пример анализа производительности с помощью анализа последовательности событий .

104.Пример анализа производительности с применением теории планирования в реальном времени

105.Анализ производительности по теории планирования в реальном времени и анализа последовательности событий

106.Пересмотр проекта

107.Оценка и измерение параметров производительности

1. Что такое функционирование в «Реальном масштабе времени» Определение СРВ «Системой реального времени - это система, корректное

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

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

ОС РВ характеризуют следующие параметры:

-время реакции задачи (task response) – время от момента возникновения физического прерывания до начала выполнения первой задачи пользователя.

-время переключения контекста (context switch) – время от момента окончания выполнения последнего процесса пользователя до момента начала выполнения следующего пользовательского процесса.

-запаздывание прерываний (interrupt latency) – время от момента возникновения физического прерывания до начала выполнения.

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

2. Ядра и операционные системы реального времени После появления операционных система, через некоторое время возникло

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

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

Ядра предоставляют пользователю такие базовые функции, как: 1 – Управление задачами (планировщик задач)

2 – Динамическое распределение памяти

3 – Таймеры (для отслеживания лимита времени)

4 – Взаимодействие и синхронизация между задачами 5 – Контроль устройства ввода/вывода (взаимодействие с драйверами устройств)

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

ОС поддерживают сервисы ядра, в дополнение имеют файловую систему, сетевую поддержку, интерфейс с оператором и другие средства высокого уровня.

По своей внутренней архитектуре ОС РВ можно условно разделить на:

Монолитные ОС – модули взаимодействующие внутри ядра, предоставляют прикладным ПО интерфейсы для обращения к аппаратуре.

ОС на основе микроядра – функции ОС выполняются в привилегированном режиме, приложения обращаются к ядру для

выполнения системных функций.

Объектно-ориентированные ОС – микроядра и пользовательские процессы взаимодействуют вызовом функций.

3 Задачи, процессы, потоки Задача – набор машинных инструкций предназначенных для выполнения функций

системы.

Различают 2 разновидности задачи: процессы и потоки.

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

Преимущества потоков.

1.Внутри одного EXE-модуля – множество потоков (экономия ресурсов внешней и внутренней памяти)

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

3.Контекст потоков меньше, контекста процессов, => меньшее время переключения между задачами-потоками, чем между задачами-процессами.

4.Упрощенное использование программ-отладчиков, т.к. все потоки, а иногда и само ядро РВ размещаются в одном ЕХЕ-модуле.

Недостатки потоков.

1.Потоки не подгружаются динамически. Процессы м.б. динамически подгружены, могут динамически изменять функции.

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

ПО РВ определяет механизмы управления процессами и потоками, их взаимодействия и взаимное сосуществование.

4 Основные свойства задач

Основные параметры задачи: приоритет, имя и номер задачи, статус задачи и др. Приоритет – это целое число, которое присваивается задаче, определяет ее важность

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

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

Состояние (статус) задачи. С точки зрения ОС, задача может находиться в нескольких состояниях.

1.Активная задача – это задача, выполняемая системой в текущий момент времени.

2.Готовая задача – это задача, готовая к выполнению и ожидающая у планировщика своей «очереди».

3.Блокированная задача – это задача, выполнение которой приостановлено до наступления определенных событий.

Пустая задача – это задача, запускаемая самой ОС в момент инициализации и выполняется когда в системе нег других готовых для выполнения задач. Пустая задача имеет самый низкий приоритет и по сути это бесконечный цикл «ничего не делать».

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

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

5 Планирование задач Важная часть любой ОС РВ - планировщик задач. Его функции: определить, какая

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

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

1.Подпрограммы д.б. без циклов ожидания

2.Подпрограммы должны выполнять свою работу как можно быстрее

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

Преимущества циклического алгоритма.

1.Простота использования и прозрачность для понимания.

2.Минимальные размеры кода и данных. Для всех задач необходим только один

стек.

К недостаткам циклического алгоритма можно отнести отсутствие приоритетности

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

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

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

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

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

6 Синхронизация задач

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

1.Функции, выполняемые различными задачами, связаны друг с другом. Когда задача порождает одну или несколько новых задач.

2.Необходимо упорядочить доступ нескольких задач к разделяемому ресурсу.

3.Необходима синхронизация задачи с внешними событиями, для этого используется механизм прерываний.

4.Необходима синхронизация задачи по времени. Для решения этих вопросов используются таймеры.

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

Сообщения – механизм для передачи информации между задачами, м.б.

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

Общие ресурсы. Ресурс – это физическое устройство (принтер, клавиатура) или область памяти, которое может одновременно использоваться только одной задачей. Применение алгоритмов планирования с вытеснением в многозадачных ОС может привести к «гонкам», времязависимым ошибкам (time dependent error), когда к одному ресурсу могут иметь доступ несколько задач.

Семафоры – часто используются для синхронизации доступа к ресурсам. В простейшем случае семафор – это байтовая переменная, может принимать значения 0 и 1. Задача для доступа к общему ресурсу захватывает семафор, а остальные задачи ждут пока семафор освободится.

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