2016-06-09 3 views
0

Правильно, что в идеале предотвращение задачи другой задачей разрешено только системами RTOS, тогда как в системе без RTOS задача может быть вытеснена прерыванием или ISR, а не другой задачей.Упреждающая задача при отсутствии RTOS

Также приведенное ниже утверждение верно для упреждающего ядра, оно также применимо к превентивным задачам.

«большинство операционных систем не позволяют это сделать, но это необходимо для некоторых приложений, таких как в реальных системах время»

+0

Вы задали более или менее тот же вопрос несколько дней назад и приняли ответ. Что было непонятно в этом ответе? Если было непонятно, почему вы приняли его? Ваш последний абзац в кавычках, но цитаты нет. Это также неверно, Windows, Linux, OSX (и другие ОС Unix) - все превентивные операционные системы, которые не являются RTOS (как объяснено в принятом ответе на ваш предыдущий близкий идентичный вопрос). – Clifford

+0

Возможный дубликат [Возможно прерывание между задачами в системе без RTOS] (http://stackoverflow.com/questions/37518975/is-interruption-between-task-is-possible-in-non-rtos-system) – Clifford

ответ

0

RTOS стенды для операционных систем реального времени.

Вы должны сравнить различные алгоритмы планирования, такие как FCFS, SJF, Priority Scheduling, Round-Robin Multiple queue и т. Д. У каждого есть плюсы и минусы. Затем вы можете понять, почему мы используем приоритет приоритетных в rtos. Потому что это необходимость. Пример Vxworks имеет приоритет, но при выполнении двух задач с одинаковым приоритетом для циклического цикла.

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

Отметьте комментарии. Informational link

+0

Благодарю. Вопрос здесь в том, используют ли системы non rtos prioirty preemptive или нет. Если нет, то правильно ли говорить, что только ISR может прервать задачу, а не другие задачи. –

+0

Но это даже не правда; большинство современных операционных систем * являются превентивными. – Clifford

+0

@Clifford Да, большинство операционных систем являются превентивными для повышения производительности. Предотвращение также может быть проблемой, если ядро ​​занято выполнением системного вызова (например, обновление критических структур данных ядра), когда происходит преемственность. Большинство современных UNIX-систем справляются с этой проблемой, заставляя процесс ждать, пока системный вызов не будет завершен или заблокирован раньше позволяя это исключение, это делает его недетерминированным. Это может быть проблемой для rtos. Кроме того, поскольку «ВРЕМЯ» является основным фактором в «RTOS». Мы не можем ожидать задержек, поэтому Priority Prefective подходит. Исправьте меня, если я ошибаюсь. –

Смежные вопросы