Что такое время выполнения 1 потока (квант), если число одновременных потоков равно 10, а время SysTick равно 10 мсек? - PullRequest
0 голосов
/ 07 января 2019

Я сейчас работаю с RTOS, их у меня есть Time Tick Value = 10 mSec и Number of concurrent running tasks = 10.

Теперь мой вопрос: каким должно быть время моей нити (квант)?

Я думаю, Single Thread Time = Time Tick Value / Number of concurrent running tasks но я не уверен. Пожалуйста, поправьте меня, если я здесь ошибаюсь.

Кроме того, каковы факторы, повлиявшие на изменение времени одного потока?

терминологии:

Значение такта времени: Доступное время ЦП делится на время срезы и ядро ​​RTX назначает временной интервал для каждой задачи (время по умолчанию срез установлен на 10 мс).

Время одной нити - временной интервал, взятый одной нитью в цикле календарное планирование, если их всего 10 задач (потоков).

Количество одновременно выполняемых задач всегда остается постоянным. Я не буду время ожидания защитной нити.

То, что я хочу знать, это то, задан ли временной интервал 10 мсек для одного потока, или он снова разделится на 10 частей для 10 одновременных запущенных потоков (предположим, что я использую планирование циклического перебора).

1 Ответ

0 голосов
/ 07 января 2019

Для циклического планировщика, использующего интервалы времени 10 мс, если есть один ЦП и всегда 10 задач; тогда всегда будет одна задача, фактически использующая ЦП, и 9 задач, ожидающих использования ЦП. В этом случае планировщик дает задаче 10 мс процессорного времени, затем выгрузит и выполняет задачу, переключается на следующую задачу и дает ей 10 мс времени и т. Д .; таким образом, каждая задача будет получать 10 мс процессорного времени каждые 100 мс.

То, что я хочу знать, это то, задан ли временной отрезок 10 мсек для одного потока или он снова разделится на 10 частей для 10 одновременных запущенных потоков (предположим, что я использую планирование циклического перебора).

Для циклического перебора длина временного среза - это время, которое будет дано любой задаче - срезы в 10 мс не будут разбиты на более мелкие срезы (в противном случае это будет циклический перебор с временными срезами в 1 мс или не будет круговой - например, станет "переменным временем").

...