автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Методы планирования выполнения задач в системах жесткого реального времени

кандидата технических наук
Данилов, Михаил Викторович
город
Санкт-Петербург
год
2002
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Методы планирования выполнения задач в системах жесткого реального времени»

Оглавление автор диссертации — кандидата технических наук Данилов, Михаил Викторович

ВВЕДЕНИЕ

ГЛАВА 1. МЕХАНИЗМЫ ПЛАНИРОВАНИЯ ВЫПОЛНЕНИЯ ЗАДАЧ

ДЛЯ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ

1.1. Системы реального времени

1.2. Особенности механизмов планирования для СРВ

1.2.1. Эффективность механизмов планирования для СРВ

1.2.2. Составляющие механизмов планирования для СРВ

1.3. Классификация механизмов планирования для СРВ

1.3.1. Классификация по распределению работ между составляющими механизма планирования

1.3.2. Классификация по алгоритму планирования

1.3.3. Классификация по дисциплине планирования

1.4. Алгоритмы планирования независимых задач

1.4.1. Формальная модель

1.4.2. Наиболее срочная первой

1.4.3. С наименьшим резервом первой

1.4.4. Планирование монотонное по частоте

1.4.5. Планирование монотонное по срокам

1.4.6. Алгоритм Оудсли

1.5. Алгоритмы планирования взаимодействующих задач

1.5.1. Отношения предшествования

1.5.2. Разделяемые ресурсы

1.6. Планирование в двухъядерных ОС

1.6.1. ОС общего назначения в СРВ

1.6.2. Принцип фоновой задачи

1.7. Управление памятью в СРВ

1.7.1. Системы управления памятью

1.7.2. Сборка мусора

-31.7.3. Сборка мусора в СРВ

1.8. Выводы по главе

ГЛАВА 2. АСИММЕТРИЧНЫЕ ПРОТОКОЛЫ НАСЛЕДОВАНИЯ

ПРИОРИТЕТОВ

2.1. Асимметричный протокол наследования приоритетов

2.1.1. Определение протокола

2.1.2. Свойства протокола

2.2. Асимметричный протокол пороговых приоритетов

2.2.1. Определение протокола

2.2.2. Свойства протокола

2.3. Примеры использования протоколов

2.3.1. Пример взаимной блокировки и ее предотвращения

2.3.2. Пример многократного блокирования и его предотвращения

2.3.3. Пример составного блокирования и его предотвращения

2.3.4. Пример повышения эффективности планирования

2.4. Асимметричный протокол превентивного наследования приоритетов

2.4.1. Определение протокола

2.4.2. Свойства протокола

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

2.5. Выводы по главе

ГЛАВА 3. СПЕЦИАЛИЗИРОВАННЫЕ МЕХАНИЗМЫ

ПЛАНИРОВАНИЯ ВЫПОЛНЕНИЯ ЗАДАЧ

3.1. Интегрированное планирование в двухъядерных ОС

3.1.1. Планирование обработки прерываний

3.1.2. Использование особенностей программной модели процессора

3.1.3. Интегрированная схема планирования

3.1.4. Комбинированные механизмы защиты разделяемых ресурсов

3.2. Планирование групп логически связанных задач

3.2.1. Группы логически связанных задач

3.2.2. Протокол локально невытесняемых критических секций

-43.5. Выводы по главе

ГЛАВА 4. ПРАКТИЧЕСКОЕ ИСПОЛЬЗОВАНИЕ МЕХАНИЗМОВ

ПЛАНИРОВАНИЯ ВЫПОЛНЕНИЯ ЗАДАЧ

4Л. Интегрированная двухъядерная ОС на базе ОС Linux

AAA. ОС Linux

4.1.2. Модификация ядра ОС Linux

4.1.3. Виртуальная машина

4.1.4. Интеграция механизмов планирования ядер ОС

4.1.5. Показатели эффективности интегрированной двухъядерной ОС

4.2. Система ультразвуковой доплерографии сосудов мозга SPECTRA

4.2.1. Принципы ультразвуковой доплерографии

4.2.2. Постановка задачи

4.2.3. Разработка системы SPECTRA на базе двухъядерной ОС

