Состав операционной системы и внутренняя структура её программ в значительной степени зависят от так называемой конфигурации ЦВМ, то есть от входящего в её состав оборудования (ЦВМ одного и того же типа могут отличаться числом блоков памяти на
Средствами для поддержания системы М. о. в рабочем состоянии служат программы дублирования материалов на машинных носителях записи, формирования библиотек подпрограмм, программы выполнения «ежедневного туалета» операционной системы (например, «чистка» магнитных лент и дисков, редактирование информации) и тому подобное. К этому же разделу М. о. относятся программы, с помощью которых в начале эксплуатации ЦВМ получают некоторый вариант информационной системы, соответствующий имеющейся конфигурации ЦВМ, и вносят изменения в операционную систему в связи с изменением конфигурации ЦВМ или при модернизации операционной системы.
Средства программирования объединяют разнообразные программы, используемые для составления новых программ: трансляторы с различных алгоритмических языков; программы, собирающие программы из так называемых модулей; программы, автоматизирующие отладку вновь разрабатываемых программ, и другие.
Система средств программирования предусматривает обычно использование алгоритмических языков (так называемых входных языков программирования) трёх уровней: машинно-ориентированных языков (типа языка ассемблера); проблемно-ориентированных алгоритмических языков, удобных для программирования узких классов задач (например, язык RPG, принятый для ЦВМ фирм IBM, ICL и многие другие); одного или нескольких универсальных алгоритмических языков, таких, как алгол, фортран, кобол. Возможность отладки на ЦВМ программ, заданных на алгоритмических языках, должна быть заложена либо в самих трансляторах, либо обеспечена с помощью самостоятельных отладочных программ.
Система средств программирования ЦВМ третьего поколения, как правило, основывается на модульном принципе. Модулями называются массивы информации, заданные на алгоритмическом языке вычислительной системы или на входном языке программирования. Массивы, заданные на входных языках программирования, должны содержать информацию, необходимую для их преобразования в модули. Программу, собирающую программы из модулей, иногда называют «композером». В составе операционной системы иногда предусматривают библиотеку модулей (на языке исполнительной системы). Новые модули, составленные в процессе программирования, могут быть включены в состав библиотеки модулей с помощью соответствующей программы из числа средств поддержания системы М. о.
В раздел «приложения» системы М. о. входят программы решения конкретных задач, например таких, как транспортная задача, задача решения системы линейных уравнений, распределительная задача линейного программирования, задача выравнивания динамических рядов и пр. Программы, входящие в «приложения», обычно группируются по классам задач (например, пакет линейной алгебры, пакет математической статистики и другие).
Существуют два способа разработки общего М. о. При первом способе М. о. разрабатывается и отлаживается на вспомогательной ЦВМ, на которой для этого программно моделируется исполнительная ЦВМ. Этот способ удобен тем, что М. о. можно разрабатывать заблаговременно, в отсутствии исполнительной ЦВМ. Однако при этом необходимо наличие достаточно мощной вспомогательной ЦВМ, уже имеющей М. о. При втором способе М. о. разрабатывают уже после появления хотя бы опытного образца исполнительной ЦВМ. Разработка М. о. ведётся таким образом, чтобы уже имеющиеся части М. о. могли быть использованы при создании недостающих частей. Экономически выгодно при разработке новых ЦВМ сохранять в них систему команд ЦВМ, разработанных ранее и уже имеющих М. о. При этом все программы, разработанные для уже действующих ЦВМ, могут быть использованы и в новой ЦВМ, если последняя укомплектована достаточным оборудованием.