Короткі характеристики найбільш поширених осрч




Сторінка7/8
Дата конвертації03.11.2017
Розмір0,73 Mb.
1   2   3   4   5   6   7   8

9. Contiki

Операційна система Contiki [DGV04] розроблена в Швеції (Swedish Institute of Computer Science) для систем з обмеженою пам'яттю. Система Contiki дозволяє динамічно завантажувати і відвантажувати програми та сервіси. З метою мінімізації розмірів операційної системи було спроектовано ядро Contiki, яке засноване на моделі управління подіями [HSW00].

У традиційних системах, керованих подіями, процеси моделюються як обробники подій, які виконуються до завершення. Оскільки обробник подій не може бути заблокований, всі процеси можуть використовувати один і той же стек, розділяючи дефіцитні ресурси пам'яті. До того ж не потрібні механізми блокування, тому що два обробника подій ніколи не виконуються паралельно. В ОС, керованої подіями, довгі обробки монополізують центральний процесор, не даючи можливості реагувати на зовнішні події відбуваються. Однак, якщо ОС забезпечена механізмом багатопотокового обробки з перериваннями, цей недолік згладжується, що і зроблено в Contiki.

Багатопотоковий режим з пріоритетами в системі Contiki реалізований з допомогою бібліотеки додатків, які виконуються над ядром, керованим подіями. Додатки, що забезпечують багатопоточну обробку, компонуються з виконуючим додатком у міру необхідності, тобто якщо воно явно вимагає багатопотокового моделі обчислень. Виконувати система Contiki розділяється на дві частини - серцевину (core) та завантажені програми. Серцевина (core) складається з власне ядра (kernel), базових сервісів і фрагментів бібліотек підтримки, в тому числі мовної підтримки часу виконання. Колективна функціональність реалізується через сервіси як деяка форма спільних бібліотек. Ці сервіси можна оновлювати або заміщати динамічно незалежно один від одного під час виконання, що, на думку розробників, веде до гнучку структуру системи.

Реалізація Contiki показала, що багатопотокова обробка з пріоритетами необов'язково повинна бути захована на самий нижній пріоритетний рівень ядра, а може бути реалізована як бібліотека додатків над ядром, керованим подіями. Такий підхід дозволяє виконувати потокові програми над ядром без накладних витрат рентабельності або численних стеків у всіх частинах системи.

Системи, керовані подіями, мають свої проблеми. Модель програмування, керована станами, складна для програмістів. До того ж не всі програми укладаються в кінцево-автоматну модель.



Contiki не підтримує жодних механізмів захисту, тому що апаратура, для якої вона проектувалася, не підтримує захист пам'яті.

Рис.8. Серцевина Contiki та завантажені програми.


Що стосується архітектури ядра ОС Contiki, те ядро цієї системи складається з полегшеного планувальника, який здійснює диспетчеризацію подій для виконуються процесів і періодично викликає обробники опитування процесів. Виконання програми перемикається або у відповідності з подіями, регульованими ядром, або через механізм опитування. Якщо для обробки був обраний обробник події, ядро не перериває його роботу до тих пір, поки він не завершиться. Однак обробники подій можуть використовувати внутрішні механізми для виконання переривання. Ядро підтримує два види подій - асинхронні та синхронні. Асинхронні події є деякою формою відкладеного виклику процедури - асинхронні події ядро ставить в чергу, і вони направляються цільовим процесу якийсь час опісля. Синхронні події обробляються майже так само як асинхронні, тільки направляються цільовим процесу відразу. Управління повертається посилаєш процесу тільки після того, як цільовий процес завершив обробку події. Це можна розглядати як виклик процедури всередині процесу.

Contiki написана на мові C і адаптована для ряду мікроконтролерних архітектур, включаючи Texas Instruments MSP430 і Atmel AVR, а також для платформи ESB.


10. pSOS

ОСРВ pSOS була розроблена корпорацією Integrated Systems. В даний час вона належить корпорації WindRiver [PSOS], яка її купила, мабуть, для того, щоб вона не заважала на ринку збуту ОСРВ.

Ім'я pSOSsystem присвоєно операційній системі, ім'я pSOS + - її ядра. PRISM + - це інтегроване середовище розробки для створення додатків.

pSOS + - це маленьке ядро вбудованих додатків, що представляє собою якийсь варіант клієнт-серверної архітектури. Однак воно не має протоколу взаємодії, заснованого на повідомленнях. Для взаємодії модулів використовується програмна шина (software bus). Є можливість вибрати і вбудувати модулі в систему під час компіляції. Такими модулями можуть бути файлова система (pHILE +), відладчик (pROBE +), мережеві протоколи (pNA +), бібліотека віддалених викликів процедур (pRPC +) і стандартна бібліотека ANSI C (pREPC +). Ці компоненти показані на рис.10.


Рис.9. Компоненти pSOSsystem.


Виклики різних додатків здійснюються через програмні переривання.

pSOS + m є багатопроцесорної версією ядра pSOS +. Вона вимагає, щоб один вузол був головним, а інші - підлеглими. До цього ядра додані системні виклики, що дозволяють оперувати через кордони процесора.

У pSOS + не використовується поняття процесу, замість цього вона оперує завданнями, що відповідає поняттю потоків, що виконуються в одному процесі. Всі системні об'єкти розділяються між всіма потоками. Так як всі потоки розділяють один і той же контекст, час перемикання потоків стає дуже малою.

pSOSsystem має несегментоване модель пам'яті. Захист пам'яті може бути забезпечена через бібліотеку управління пам'яттю. Код, дані і стеки можна захистити за допомогою визначення відображень захисту пам'яті для кожного завдання. При цьому відповідальність лягає на розробника додатків, а це є непростим завданням. pSOSsystem пропонує дві абстракції для управління пам'яттю - регіони і розділи. Регіони - це шматки пам'яті нефіксованого розміру, в той час як розділи - шматки фіксованого розміру. Управління пам'яттю з допомогою розділів забезпечує швидке виділення пам'яті.

Управління переривань в pSOSsystem досить примітивне. Крім того, відсутні мьютекс і механізм успадкування пріоритетів, що може призвести до інверсії пріоритетів.

1   2   3   4   5   6   7   8


База даних захищена авторським правом ©uchika.in.ua 2016
звернутися до адміністрації

    Головна сторінка