Система ОС ЕС

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

Как пример одного из немногих случаев невыразимости некоторых языковых средств языков управления ОС в терминах JCL ОС ЕС укажем на конструкции типа если и цикл, которые, повышая изобразительную силу языков управления заданиями (они возможны, например, в системах GEORGE и SCOPE для CDC, в «Эль-76» и др.), вносят все же элементы ненадежности в управление вычислительными системами в связи с возможностью трудно диагностируемой некорректности на самых уязвимых этапах автоматизированного планирования заданий и шагов заданий в ОС. Стремление уменьшить такого рода ненадежность за счет максимальной линеаризации программ управления заданиями было одним из принципиальных решений при проектировании систем ОС ЕС. О параллельном программировании. Отдельные задачи распараллеливания и синхронизации вычислительных процессов возникали и находили то или иное решение на всех этапах развития вычислительного дела; найденные решения получали программную или аппаратную реализацию, а с накоплением теоретического и практического опыта отдельные общие механизмы распараллеливания закреплялись в виде определенных примитивов в языках программирования и общения с ОС. В разной форме и в разных аспектах подобные вопросы неоднократно и тщательно обсуждались.

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

В практике разработки и использования мультипроцессорных и многомашинных вычислительных систем имеется широкий спектр слабокоррелирующих архитектур: от крайне радикальных подходов типа data-flow (с практически не планируемой заранее синхронизацией процессов по степени готовности данных к обработке) до подходов типа МВК (макроконвейерные вычислительные комплексы) с традиционным анализом вычислительных алгоритмов с целью выявления и формирования — статически либо динамически — вычислительно емких подзадач, пригодных для физически одновременного их решения разными процессорами.

Заметим, что на последовательностное программирование «работает» вся многовековая математическая культура алгоритмизации, но хотя и можно слышать призывы перестроить ее «параллельно», говорить об общих успехах в такого рода перестройках оснований пока нет.