Операционные системы общего назначения
Модульная структура операционных систем
Программный модуль - программа, рассматриваемая как целое в контекстах хранения в наборе данных, трансляции, объединения с другими программными модулями, загрузки в оперативную память для выполнения или разработки в составе программного комплекса.
При разработке программного обеспечения его разделение на модули происходит по функциональному признаку, что способствует минимизации числа межмодульных связей и, следовательно, уменьшению сложности разрабатываемого программного комплекса.
Размеры модулей при этом обычно составляют несколько десятков, реже несколько сотен операторов алгоритмического языка. При исполнении программ различают исходный модуль - программу, выраженную на принятом при разработке комплекса языке программирования, объектный модуль - программу, полученную в результате трансляции на машинный язык, и загрузочный модуль - программу, прошедшую редактирование и готовую к помещению в оперативную память и после настройки адресных констант по месту загрузки - к исполнению. Загрузочный модуль может включать в себя несколько объектных и ранее отредактированных загрузочных модулей.
Операционные системы общего назначения
Различают три типа операционных систем (ОС) общего назначения: поддерживающие однопрограммный режим работы и диалоговый способ общения, обеспечивающие пакетную обработку задач в режиме мультипрограммирования и операционные системы разделения времени.
Операционные системы общего назначения, поддерживающие однопрограммный режим работы и диалоговый способ общения включают в себя средства, обеспечивающие ввод и вывод информации, управляют работой системных обрабатывающих программ - трансляторов, редакторов, предоставляют пользователю сведения о ходе выполнения задач, обеспечивают работу с библиотеками. Обычно такие операционные системы называют мониторными. Они не повышают производительности ЭВМ, но позволяют программисту вмешиваться в ход выполнения задания, что резко повышает производительность его работы, особенно на этапе отладки программ.
Операционные системы общего назначения, обеспечивающие пакетную обработку задач в режиме мультипрограммирования применяются в ВС средней и большой производительности. В RAM ЭВМ одновременно находится несколько системных и пользовательских задач, и когда одна из них обрабатывается процессором, то для остальных осуществляются необходимые обмены с внешним устройством (ВУ).
Эффективность использования ВС при этом во многом зависит от состава пакета задач, подлежащих выполнению, так как могут возникать ситуации, когда все задачи находятся в состоянии ожидания и процессор простаивает ( в условиях потока отладочных задач, каждая из которых характеризуется многократными обменами и незначительным временем, затрачиваемым собственно на счет). Эффективность работы пользователя при этом невысокая, так как в условиях пакетной обработки задач он не имеет возможности вмешиваться в процесс выполнения своей программы.
Рассмотрим основные функции ОС общего назначения, обеспечивающей мультипрограммный режим обработки задач.
Операционная система должна выполнять рациональное планирование работ по обработке всех поступающих задач (комплекс мероприятий по вводу задач в ЭВМ, распознаванию их характеристик, размещению всех входных наборов данных на внешних носителях, организации входных и выходных очередей).
Как правило, задачи из входного потока данных, прочитанного одним из внешних устройств (ВУ), не сразу попадают в RAM ЭВМ, а размещаются на устройствах внешней памяти. В режимах пакетной обработки задачи выстраиваются в очередь (входную очередь), место задачи в очереди определяется ее приоритетом. Перенос задачи из очереди в RAM ЭВМ происходит автоматически.
При реализации комплекса мероприятий, выполняемого ОС непосредственно перед началом решения задачи, главное внимание уделяется предоставлению всех необходимых для решения задачи ресурсов ВС (области RAM, места на диске, требующихся наборов данных и т.п.)
Если для решения очередной задачи не хватает ресурсов, ОС должна принять одно из следующих решений:
· отобрать часть ресурсов у какой - либо другой задачи, выполнявшейся в данный момент и менее приоритетной;
· подождать, пока какая-нибудь из решаемых задач завершится и освободит требуемый ресурс;
· пропустить вне очереди ту задачу, чья очередь еще не подошла, но для выполнения которой ресурсов достаточно.
Операционные системы разделения времени позволяют реализовать возможность повышения производительности труда пользователя за счет его доступа к своей задаче в процессе ее выполнения и повышения производительности ВС за счет мультипрограммирования. Режим разделения времени создает иллюзию одновременного доступа нескольких пользователей ко всем вычислительным ресурсам ВС. Каждый пользователь общается с системой так, как если бы ему одному принадлежали все вычислительные ресурсы: он может остановить выполнение своей задачи в нужном месте, просмотреть требуемые области RAM, с заданного места выполнить свою программу по командам и т.д. На самом же деле каждый пользователь получает для своей задачи достаточную зону RAM, процессор и прочие вычислительные ресурсы только в течение определенного и достаточно малого интервала времени, как уже говорилось выше - кванта.
Пропускная способность ВС в режиме разделения времени ниже, чем при обработке задач в режиме мультипрограммирования, из-за накладных расходов ОС, вызванных частыми переключениями процессора и главным образом многочисленными переносами задач из RAM на жесткий диск и обратно, то есть свопингами. Во многих пользовательских системах режим разделения времени сочетается с пакетной обработкой задач в режиме мультипрограммирования. В этом случае RAM ЭВМ разделяется на зону для пакетной обработки и на зону (или несколько зон в зависимости от емкости RAM) для выполнения задач в режиме разделения времени. Такое сочетание позволяет загружать процессор даже в ситуациях, когда все пользователи режима разделения времени остановят выполнение своих задач. Такие системы используются при решении научно- технических задач. При этом главное назначение таких ОС - обеспечение более высокой эффективности использования всех вычислительных ресурсов ВС и достижение максимальных удобств в работе пользователя. Однако использование операционных систем общего назначения в условиях работы конкретного пользователя часто означает явную избыточность многих системных средств. В таких случаях применяют ОС специального назначения.