4.3. Сборка мусора в группах логически связанных задач

4.3.1. Сборка мусора, основанная на приоритетах

4.3.2. Групповая сборка мусора

4.3.3. Назначение временных параметров сборщикам мусора

4.3.4. Модификация алгоритма Оудсли

4.4. Выводы по главе

Введение 2002 год, диссертация по информатике, вычислительной технике и управлению, Данилов, Михаил Викторович

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

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

Вопросам планирования в СРВ посвящено большое количество статей и монографий. Значительная их часть содержит описание способов повышения эффективности известных методов планирования. Однако еще не все задачи в этом направлении решены. В частности, во многих источниках отмечаются недостатки, снижающие эффективность планирования, обеспечиваемую протоколами наследования приоритетов - протоколов, используемых в механизмах планирования доступа прикладных задач к разделяемым ресурсам (механизмах защиты разделяемых ресурсов). Между тем эти протоколы являются стандартом де-факто во многих областях применения СРВ. В частности, в таких стандартах как POSIX[ 1], стандарте программных интерфейсов UNIX-систем, и OSEK[2], стандарте интерфейсов системного программного обеспечения встраиваемой в автомобили электроники, протоколы наследования приоритетов являются основными протоколами синхронизации.

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

Предлагаемая работа посвящена вопросам повышения эффективности существующих механизмов планирования и разработке новых механизмов, ориентированных на области применения, появившиеся в последние годы.

Цель и задачи работы. Целью работы является повышение эффективности планирования выполнения задач в системах жесткого РВ. В соответствии с этой целью определены следующие задачи:

1) Анализ известных методов планирования выполнения задач.

2) Разработка протоколов защиты разделяемых ресурсов, превосходящих известные протоколы по эффективности планирования выполнения задач.

3) Разработка методов эффективного планирования выполнения задач в двухъядерных ОС.

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

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

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

Научная новизна. Научная новизна диссертации заключается в следующем:

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

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

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

4) Сформулирована обратная задача приоритетного планирования, задача о назначении временных параметров прикладным задачам в соответствии с их приоритетами; предложены правила, позволяющие облегчить решение обратной задачи приоритетного планирования.

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

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

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

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

Реализация результатов работы. Материалы диссертации используются в ходе занятий со студентами по дисциплине "Программирование встроенных систем реального времени" на базовой кафедре Санкт-Петербургского государственного электротехнического университета - "Автоматизации исследований" при Санкт-Петербургском институте информатики и автоматизации РАН.

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

Предложенные в диссертации методы планирования в двухъядерных ОС также были использованы в HI III "Исток" при создании программного обеспечения системы ультразвуковой доплерографии сосудов мозга SPECTRA.

Предложенный протокол локально невытесняемых критических секций был использован в АОЗТ "Информационные деловые услуги" для организации сборки мусора в виртуальной машине JAVA для СРВ.

Апробация работы. Основные результаты диссертации представлялись на Городском семинаре "Информатика и компьютерные технологии" (Санкт-Петербург, апрель 2000), VII Санкт-Петербургской Международной Конференции "Региональная Информатика - 2000" (декабрь 2000), II ежегодном техническом семинаре Санкт-Петербургской лаборатории отдела разработки программного обеспечения фирмы Моторола "SPSD Technology Day - 2001" (июнь 2001), II Межрегиональной Конференции "Информационная Безопасность Регионов России - 2001" (ноябрь 2001).

Публикации. Основные результаты диссертации опубликованы в 8 печатных работах.

Структура и объем работы. Диссертация содержит введение, четыре главы, заключение, список литературы (138 наименований); 4 таблицы и 30 рисунков (общий объем диссертации - 140 листов).

Заключение диссертация на тему "Методы планирования выполнения задач в системах жесткого реального времени"

4.4. Выводы по главе 4.

1) Разработка двухъядерной ОС на базе ОС общего назначения не требует значительных изменений исходных кодов ядер ОС общего назначения и ОС реального времени. Организация виртуальной машины и интегрированной схемы планирования требует написания всего нескольких сотен строк кода.

