Краткая схема такого компьютера может быть представлена следующим рисунком: Задачи, вводимые в мультизадачный компьютер, поступают в очередь на решение. Оттуда, при наличии свободной линии, задачи поступают в вычислитель, решаются и после выполнения попадают в выходную очередь, результаты их выводятся оператору и компьютер прекращает какие‑либо действия в отношении них. По ходу вычислений задачи могут снова возвращаться во входную очередь вследствие особенностей вычислений (например, нужны сведения, которые прибудут только завтра). И каждая задача сопровождается полной информацией обо всех этапах ее выполнения. Если задача одна, она сразу же попадает в блок вычислителя, решается и поступает на выход, после чего компьютер прекращает какие‑либо действия в отношении этой задачи. Если задач поступает несколько, но в количестве, не превышающем число задач, которые могут решаться одновременно, они также поступают в вычислитель, и далее все происходит по той же схеме. Если же число задач превосходит количество задач, могущих решаться одновременно, задачи поступают в общую очередь, и далее поступают в вычислитель в порядке наибольшего приоритета важности, а также с учетом того, есть ли свободная линия (или время) для вычисления. При выборе задачи в вычислитель поступает первой та задача, которая имеет наибольший приоритет, а не та, которая первой вводилась. Теперь представим, что задачи в очередь все поступают и поступают, причем быстрее, чем они оттуда выдергиваются вычислителем. Тогда задачи, имеющие низкий приоритет, застрянут в очереди «навечно». Одна из линий компьютера всегда обрабатывает очередь. После определенного размера очереди подключается другая линия, и так далее до тех пор, пока все время компьютера не будет занято очередью. Другой случай. Пусть задача, попавшая в вычислитель, решается слишком долго. Это сказывается на быстроте решения остальных задач, поскольку свободных линий (или времени) для вычисления остается меньше. Если такие времяемкие задачи садятся на все линии компьютера, то продвижение очереди останавливается, и, даже если в очередь поступает задача с более высоким приоритетом, чем текущие выполняемые, она игнорируется до тех пор, пока какая‑то из текущих не завершит свою работу. Аналогично этому задача, которая одна садится на все линии компьютера вследствие особенностей вычислений, действует точно также. Но и поступит она в вычислитель не раньше, чем освободятся сразу все линии, то есть, скорее всего, никогда. — 53 —
|