Многозадачность


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

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

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz