Многозадачная иллюзия на единственном потоковом процессоре?

Каково официальное объяснение того? Я всегда, кажется, забываю.

-2
задан 12.04.2011, 01:42

4 ответа

Многозадачность или многопоточность на единственном процессоре также называют воспринятой многопоточностью. Очевидно, с одним ЦП, не возможно выполнить команды одновременно. Вместо этого мы чередуем процессы, давая иллюзию многопоточности.

Как @Journeyman Фанат добавил, это использует вытеснение. Это - то, где у нас есть своего рода структура (думайте очередь), где программы хранятся, и каждый процесс заставляет столько циклов выполняться. Затем в настоящее время запускающая программа вытесняется (или выгружается с другой программой), и затем это прогоны программы. Существует много стратегий к определению, которое программы выполняют когда. Мы могли быть абсолютно справедливыми (исключая: Циклический алгоритм), и каждая программа получает определенный квант времени, или мы могли разделить программы приоритетом и только выполнить более низкую приоритетную программу, когда больше нет программ более высокого приоритета для выполнения (исключая: Приоритетная Очередь).

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

4
ответ дан 27.11.2019, 23:31

гиперпоточность, скорее всего, с современными системами - короче говоря, часть, но не целое ядро дублирована, таким образом, больше потоков может быть выполнено на ядро

2
ответ дан 27.11.2019, 23:31

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

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

Посмотрите Википедию для получения дополнительной информации.

1
ответ дан 27.11.2019, 23:31

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

Кстати, в языке Unix акцент переносится на восприятие, что система кажется посвященной запросам каждого пользователя. Мы называем это просто "многопользовательским".

1
ответ дан 27.11.2019, 23:31

Теги

Похожие вопросы