diff options
| author | Andrey Zgarbul <zgarbul.andrey@gmail.com> | 2021-04-04 08:15:13 +0300 |
|---|---|---|
| committer | Andrey Zgarbul <zgarbul.andrey@gmail.com> | 2021-04-08 12:22:43 +0300 |
| commit | 05bda2b1bd2e15f5a20cda1444992eb9b6c8887e (patch) | |
| tree | 25330724d4e6d9ea3a62b592c07bfc5799c7da57 /README_ru.md | |
| parent | 83cdf00eecb0f14857b5e0f28e884b2120eabb18 (diff) | |
update russian translation of the book
Diffstat (limited to 'README_ru.md')
| -rw-r--r-- | README_ru.md | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/README_ru.md b/README_ru.md new file mode 100644 index 0000000..918d03e --- /dev/null +++ b/README_ru.md @@ -0,0 +1,118 @@ +# Real-Time Interrupt-driven Concurrency + +Конкурентный фреймворк для создания систем реального времени. + +Также известный как Real-Time For the Masses. + +[](https://crates.io/crates/cortex-m-rtic) +[](https://docs.rs/cortex-m-rtic) +[](https://rtic.rs/) +[](https://github.com/rust-lang/rust/releases/tag/1.36.0) +[](https://matrix.to/#/#rtic:matrix.org) +[](https://hackmd.io/@xmis9JvZT8Gvo9lOEKyZ4Q/SkBJKsjuH) + +## Возможности + +- **Задачи** как единица конкуренции [^1]. Задачи могут *запускаться от событий* + (срабатывать в ответ на асинхронные воздействия) или вызываться по запросу программы. + +- **Передача сообщений** между задачами. Если точнее, сообщения можно передавать + программным задачам в момент вызова. + +- **Очередь таймера** [^2]. Программные задачи можно планировать на запуск в определенный + момент в будущем. Эту возможность можно использовать для создания периодических задач. + +- Поддержка приоритета задач, и, как результат, **вытесняющей многозадачности**. + +- **Эффективное, избавленное от гонок данных, разделение ресурсов** благодаря легкому + разбиению на *основанные на приоритетах* критические секции [^1]. + +- **Выполнение без Deadlock**, гарантируемое на этапе компиляции. Данная гарантия строже, + чем та, что предоставляется [стандартный абтракцией `Mutex`][std-mutex]. + +[std-mutex]: https://doc.rust-lang.org/std/sync/struct.Mutex.html + +- **Минимальные расходы на диспетчеризацию**. Диспетчер задач иммет минимальную программную + базу; основная работа по диспетчеризации происходит аппаратно. + +- **Высокоэффективное использование памяти**: Все задачи разделяют единый стек вызовов и + отсутствует ресурсоемкая зависисмость от динамического аллокатора. + +- **Все Cortex-M устройства полностью поддерживаются**. + +- К такой модели задач можно применять так называемый анализ WCET (Наихудшего времени выполнения), + а также техники анализа диспетчеризации. (Хотя мы еще не разработали дружественный к Rust'у + инструментарий для этого.) + +## Требования + +- Rust 1.51.0+ + +- Приложения должны быть написаны в редакции 2018. + +## [Документация пользователя](https://rtic.rs) + +## [Справочник по API](https://rtic.rs/stable/api/) + +## Чат + +Присоединяйтесь к нам, чтобы говорить о RTIC [в Matrix-комнате][matrix-room]. + +Записи еженедельных собраний можно найти в [HackMD][hackmd] + +[matrix-room]: https://matrix.to/#/#rtic:matrix.org +[hackmd]: https://hackmd.io/@xmis9JvZT8Gvo9lOEKyZ4Q/SkBJKsjuH + +## Внести вклад + +Новые возможности и большие изменения следует проводить через процесс RFC в +[соответствующем RFC-репозитории][rfcs]. + +[rfcs]: https://github.com/rtic-rs/rfcs + +## Благодарности + +Этот крейт основан на [языке Real-Time For the Masses][rtfm-lang], созданном Embedded +Systems group в [Техническом Университете Luleå][ltu], под руководством +[Prof. Per Lindgren][per]. + +[rtfm-lang]: http://www.rtfm-lang.org/ +[ltu]: https://www.ltu.se/?l=en +[per]: https://www.ltu.se/staff/p/pln-1.11258?l=en + +## Ссылки + +[^1]: Eriksson, J., Häggström, F., Aittamaa, S., Kruglyak, A., & Lindgren, P. + (2013, June). Real-time for the masses, step 1: Programming API and static + priority SRP kernel primitives. In Industrial Embedded Systems (SIES), 2013 + 8th IEEE International Symposium on (pp. 110-113). IEEE. + +[^2]: Lindgren, P., Fresk, E., Lindner, M., Lindner, A., Pereira, D., & Pinho, + L. M. (2016). Abstract timers and their implementation onto the arm cortex-m + family of mcus. ACM SIGBED Review, 13(1), 48-53. + +## Лицензия + +Все исходные тексты (включая примеры кода) лицензированы под одной из лицензий: + +- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) или + [https://www.apache.org/licenses/LICENSE-2.0][L1]) +- MIT license ([LICENSE-MIT](LICENSE-MIT) или + [https://opensource.org/licenses/MIT][L2]) + +[L1]: https://www.apache.org/licenses/LICENSE-2.0 +[L2]: https://opensource.org/licenses/MIT + +на ваш выбор. + +Текст книги лицензирован по условиям лицензий +Creative Commons CC-BY-SA v4.0 ([LICENSE-CC-BY-SA](LICENSE-CC-BY-SA) или +[https://creativecommons.org/licenses/by-sa/4.0/legalcode][L3]). + +[L3]: https://creativecommons.org/licenses/by-sa/4.0/legalcode + +### Условия участия + +Если вы не укажете этого отдельно, любой вклад, который вы предоставите в эту работу, +как указано в тексте лицензии Apache-2.0, будет лицензирован по условиям, +указанным выше, без каких-либо дополнительных условий. |
