150 likes | 394 Views
Стандарты ОСРВ. Стандарты ОСРВ. POSIX OSEK/VDX DO-178B ARINC-653 ED-12B ITRON : ITRON1 , µITRON , ITRON2. POSIX. Portable Operating System Interface developed by the IEEE and The Open Group
E N D
Стандарты ОСРВ • POSIX • OSEK/VDX • DO-178B • ARINC-653 • ED-12B • ITRON: ITRON1, µITRON, ITRON2
POSIX • Portable Operating System Interface • developed by the IEEE and The Open Group • Base Definitions: This include general terms, concepts and interfaces common to entire standard. • System Interfaces: This comprises the definitions for system service functions for the C programming language, function and portability issues, error handling and recovery. • Shell and Utilities: It contains the definitions for a standard source code-level interface to command interpretation services. • Rationale: It contains information that does not fit well into the rest of the document structure.
Стандарт 1003.1a (OS Definition) • содержит базовые интерфейсы ОС • поддержка и управление следующими объектами • единственный процесс • множественные процессы • сигналы, • группы пользователей • файловая система • файловые атрибуты • файловые устройства • блокировки файлов • устройства ввода/вывода • системными базами данных • каналами • поддержка языка C.
Стандарт 1003.1b (Realtime Extensions) содержит расширения реального времени: • сигналы реального времени • планирование выполнения • таймеры, синхронный и асинхронный • ввод/вывод, ввод/вывод с приоритетами • синхронизация файлов • блокировка памяти • разделяемая память • передача сообщений • семафоры.
POSIX1003.1b (cont) Стандарт требует поддержки не менее 32 уровней приоритетов. Стандарт требует поддержки не менее трех политик планирования обработки процессов, включая: • SCHED_FIFO – процессы выполняются до завершения • SCHED_RR – round robin – процессу выполняется квант времени • SCHED_OTHER – иная
Стандарт 1003.1c (Threads) • управление потоками • планирование с учетом приоритетов • мьютексы • приоритетное наследование в мьютексах • условные переменные (condition variables).
Стандарт 1003.1d расширения реального времени • порождение новых процессов (spawn) • спорадическое планирование • мониторинг процессов и потоков • времени выполнения • таймауты функций блокировки • управление устройствами и прерываниями.
OSEK/VDX • для систем, применяющихся в автомобильной промышленности • состоит из трех частей • стандарт для операционной системы (OS), • коммуникационный стандарт (COM) • стандарт для сетевого менеджера (NM). + реализационный язык (OIL)
OSEK/VDX main architectural choices: • Scalability • Portability of software • Configurability • Statically allocated OS • Support for time triggered architectures
OSEK/VDX • architecture - traditional fixed priority approach • basic task (BT) • extended task (ET) • extended tasks are basic tasks that can react to external asynchronous event
OSEK/VDX conformance classes • BCC1 • Only basic tasks limited to one activation request per task and one task per priority, while all tasks have different priorities. • BCC2 • Like BCC1, plus more than one activation request per task and more than one task per priority. • ECC1 • Like BCC1, plus extended tasks. • ECC2 • Like ECC1, plus more than one task per priority and multiple requesting of task activation allowed for basic tasks.
OSEK/VDX Interrupt processing • ISR category 1 • Прерывания обрабатываются пользовательской программой. ОС о них не знает. Вызывать примитивы ОС из ISR не рекомендуется • ISR category 2 • Прерывания обрабатываются ядром ОС и ядро вызывает пользовательский обработчик.
Full Preemptive Scheduling • Задача может быть прервана на любой выполняемой инструкции более приоритетной задачей • Non Preemptive Scheduling • Задача прерывается только на системных вызовах: завершение, ожидания события, явная отдача процессора • Mixed Preemptive Scheduling • Могут параллельно выполняться и те и те
OSEK Priority Ceiling • every resource as assigned a ceiling that is the maximum priority of the tasks (and ISRs) that use the resource; • when a task requires a resource, its current priority is raised to the ceiling of the resource; • when a task releases a resource, the priority of this task is reset to the priority which was dynamically assigned before requiring that resource.