2) Реализация предлагаемых структурных и архитектурных решений позволила создать интегрированную двухъядерную ОС, превосходящую двухъядерные ОС, построенные в соответствии с принципом фоновой задачи, как по реактивности, так и по производительности.

3) В качестве программной платформы системы ультразвуковой доплерографии сосудов мозга SPECTRA предпочтительным является использование одной из современных ОС общего назначения. Эксперимент показал нецелесообразность использования в качестве программной платформы системы обычной, немодифицированной ОС общего назначения. В этом случае, обеспечение выполнимости задач системы возможно только аппаратной платформе с процессором, не уступающим по производительности Intel Pentium III 733 MHz.

4) Реализации системы SPECTRA с использованием двухъядерной ОС, в которой реализован принцип интегрированного планирования, позволяет обеспечить выполнимость задач системы на аппаратной платформе с процессором Intel Pentium 166 MHz. Добиться такого результата в системе, построенной на базе двухъядерной ОС, реализующей принцип фоновой задачи, невозможно.

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

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

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

8) Для обеспечения высокой эффективности планирования сборщикам мусора следует назначать временные параметры, в максимальной мере соответствующие их приоритетам. Это обратная задача приоритетного планирования. Предложенные правила позволяют облегчить решение этой задачи.

9) Предложенная модификация алгоритма Оудсли, оптимального алгоритма планирования в системах с произвольными сроками выполнения, имеет сложность 0(mlogm+(k+l) +к), где п - число задач в системе, т - число задач в системе, у которых относительный срок выполнения не больше периода, а к=п-т. Алгоритм Оудсли, используемый ранее для решения этой задачи имеет сложность 0(п+п). Следовательно, предложенная модификация имеет меньшую сложность, чем оригинальный алгоритм.

ЗАКЛЮЧЕНИЕ.

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

1) На базе разбиения множества задач, разделяющих ресурсы, на задачи-читатели и задачи-писатели разработаны протоколы защиты разделяемых ресурсов: асимметричный протокол наследования приоритетов, асимметричный протокол пороговых приоритетов и асимметричный протокол превентивного наследования приоритетов. Последние два протокола обеспечивают большую эффективность планирования в сравнении с известными протоколами.

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

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

4) На базе свободно-распространяемой ОС общего назначения Linux разработана двухъядерная ОС, в которой реализованы интегрированные механизмы планирования. Созданная двухъядерная ОС, превосходит двухъядерные ОС, построенные в соответствии с принципом фоновой задачи, как по реактивности, так и по производительности.

5) Разработана архитектура программного обеспечения для системы ультразвуковой доплерографии сосудов мозга SPECTRA. Реализация интегрированных механизмов планирования в двухъядерных ОС позволила

-128сократить требования программного комплекса к производительности аппаратной платформы.

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

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

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

Библиография Данилов, Михаил Викторович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. 1.formation technology — Portable Operating System Interface (POSIX ®) -Part 1: System Application Program Interface (API) C Language., International Standard ISO/IEC 9945-1: 1996 (E) IEEE Std 1003.1, 1996 Edition.

2. OSEK/VDX. Operating System. Version 2.0 revision 1. http://www.osek-vdx.org.

3. J.A.Stankovic. Real-Time Computing. Department of Computer Since, University of Massachusetts, 1992.

4. В.В.Никифоров, В.А.Павлов. Операционные системы реального времени для встроенных программных комплексов. //Программные продукты и системы.- 1999.- №4,- С.24-30.

5. М.В.Данилов. Методы планирования выполнения задач в системах реального времени. //Программные продукты и системы. №4,- Тверь: 2000.- С.24-28.

6. H.Kopetz. Real-Time Systems. Design Principles for Distributed Embedded Applications. Dordrecht: Kluwer Academic Publishers, 1997.

7. J.A.Stankovic, M.Spuri, M.D.Natale, G.Buttazzo. Implication of Classical Scheduling Results For Real-Time Systems. Pisa, 1994.

8. A.K.Mok. Fundamental Design Problems of Distributed Systems of The Hard-Real-Time Environment. Ph.D. Thesis, Cambridge, Massachusetts, 1983.

