diff --git a/README_RU.md b/README_RU.md index c6dd157..2a76577 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,6 +2,10 @@ Coverity Scan Build Status + + Build Status + Описание @@ -49,8 +53,7 @@ API включает в себя следующие сервисы: С чего начать --------------- -Этот репозиторий содержит несконфигурированную версию ядра, представленную в виде набора компонентов - исходных текстов. Это полезно, если вы хотите создать специфическую -конфигурацию или внести свой вклад в развитие ОС. +Этот репозиторий содержит несконфигурированную версию ядра, представленную в виде набора компонентов - исходных текстов. Это полезно, если вы хотите создать специфическую конфигурацию или внести свой вклад в развитие ОС. В случае, если вам просто нужно готовое ядро для использования в своём приложении, подумайте об использовании предварительно сконфигурированных ядер, доступных для ARM и RISC-V. ### Как собрать библиотеку из предварительно настроенных источников: @@ -70,7 +73,7 @@ API включает в себя следующие сервисы: - GCC_PREFIX в качестве префикса компилятора, если вы используете GCC (например, 'arm-none-eabi-' для ARM, если компилятор доступен через PATH) - FXDJ как путь к инструменту внедрения зависимостей [fx-dj.py](https://github.com/Eremex/fx-dj) - Войдите в каталог для целевого ядра (например, cores/standard-cortex-m3) -- Запустите build.bat в Windows или make src, а затем make lib в Linux / Mac +- Запустите 'build.bat' в Windows или 'make src', а затем make lib в Linux / Mac - Если сборка зависимостей завершилась неудачей, то перед повторной попыткой необходимо удалить созданный скриптом каталог ./src ### Как использовать @@ -80,14 +83,12 @@ API включает в себя следующие сервисы: Ограничения ----------- -Обратите внимание, что версия Lite - это ядро, работающее в режиме мягкого реального времени. Он НЕ предназначен для детерминированной работы в реальном времени. -Расширенные функции, такие как детерминированные таймеры, отложенная обработка прерываний с малой задержкой, поддержка многопроцессорности, разделение уровней привилегий и безопасность -доступны только в полной версии. За подробностями обращайтесь в отдел продаж EREMEX. +Обратите внимание, что версия Lite - это ядро, работающее в режиме мягкого реального времени. Он НЕ предназначен для детерминированной работы в реальном времени. Расширенные функции, такие как детерминированные таймеры, отложенная обработка прерываний с малой задержкой, поддержка многопроцессорности, разделение уровней привилегий и безопасность доступны только в полной версии. За подробностями обращайтесь в отдел продаж EREMEX. При разработке приложений с критичным временем задержки с использованием версии Lite следует учитывать следующие ограничения: - Широковещательная передача (или "уведомление всех") объектов синхронизации, таких как condvar или event. Большее количество ожидающих потоков приводит к увеличению задержки, поскольку процесс уведомления не является вытесняющим. Возможные решения: не использовать широковещательные объекты или ограничивать максимальное количество ожидающих потоков. -- Политика уведомления на основе приоритетов с объектами синхронизации (т. Е. Отправка семафора и освобождение ожидающего потока с наиболее приоритетным приоритетом) использует линейный поиск с отключенным планированием. Это означает, что N ожидающих потоков приводит к неограниченному планированию O (n) и задержке прерывания. Возможные решения: используйте политику уведомления FIFO или ограничьте максимальное количество ожидающих потоков для любого объекта синхронизации. +- Политика уведомления на основе приоритетов с объектами синхронизации (например увеличение счётчика семафора и освобождение ожидающего потока с наибольшим приоритетом) использует линейный поиск с отключенным планированием. Это означает, что N ожидающих потоков приводит к неограниченному времени планирования и задержке прерываний O(n). Возможные решения: используйте политику уведомления FIFO или ограничьте максимальное количество ожидающих потоков для любого объекта синхронизации. - Очистка очереди сообщений освобождает до N потоков, где N - длина очереди. Возможные решения: не используйте очистку очереди или ограничьте длину очереди разумным значением. - Реализация таймеров использует сортированные очереди и линейный поиск, что дает задержку O(n) в зависимости от количества активных таймеров в системе. Возможные решения: Ограничьте максимальное количество программных таймеров и не используйте временные интервалы.