Рекомендуется следующее распределение модулей ОС по файлам проекта:
| Файл | Что содержит |
| global.c | Описание всех глобальных переменных проекта |
| int.c | Модуль поддержки ISR (если это задано в индивидуальном задании) |
| os.c | Модуль, предназначенный для управления ОС |
| resource.c | Модуль, предназначенный для управления ресурсами |
| task.c | Модуль, предназначенный для управления задачами |
| event.c | Модуль, предназначенный для управления событиями (если это задано в индивидуальном задании) |
Тем не менее, соблюдение этих рекомендаций не является обязательным. Можно, например, поместить весь полезный код операционной системы в один файл os.c, а остальные оставить пустыми.
Все макросы, описания типов, декларации функций и другие объекты языка С, которые необходимо включать в пользовательское приложение, должны быть сосредоточены в одном заголовочном файле rtos_api.h.
Для организации взаимодействия модулей операционной системы между собой можно использовать любое количество заголовочных файлов. Их названия и содержимое не регламентируется.
[1] Это состояние необходимо реализовать только в проектах с управлением событиями.
[2] Вызов диспетчера необходим не во всех случаях. Необходимость вызова диспетчера при захвате/освобождении ресурса зависит от протокола управления ресурсами и определяется тем был ли измены приоритеты задач при вызове планировщика или нет.
[3] Вызов диспетчера необходим если флаги нужных задаче событий не установлены и задача переводится в состояние ожидания.