9. J.Y.T.Leung, J.Whitehead. On the Complexity of Fixed-Priority Scheduling of Periodic, Real-Time Tasks. Perf. Eval. (Netherlands), 1982-2, C.237-250.

10. J.Lehoczky, L.Sha, Y.Ding. The Rate Monotonic Scheduling Algorithm:

11. Exact Characterization And Average Case Behavior. CSL, School of EE, SNU, 1998.

12. H.Kopetz. Real-Time System Development: The Programming Model of MARS. University of Wien.

13. OSEK/VDX. Time-Triggered Operating System. Version 1.0 release candidate 1. http://www.osek-vdx.org.

14. C.Ebner. Implementation of a TTP/A Prototype. University of Wien, 1995.

15. H.Kopetz. TTP/A The Fireworks Protocol. University of Wien, 1994.

16. K.Jeffay, D.F.Stanat, C.U.Martel. On Non-Preemptive Scheduling of Periodic And Sporadic Tasks. Department of Computer Since, University of North Carolina, 1991.

17. White paper SSX5. Northern Real-Time Application, http://www.nrtg.com.

18. White paper ERCOS. v.l .0. ETAS GmbH&Co. http://www.etas.de.

19. Linux MAN. http://www.linux.org.

20. В.В.Никифоров, M.B.Перевозчиков. Ранжирование периодов задач в системах реального времени. //Программные продукты и системы.-1999.- №4,- С.16-20.

21. K.Tindell, H.Hansson. Real Time Systems by Fixed Priority Scheduling. Department of Computer Since, Uppsala University, 1997.

22. C.L.Liu, J.W.Layland. Scheduling Algorithms For Multiprogramming In A Hard Real-Time Environment. Journal of the ACM, 1973-20, C.40-61.

23. K.Tindell. An Extendible Approach for Analysing Fixed Priority Hard RealTime Tasks. Department of Computer Since, University of York.

24. H.Klein, T.Ralya, B.Pollak, R.Obenza. A Practitioners Handbook For RealTime Analysis. Kluwer Academic Publishers, 1993.

25. R.Obenza. Guaranteeing Real-Time Performance Using Rate Monotonic Analysis. Embedded Systems Conference, 1994. http://www.esc.com.

26. L.Sha, M.H.Klein, J.B.Goodenough. Rate Monotonic Analysis For Real-Time Systems. Embedded Systems Conference, 1991. http://www.esc.com.

27. M Joseph, P.Pandya. Finding Response Times in a Real-Time Systems. BCS Computer Journal, 1986-5-29, C.390-395.

28. В.В.Никифоров, М.В.Данилов. Статическая обработка спецификаций программных систем реального времени. //Программные продукты и системы. №4.- Тверь: 2000.- С. 13-19.

29. K.Ramamritham, J.A.Stankovic. Scheduling Algorithms And Operating Systems Support For Real-Time Systems. Department of Computer Since, University of Massachusetts.

30. N.C.Audsley. Deadline Monotonic Scheduling. Department of Computer Since, University of York, 1990.

31. N.C.Audsley, A.Burns, M.F.Richardson, A.J.Wellings. Hard Real-Time Scheduling: The Deadline-Monotonic Approach. Department of Computer Since, University of York.

32. J.P.Lehoczky. Fixed Priority Scheduling of Periodic Task Sets With Arbitrary Deadlines. 11th IEEE RTS Symposium, 1990, C.201-209.

33. N.C.Audsley. Optimal Priority Assignment And Feasibility of Static Priority Tasks With Arbitrary Start Times. University of York, 1991.

34. A.Burns, K.Tindell, A.J.Wellings. Fixed Priority Scheduling with Deadlines Prior to Completion. Real-Time System Research Group, Department of Computer Since, University of York.

35. A.Burns. Preemptive Priority Based Scheduling: An Appropriate Engineering Approach. Real-Time System Research Group, Department of Computer

36. Since, University of York.

37. N.Audsley, A.Burns. Real-Time System Scheduling. Department of Computer Since, University of York.

38. J.Larsson. ScheduLite: A Fixed Priority Scheduling Analysis Tool. Uppsala University, 1996.

39. E.L.Lawler. Optimal Sequencing of A Single Machine Subject to Precedence Constraints. Management Science, 1973.

40. С.Сорокин. Системы реального времени. //Современные технологии автоматизации.- 1997.- №2.- С.22-29.

41. Э.Дийкстра. Взаимодействие последовательных процессов. В сб.: Языки программирования. /Под ред. Ф.Женюи.- М.: Мир, 1972.

42. С.Кейслер. Проектирование операционных систем для малых ЭВМ. М.: Мир, 1986.

43. А.Робачевский. Операционная система UNIX. СПб: BHV-Санкт-Петербург, 1998г.

44. M.Chen, K.Lin. Dynamic Priority Ceilings: A Concurrency Control Protocol For Real-Time Systems. Journal of Real-Time Systems, 1990.

45. L.Sha, R.Rajkumar, J.P.Lehoczky. Priority Inheritance Protocols: An Approach to Real-Time Synchronization. IEEE Transactions on computers, 1990.

46. N.C.Audsley. Resource Control For Hard Real-Time Systems. University of York, 1991.

47. J.Sun, M.K.Gardner, J.W.S.Liu. Bounding Completion Times of Jobs With Arbitrary Release Times, Variable Execution Times, and Resource Sharing. IEEE, Real-Time Systems Symposium, 1996.

48. J.Sun, J.W.S.Liu. Bounding Completion Times of Jobs With Arbitrary Release Times and Variable Execution Times. IEEE, Real-Time Systems Symposium, 1996.

49. K.Tindell. Embedded Systems In The Automotive Industry. Northern RealTime Applications, http://www.nrtg.com.

50. В.В.Никифоров. Разработка программных средств для встроенных систем. СПб: СПбГЭТУ, 2000.

51. B.Dutertre. The Priority Ceiling Protocol: Formalization and Analysis Using PVS. SDL, Menlo Park, 1999.

52. N.J.Keeling. Missed it! How Priority Inversion Messes Up Real-Time Performance And How The Priority Ceiling Protocol Puts It Right. //Real-Time Magazine. - 1999,- №4,- C.46-50.

53. B.W.Lampson, D.D.Redell. Experiences With Processes And Monitors In Mesa. //Communications of the ACM. 1980, C.105-117.

54. K.Tindell. True Real-Time Embedded Systems Engineering. Embedded Systems Conference, http://www.esc.com.

55. Г.Дейтел. Введение в операционные системы. М.: Мир, т.1, 1987.

56. P.J.Courtois, F.Heymans, D.L.Parnas. Concurrent Control with Readers and Writers. //Communications of the ACM.- 1971,- Vol.14, №10,- C.667-668.

57. C.A.R.Hoare. Monitors: An Operating System Structuring Concept. //Communications of the ACM.- 1974,- Vol.17, №10,- C.549-557.

58. TimeSys Linux/RT. v. 1.0. Programmer's Manual. TimeSys Corporation, 2000. http://www.timesys.com.

59. R.Hill, B.Srinivasan, S.Pather, D.Niehaus. Temporal Resolution And RealTime Extensions to Linux. DEECS, University of Kansas, 1998.http://hegel.ittc.ukans.edu/projects/kurt.

60. RTOS Evaluation Program. Real-Time Consult, 1998. http://www.realtime-info.be.

61. Real-Time Systems With Windows CE. Microsoft Corporation, 1999. http://www.microsoft.com.

62. N.Frampton, J.Tsao, J.Yen. Windows CE Evaluation Report. Powertrain, General Motors, 1998.

63. Technology Brief: Real-Time Systems With Microsoft Windows NT. Publication of the Microsoft Developer Network, Microsoft Corporation, 1995.

64. В.В.Никифоров, В.А.Павлов, В.В.Сидельников. Интеграция систем реального времени с программными средствами общего назначения. //Программные продукты и системы.- 1999.- №4.- С.30-34.

65. Х.Кастер. Основы Windows NT и NTFS. М.: Издательский отдел "Русская редакция" ТОО "Channel Trading Ltd.", 1996.

66. D.A.Solomon. Inside Windows NT. Microsoft Press, 1998.

67. Windows NT Workstation 4.0. Real-Time Consult, 1999. http://www.realtime-info.be.

