Введення
В даний час все більшу роль починають грати вбудовуванні системи на основі цифрових процесорів обробки сигналів (ЦПОСІ). ЦПОСІ використовуються практично у всіх областях діяльності людини – в побуті, науці, медицині. Найважливішим програмним компонентом, які лежать в основі функціонування таких систем, є операційна система, яка дозволяє запускати одночасно декілька різних програм і організовувати взаємодію між ними для вирішення однієї загальної задачі. Для вбудованих систем обробки сигналів характерні операційні системи реального часу (ОСРВ). Ці системи застосовуються в тих випадках, коли головне завдання – встигнути зреагувати на подію в рамках строго певного максимального часу реакції. Наприклад, це може бути сигнал на датчику, що відображає поточний стан якогось об'єкта в реальному часі. Можлива ситуація, коли стан об'єкта на короткий час змінюється, а потім повертається назад, і якщо це зміна залишиться непоміченим і необроблене системою, наслідки можуть бути самими різними – від зовсім нешкідливих до катастрофічних.
Важливо також відзначити, що можливість «встигнути зреагувати на подію» зовсім не означає високу швидкість роботи. Система може працювати відносно повільно, і все ж бути системою реального часу. Головна відмінність ОСРВ від ОС загального призначення – це якийсь фіксований проміжок часу, протягом якого система гарантовано зреагує на подію і виконає його обробку. Величина цього проміжку часу визначається розв'язуваної завданням і є однією з вимог до розроблюваної системі. Він може бути дуже коротким, але може бути і довгим, важливо лише те, що він фіксований і відомий заздалегідь.
Застосування систем реального часу може бути найрізноманітнішим. Розглянемо, наприклад, роботу стільникового телефону. Його процесор повинен виконувати одночасно досить багато завдань: прийом та кодування мови при розмові, відправку закодованого звуку на ретрансляційну станцію, прийом вхідного закодованого звукового потоку, розкодування та відтворення його; плюс до цього необхідно обмінюватися зі станцією всякого роду службовою інформацією – такий як перехід з зони в зону і перемикання на іншу станцію, відстеження рівня сигналу, при необхідності – посилення його і так далі. Причому багато хто з цих завдань мають виконуватися в реальному часі, без затримок. Наприклад, затримка в обробці сигналу з мікрофона призведе до того, що частина фрази буде втрачено; запізнення з перемиканням на іншу ретрансляційну станцію може призвести до втрати зв'язку та розриву з'єднання. Таким чином, застосування операційної системи реального часу в даній ситуації не лише виправдане, а й необхідно.
У даній статті ми розглянемо операційну систему реального часу, розроблену в ІСП РАН для приватної «системи на чіпі» (System-On-Chip) на базі цифрового сигнального процесора MicroDSP 1.1, коли на одному загальному кристалі розміщуються сам процесор, модулі розширення, програмна пам'ять і два банки пам'яті даних. Розміщення їх на одному кристалі дозволяє забезпечити дуже швидкий доступ до осередків пам'яті (звернення до пам'яті займає один такт). Розмір банків пам'яті даних може мінятися від 0 до 65536 16-бітних слів; вони незалежні, і до них можна звертатися одночасно. Програмна пам'ять може становити до 256К слів (4 сторінки за 64К слова), розмір слова складає 24 біта (довжина інструкцій процесора). ............