Юный техник 1984-10, страница 16

Юный техник 1984-10, страница 16

щие очередностью выполнения задач, работой устройств овода-вывода данных. Даже операторам, обслуживающим машины, оии выдают приказания вроде: «Заправьте бумагу в устройство печати № 6!», «Установите пакет магнитных дисков № 121!»

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

десять, и сто, и тысячу... Единственная возможность организовать как следует работу такой армии — вновь обратиться за помощью к самому компьютеру, точнее, научить его самостоятельно .решать эту сложную задачу. Так появились «распараллелива-тели» — программы, распределяющие работу между параллельными процессорами.

Казалось бы, сделано все возможное. Однако и здесь нужна оговорка. Распараллелить работу, очевидно, можно тоже разными способами. Одни будут лучше, другие — хуже. Но всегда есть только одно-единс венное, наилучшее, оптимальное решение, которое обеспечивает наименьшее время выполнения программы или наилучшую загрузку процессоров. Но работа ,распа-раллеливателя тоже ведь отнимает время, зачастую немалое. Вполне может статься, что выигрыш за счет улучшения плана решения задачи будет сведен на нет затратами" времени на поиск этого плана! Так что на практике обычно ограничиваются вариантом, про который лишь известно (есть особые оценочные методы), что он близок к наилучшему.

Набор программ, предназначенных для помощи программистам и операторам, для организации работы самого компьютера, — стандартные подпрограммы, компиляторы, распараллеливатели, диспетчеры и многие другие — называют операционной системой. Операционные системы для больших машин, выполняющие столько различных действий, что только перечисление их заняло бы не одну страницу, могут поспорить сложностью с любым другим творением техники. На разработку каждой из них уходят годы кропотливого труда — больше, чем на саму ЭВМ!

Под управлением операционной системы компьютер может работать на полную мощность —