Операционные системы с разделением времени

Операционные системы с разделяемым временем так или иначе выделяют кусок времени каждой исполняемой программе (процессу) - чтобы программа могла "посчитать" что ей нужно. Кому и сколько времени давать решает планировщик задач - специальная служба в рамках операционной системы.

Разделение времени связано со следующими моментами:

  1. программа не только считает на процессоре - она ещё работает с памятью -то есть пока он с процессором не работает - можно дать процессор другой программе - чтобы не простаивал
  2. имеет смысл те задачи которые выполняются быстро (например открытие текстового файла) "обсчитать" сразу, а вот длинные - пусть подождут (например - обработка видеофайла)

Примеры:

  • windows xp
  • ubuntu 12.0

На вики читаем:

Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.

Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) — в пакетном режиме.