Операционные системы, среды и оболочки — это комплект программных продуктов, которые предназначены для управления компьютерным оборудованием и обеспечения его связи с пользователем.
Программы трансляции и интерпретации
Современное компьютерное оборудование является очень сложной аппаратной и программной системой. Проектирование программных продуктов для компьютеров, их настройка и дальнейшее использование является очень сложной и трудоёмкой задачей. Главная проблема состоит в значительной разнице между тем, что считается удобным для человека и тем, что является удобным для компьютера. Компьютеру понятен специализированный машинный язык, а людям понятен и привычен язык, на котором они общаются между собой, в крайнем случае, язык алгоритмов.
Данная проблема может быть решена двумя методами, и оба предполагают разработку командной системы, более удобной для людей, чем система машинных команд компьютера. Отличие двух вышеназванных методов заключается только в том, как компьютер станет исполнять программные продукты, которые написаны на некотором алгоритмическом языке. Согласно первому методу нужно заменить каждую команду языка алгоритмов на необходимый комплекс машинных команд. Тогда в итоге компьютер будет исполнять фактически новую программу, состоящую из машинных команд, взамен программы, выполненной на алгоритмическом языке. Такая система носит название трансляции.
Второй метод заключается в формировании программы на языке машинных кодов, но на основании некоторых исходных данных, которыми является программа на языке алгоритмов. Последовательно рассматривается каждая команда на алгоритмическом языке и тут же осуществляется выполнение эквивалентного комплекта машинных команд. Такая система фактически не нуждается в составлении новой программы в машинных кодах, и именуется интерпретацией. Программа, осуществляющая процесс интерпретации, является интерпретатором.
Операционная система была спроектирована для автоматизации действий оператора и сокрытия от пользователей всего усложнённого взаимодействия с оборудованием, подарив ему понятную командную систему. Нижние уровни не предназначены для использования программистами, которые разрабатывают прикладные программы. Они обслуживают функционирование программ интерпретации и трансляции, которые в свою очередь поддерживают более высокие программные уровни. Сами программы трансляции и интерпретации пишут системные программисты, специализирующиеся на проектировании и реализации новых виртуальных машин. Выше уровня операционной системы располагаются другие системные программные модули. К ним относятся командные интерпретаторы, являющиеся оболочкой, а также программы компиляции, редактирования и так далее. Эти программные модули не входят в состав операционной системы, хотя иногда ошибочно некоторые пользователи оболочку принимают за часть операционной системы.
Следует отметить, что операционной системой являются программы, запускаемые в режиме ядра. Другое название этого режима — супервизор. Операционной системе гарантирована защита от необдуманных, или случайных вредоносных операций со стороны пользователей при помощи специализированных аппаратурных методов.
Операционные системы, среды и оболочки
Операционная система осуществляет пару главных, но не взаимосвязанных функций. А именно, организация ресурсного управления и обеспечение более высокого уровня компьютерных возможностей. С позиции пользователей, операционные системы являются виртуальными машинами, которые обеспечивают более лёгкий процесс программирования и управления компьютером, чем прямое управление аппаратными средствами, являющимися элементами физического устройства компьютера.
Но позиция, определяющая операционную систему в виде удобного пользовательского интерфейса, является взглядом на ситуацию сверху вниз. Если посмотреть с другой стороны, то есть снизу вверх, то операционная система является механизмом, управляющим всеми составляющими частями этой очень сложной структуры.
Понятие операционной системы в нынешней его трактовке возникло гораздо позднее первых электронных вычислительных машин. Когда появилась полупроводниковая комплектация, вычислительная мощность компьютеров сильно возросла. Параллельно с этим наблюдался и прогресс в сфере написания программ и организационной структуре вычислительных операций. Сложность реализация программ тоже возросла и состояла из следующих процедур:
- Операция загрузки необходимого транслятора.
- Пуск программы трансляции и формирование машинных кодов программы.
- Установление связи сформированной программы с библиотекой подпрограмм.
- Выполнение загрузки программы в зону оперативной памяти.
- Пуск программы.
- Организация вывода итогов выполнения программы на печать или другую периферию.
Чтобы организовать эффективную загрузку всего компьютерного оборудования, в вычислительные центры добавили штатных операторов, которые стали выполнять функции организаторов вычислительных процессов для всех специалистов центров. Но каким бы классным не был оператор, ему было невозможно угнаться за быстродействием компьютера.
К концу пятидесятых годов двадцатого века передовые компании начали выпускать операционные системы с такими параметрами, которые справедливы и сегодня:
- Возможность пакетной обработки единого потока задач.
- Стандартные программы для ввода и вывода информации.
- Автоматический переход между выполняемыми программами.
- Функции, позволяющие восстановить работу после появления ошибок.
- Наличие языков для управления заданиями, позволяющие пользователям описать используемые задания и ресурсные возможности, необходимые для их реализации.
Современные операционные системы служат для того, чтобы пользователю не было необходимости вникать во все сложности иерархической организации программно-аппаратного обеспечения компьютера. Для пользователя компьютер представляется в виде набора различных программных приложений.