68. M.Timmerman, B.V.Beneden. L.Uhres. Is Windows CE 2.0 A Real Threat To The RTOS World? //Real-Time Magazine. 1998,- №3,- C.20-24.

69. J.Powell. Multitask Windows NT. Waite Group Press, 1993.

70. В.В.Никифоров, М.В.Данилов, М.В.Осипов. Сопряжение пакетов программ общего назначения с задачами жесткого реального времени. //Программные продукты и системы. №4.- Тверь: 2000.- С. 19-25.

71. M.Timmerman, B.V.Beneden. L.Uhres. Windows NT Real-Time Extensions

72. Better Or Worse? //Real-Time Magazine. 1998,- №3,- C.l 1-19.

73. G.Bollella, K.Jeffay. Support For Real-Time Computing Within General Purpose Operating Systems. Department of Computer Since, University of North Carolina, 1995.

74. В.В.Никифоров, В.А.Павлов, М.В.Данилов, А.В.Глазков, Н.В.Гуцалов. Адаптация ОС Linux к требованиям поддержки программных приложений во встроенных системах. //Программные продукты и системы. №4.- Тверь: 2000,- С. 19-24.

75. HyperKernel 4.3. Real-Time Consult, 2001. http://www.realtime-info.be.

76. Building Distributed Real-Time Systems With Windows NT And INtime. RadiSys Corporation, 1998. http://www.radisys.com.

77. The RTX Real-Time Subsystem For Windows NT. VenturCom Inc., 1999. http://www.venturcom.com.

78. HyperKernel. Reference Manual. Imagination Systems. http://www.imagination.com.

79. RTX 4.2. Real-Time Consult, 2001. http://www.realtime-info.be.

80. INtime 1.20. Real-Time Consult, 2001. http://www.realtime-info.be.

81. V.Yodaiken. The RTLinux Manifesto. New Mexico Institute of Technology. http://www.rtlinux.org.

82. V.Yodaiken, M.Barabanov. A Real-Time Linux. New Mexico Institute of Technology, http://www.rtlinux.org.

83. V.Yodaiken, M.Barabanov. Real-Time Linux Application and Design. New Mexico Institute of Technology, http://www.rtlinux.org.

84. Z.Deng, J.W.-S.Liu. Scheduling Real-Time Applications In An Open Environment. Department of Computer Since, University of Illinois, 1997.

85. H.Lycklama, D.L.Bayer. The MERT Operating System. Bell System Technical Journal, №57, 1978.

86. M.Barabanov. A Linux-Based Real-Time Operating System. New Mexico Institute of Technology, 1997. http://www.rtlinux.org.

87. M.Barabanov, V.Yodaiken. Real-Time Linux. New Mexico Institute of Technology, 1996. http://www.rtlinux.org.

88. M.Goncalves. Is Real-Time Linux For Real? //Real-Time Magazine. 1999.-№4.- C.51.

89. J.Norton, C.Roundy. Real-Time Linux Where Is It Now? //Real-Time Magazine. - 1999,- №3,- C.68-70.

90. P.R.Wilson. Uniprocessor Garbage Collection Techniques. Technical report, Department of Computer Since, University of Texas at Austin, 1994.

91. A.W.Appel. Garbage Collection Can Be Faster Than Stack Allocation. Information Processing Letters, 1987.

92. K.Nilsen, W.J.Schmidt. A High-Level Overview of Hardware Assisted RealTime Garbage Collection. Technical Report 90-18a, Department of Computer Since, Iowa State University, 1990.

93. P.L.Wadler. Analysis of An Algorithm For Real Time Garbage Collection. //Communications of the ACM, Vol.19, №9, 1976.

94. R.Henriksson. Scheduling Garbage Collection In Embedded Systems. Lund, 1998.

95. R.Jones, R.Lins. Garbage Collection: Algorithms For Automatic Dynamic Memory Management. John Wiley & Sons, 1996.

96. A.W.Appel. Garbage Collection. In P.Lee, editor, Topics in Advanced Language Implementation. MIT Press, Cambridge, Massachusetts, 1991.

97. J.Cohen. Garbage Collection of Linked Data Structures. Computing Surveys, 1981.

