Что такое время выполнения 1 потока (квант), если число одновременных потоков равно 10, а время SysTick равно 10 мсек?
В настоящее время я работаю с 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 ответ
Для циклического планировщика, использующего интервалы времени 10 мс, если имеется один ЦП и всегда 10 задач; тогда всегда будет одна задача, фактически использующая ЦП, и 9 задач, ожидающих использования ЦП. В этом случае планировщик дает задаче 10 мс процессорного времени, затем выгрузит и выполняет задачу, переключается на следующую задачу и дает ей 10 мс времени и т. Д.; таким образом, каждая задача будет получать 10 мс процессорного времени каждые 100 мс.
То, что я хочу знать, является ли интервал времени 10 мсек, передаваемый одному потоку, или он снова делится на 10 частей для 10 одновременно работающих потоков (рассмотрим использование кругового планирования робина).
Для циклического перебора длина временного среза - это время, которое будет отдано любой задаче - срезы в 10 мс не будут разбиты на более мелкие срезы (в противном случае это был бы циклический перебор с временными срезами в 1 мс, иначе быть циклическим перебором - например, стал бы "переменным временем").