Skip to content

Commit

Permalink
Различные исправления (#14)
Browse files Browse the repository at this point in the history
* fix disclaimer and README.md
* add github rendering
* add original terms to some translations
* fix toolchain translation (arguable fix)
  • Loading branch information
AfoninaOlga authored Sep 16, 2023
1 parent 22339b2 commit 110331a
Show file tree
Hide file tree
Showing 15 changed files with 212 additions and 87 deletions.
2 changes: 1 addition & 1 deletion Courses.csv
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
LFD113x-RU,RISC-V_Toolchain_and_Compiler_Optimization_Techniques_LFD113x_RU,Инструментарий и компиляторные оптимизации для RISC-V (LFD113x) RU
LFD113x-RU,RISC-V_Toolchain_and_Compiler_Optimization_Techniques_LFD113x_RU,Тулчейн RISC-V и компиляторные оптимизации (LFD113x) RU
LFD112x-RU,Building_Applications_with_FreeRTOS_and_RISC-V_LFD112x_RU,Создание приложений на базе RISC-V и FreeRTOS (LFD112x) RU
42 changes: 26 additions & 16 deletions LFD112x-RU/Chapters/Chapter1.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
ifdef::env-github[]
:imagesdir: ../images
:riscv: RISC‑V
:tip-caption: :bulb:
:note-caption: :memo:
:important-caption: :heavy_exclamation_mark:
:caution-caption: :fire:
:warning-caption: :warning:
endif::[]

== Введение в RTOS и встраиваемые системы

Эту главу мы начнем с объяснения того, что такое система.
Expand Down Expand Up @@ -129,7 +139,7 @@ https://en.wikipedia.org/wiki/Factory_automation_infrastructure[автомати

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

Основываясь на требованиях пользователя к выполнению задач, системы можно разделить на системы реального времени и общего назначения.
Основываясь на требованиях пользователя к выполнению задач, системы можно разделить на системы реального времени (real-time operating system) и общего назначения (non-real-time operating system).

==== Системы общего назначения

Expand All @@ -146,10 +156,10 @@ https://en.wikipedia.org/wiki/Factory_automation_infrastructure[автомати

Система реального времени -- ограниченная по времени система, имеющая чётко определенные, фиксированные временные ограничения.
Обработка должна быть выполнена в течение определенного времени, иначе система выйдет из строя.
Такие системы являются либо событийно-ориентированными (они же управляемые событиями), либо с разделением времени.
Системы, управляемые событиями, переключают задачи на основе их приоритетов (это также называется вытесняющим планированием),
а системы с разделением времени переключают задачи на основе тактовых прерываний.
Большинство RTOS используют алгоритм вытесняющего планирования.
Такие системы являются либо событийно-ориентированными (event-driven), либо с разделением времени (time-sharing).
Первые переключают задачи на основе их приоритетов (это также называется вытесняющим планированием),
вторые же переключают задачи на основе тактовых прерываний (clock interrupts).
Большинство RTOS используют алгоритм вытесняющего планирования (preemptive scheduling).

Если система реального времени не отвечает на запрос пользователя в течение ожидаемого времени, это несоответствие может привести к опасным последствиям.

Expand All @@ -172,8 +182,8 @@ https://en.wikipedia.org/wiki/Factory_automation_infrastructure[автомати
Ключевой характеристикой RTOS является постоянство количества времени, которое требуется для принятия и завершения задачи приложения.
Изменчивость времени завершения задачи (также известная как джиттер) в RTOS детерминирована.

«Жёсткая» RTOS имеет меньший джиттер, чем «мягкая».
Если в мягкой RTOS задержка ответа допустима, то в жёсткой RTOS она недопустима.
Система жёсткого реального времени имеет меньший джиттер (jitter), чем система мягкого реального времени.
Если в «мягкой» RTOS задержка ответа допустима, то в «жёсткой» -- нет.
RTOS, которая обычно или в целом может уложиться в срок, является мягкой RTOS, но если она может уложиться в срок детерминированно, то это жёсткая RTOS.
Основной целью проектирования RTOS является не высокая пропускная способность, а скорее гарантированная задержка той или иной категории производительности.
Другими словами, ожидается, что RTOS будут иметь минимальную задержку прерывания и минимальную задержку переключения потоков;
Expand All @@ -185,11 +195,11 @@ RTOS включает в себя усовершенствованный алг

Наиболее распространенными конструкциями RTOS являются:

* Управляемые событиями.
* Управляемые событиями (event-driven).
+
Задачи переключаются только тогда, когда требуется обслуживание события с более высоким приоритетом;
этот тип алгоритма переключения называется вытесняющим или приоритетным планированием.
* С разделением времени.
* С разделением времени (time-sharing).
+
Задачи переключаются как по регулярному тактовому прерыванию, так и по событиям;
примером алгоритма переключения с разделением времени является https://ru.wikipedia.org/wiki/Round-robin_(%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC)[round-robin].
Expand All @@ -203,9 +213,9 @@ RTOS включает в себя усовершенствованный алг
В RTOS задача может находиться в одном из трех различных состояний.

[arabic]
. _Выполняется_ (выполняется на процессоре).
. _Готова_ (готовность к выполнению).
. _Заблокирована_ (ожидание события, например, ввода/вывода).
. _Выполняется_ (running, выполняется на процессоре).
. _Готова_ (ready, готовность к выполнению).
. _Заблокирована_ (blocked, ожидание события, например, ввода/вывода).

Для задач могут быть определены и другие состояния, но три вышеперечисленных являются стандартными и обычно достаточными для большинства RTOS.

Expand All @@ -229,11 +239,11 @@ RTOS включает в себя усовершенствованный алг

* кооперативное планирование;
* вытесняющее планирование;
* планирование с монотонной скоростью;
* round-robin (или круговое обслуживание);
* вытесняющее планирование с фиксированным приоритетом;
* планирование с монотонной скоростью (rate monotonic);
* round-robin;
* вытесняющее планирование с фиксированным приоритетом (fixed-priority preemptive scheduling);
* по ближайшему сроку завершения (earlier deadline first);
* статическое планирование.
* статическое планирование (static time).

==== Взаимодействие между задачами и совместное использование ресурсов

Expand Down
Loading

0 comments on commit 110331a

Please sign in to comment.