98. R.Fenichel, J.Yochelson. A Lisp Garbage Collector For Virtual Memory Computer Systems. //Communications of the ACM, Vol.12, №11, 1969.

99. J.McCarthy. Recursive Functions of Symbolic Expressions And Their Computation by Machine, Part I. //Communications of the ACM, Vol.3, №4, 1960.

100. H.G.Baker. List Processing In Real Time On A Serial Computer. //Communications of the ACM, Vol.21, №4, 1978.

101. L-E.Thorelli. A Fast Compactifying Garbage Collector, BIT, Vol.16, №4, 1976.

102. R.R.Fenichel, J.C.Yochelson. A LISP Garbage-Collector For Virtual-Memory Computer Systems. //Communications of the ACM, 1969.

103. M.Bengtsson. Real-Time Garbage Collection. Licentiate thesis, Department of Computer Since, Lund University, 1990.

104. E.W.Dijkstra, L.Lamport, A.J.Martin, C.S.Scholten, E.F.M. Steens. On-The-Fly Garbage Collection: An Exercise In Cooperation. //Communications of the ACM, 1978.

105. P.R.Wilson, M.S.Johnstone. Real-time Non-Copying Garbage Collection. Technical report, Department of Computer Since, University of Texas at Austin, 1993.

106. К.Джамса. JAVA сегодня. Минск: Попурри, 1996.

107. B.Eckel. Thinking in Java. Prentice Hall PTR. http://www.phptr.com.

108. JAVA Platform 1.1 API Specification. Sun Microsystems, 1999. http://java.sun.com.

109. JAVA Virtual Machine 1.0 Specification. Sun Microsystems, 1995. http://java.sun.com.

110. The Real-Time Specification For Java, http://www.rtj.org.

111. International J Consortium Specification. Real-time Core Extensions, www.j-consortium.org.

112. М.В.Данилов. Асимметричный протокол приоритетных порогов. //Программные продукты и системы. №4.- Тверь: 2000.- С.33-37.

113. М.В.Данилов. Специальные механизмы синхронизации в операционных системах реального времени. Материалы VII Санкт-Петербургской международной конференции "Региональная информатика 2000".

114. М.В.Данилов. Асимметричные протоколы защиты целостности разделяемых данных. Материалы II Санкт-Петербургской межрегиональной конференции "Информационная безопасность регионов России 2001".

115. M-CORE: ММС2001 Reference Manual. Motorola Inc., 1998.

116. T.Aslam. Writing Efficient Programs for the Motorola M-CORE Architecture. Embedded Systems Conference, 1998. http://www.esc.com.

117. ARM7 Data Sheet. ARM Ltd., 1994.

118. А.Фролов, Е.Фролов. Операционная система MS-DOS. М.: Диалог-МИФИ, 1992.

119. Intel Architecture Software Developer's Manual. Intel Corporation, 1999.

120. И.И.Шагурин. Микропроцессоры и микроконтроллеры фирмы Motorola. М.: Радио и связь, 1998.

121. МРС509 User's Manual. Motorola Inc., 1998.-140132. A.T.Barrett. MCX11: Microcontroller executive for the Motorola MC68HC11. Version 1.3. Chimney Rock, Houston, Texas, 1990.

122. J.Labrosse. Inside Real-Time Kernels. Embedded Systems Conference, 1998. http://www.esc.com.

123. D.Comer. Operating System Design? The Xinu Approach For The DEC PDP11. Englewood Cliffs: Prentice Hall, Inc., 1984.

124. М.В.Данилов. Групповая сборка мусора в системах реального времени. //Программные продукты и системы. №4.- Тверь: 2000.- С.36-40.

125. M.Danilov. Garbage Collection Scheduling in Real-Time Systems. SPSD Technology Day 2001. Thesis.

126. P.R.Wilson, M.S.Johnstone, N.Neely, D.Boies. Dynamic Storage Allocation: A Survey And Critical Review. Department of Computer Since, University of Texas at Austin, 1995.

127. D.E.Knuth. The Art of Computer Programming, volume 1: Fundamental Algorithms. Addison-Wesley, Reading, Massachusetts, 1969.