Update README_RU.md

This commit is contained in:
Dmitry 2021-11-16 18:27:53 +03:00 committed by GitHub
parent 24565f30d3
commit 6d44b0257e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 7 deletions

View File

@ -2,6 +2,10 @@
<img alt="Coverity Scan Build Status"
src="https://scan.coverity.com/projects/23951/badge.svg"/>
</a>
<a href="https://github.com/eremex/fxrtos-lite/actions">
<img alt="Build Status"
src="https://github.com/eremex/fxrtos-lite/actions/workflows/build.yml/badge.svg"/>
</a>
Описание
@ -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) в зависимости от количества активных таймеров в системе. Возможные решения: Ограничьте максимальное количество программных таймеров и не используйте временные интервалы.