You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
В этом разделе мы поговорим об операционной системе, требованиях к ней и о том, какой тип следует использовать для конкретных приложений.
131
141
132
-
Основываясь на требованиях пользователя к выполнению задач, системы можно разделить на системы реального времени и общего назначения.
142
+
Основываясь на требованиях пользователя к выполнению задач, системы можно разделить на системы реального времени (real-time operating system) и общего назначения (non-real-time operating system).
Система реального времени -- ограниченная по времени система, имеющая чётко определенные, фиксированные временные ограничения.
148
158
Обработка должна быть выполнена в течение определенного времени, иначе система выйдет из строя.
149
-
Такие системы являются либо событийно-ориентированными (они же управляемые событиями), либо с разделением времени.
150
-
Системы, управляемые событиями, переключают задачи на основе их приоритетов (это также называется вытесняющим планированием),
151
-
а системы с разделением времени переключают задачи на основе тактовых прерываний.
152
-
Большинство RTOS используют алгоритм вытесняющего планирования.
159
+
Такие системы являются либо событийно-ориентированными (event-driven), либо с разделением времени (time-sharing).
160
+
Первые переключают задачи на основе их приоритетов (это также называется вытесняющим планированием),
161
+
вторые же переключают задачи на основе тактовых прерываний (clock interrupts).
162
+
Большинство RTOS используют алгоритм вытесняющего планирования (preemptive scheduling).
153
163
154
164
Если система реального времени не отвечает на запрос пользователя в течение ожидаемого времени, это несоответствие может привести к опасным последствиям.
Ключевой характеристикой RTOS является постоянство количества времени, которое требуется для принятия и завершения задачи приложения.
173
183
Изменчивость времени завершения задачи (также известная как джиттер) в RTOS детерминирована.
174
184
175
-
«Жёсткая» RTOS имеет меньший джиттер, чем «мягкая».
176
-
Если в мягкой RTOS задержка ответа допустима, то в жёсткой RTOS она недопустима.
185
+
Система жёсткого реального времени имеет меньший джиттер (jitter), чем система мягкого реального времени.
186
+
Если в «мягкой» RTOS задержка ответа допустима, то в «жёсткой» -- нет.
177
187
RTOS, которая обычно или в целом может уложиться в срок, является мягкой RTOS, но если она может уложиться в срок детерминированно, то это жёсткая RTOS.
178
188
Основной целью проектирования RTOS является не высокая пропускная способность, а скорее гарантированная задержка той или иной категории производительности.
179
189
Другими словами, ожидается, что RTOS будут иметь минимальную задержку прерывания и минимальную задержку переключения потоков;
@@ -185,11 +195,11 @@ RTOS включает в себя усовершенствованный алг
185
195
186
196
Наиболее распространенными конструкциями RTOS являются:
187
197
188
-
* Управляемые событиями.
198
+
* Управляемые событиями (event-driven).
189
199
+
190
200
Задачи переключаются только тогда, когда требуется обслуживание события с более высоким приоритетом;
191
201
этот тип алгоритма переключения называется вытесняющим или приоритетным планированием.
192
-
* С разделением времени.
202
+
* С разделением времени (time-sharing).
193
203
+
194
204
Задачи переключаются как по регулярному тактовому прерыванию, так и по событиям;
195
205
примером алгоритма переключения с разделением времени является 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].
@@ -203,9 +213,9 @@ RTOS включает в себя усовершенствованный алг
203
213
В RTOS задача может находиться в одном из трех различных состояний.
204
214
205
215
[arabic]
206
-
. _Выполняется_ (выполняется на процессоре).
207
-
. _Готова_ (готовность к выполнению).
208
-
. _Заблокирована_ (ожидание события, например, ввода/вывода).
216
+
. _Выполняется_ (running, выполняется на процессоре).
217
+
. _Готова_ (ready, готовность к выполнению).
218
+
. _Заблокирована_ (blocked, ожидание события, например, ввода/вывода).
209
219
210
220
Для задач могут быть определены и другие состояния, но три вышеперечисленных являются стандартными и обычно достаточными для большинства RTOS.
211
221
@@ -229,11 +239,11 @@ RTOS включает в себя усовершенствованный алг
229
239
230
240
* кооперативное планирование;
231
241
* вытесняющее планирование;
232
-
* планирование с монотонной скоростью;
233
-
* round-robin (или круговое обслуживание);
234
-
* вытесняющее планирование с фиксированным приоритетом;
242
+
* планирование с монотонной скоростью (rate monotonic);
243
+
* round-robin;
244
+
* вытесняющее планирование с фиксированным приоритетом (fixed-priority preemptive scheduling);
235
245
* по ближайшему сроку завершения (earlier deadline first);
236
-
* статическое планирование.
246
+
* статическое планирование (static time).
237
247
238
248
==== Взаимодействие между задачами и совместное использование ресурсов
0 commit comments