logo search
Методическое пособие КИТ_3_Лекции

3.4 Операционная среда.

Из множества человеко-машинных систем мы более подробно рассмотрим так называемые операционные среды (или операционные системы) - системы общего назначения, предоставляющие пользователю возможность решать самые разнообразные задачи. Термин "операционная система (ОС)" обычно возникает в рассмотрении системы с точки зрения разработчика; нас же интересует прежде всего точка зренияпользователя, поэтому мы будем употреблять менее распространенный термин "операционная среда (ОС)".

Операционная среда - это совокупность инструментов, методов их интеграции и приемов работы с ними, позволяющая решать любые задачи в инструментальной области и большинство задач в прикладных областях. Отличие операционной среды от специализированной (например, статистического пакета SPSS) состоит в том, что, во-первых, в операционной среде есть средства решения задач во многих прикладных областях (а не в одной), а во-вторых, если инструмента решения какой-то задачи нет, то средствами операционной среды его всегда можно создать. Здесь мы окончательно отождествляем машину и компьютер, причем не просто микропроцессор, а компьютер общего назначения, обладающий развитой системой ввода, вывода, хранения и переработки информации. Только такой мощный инструмент, как компьютер, может служить платформой для построения системы, способной выполнять задачи из различных сфер деятельности человека.

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

Часто бывает, что для представления пользовательского ресурса подходит системный (например, файл в качестве хранилища данных). Однако в общем случае каждому пользовательскому ресурсу должна соответствовать определенная системная модель, объединяющая несколько системных ресурсов и задающая правила их использования.

Задача в операционной среде - это объект системы, выполняющий системные или прикладные функции и потребляющий системные ресурсы; чаще всего считается, что задачи принадлежат какому-нибудь пользователю системы или ей самой. В зависимости от важности для ОС, задаче может быть выделено определенное количество ресурсов каждого вида. Иными словами, управление ресурсами рассматривается как их закономерное распределение между задачами и самой системой.

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

Главный системный ресурс, разделять который необходимо с наименьшей паразитной нагрузкой, - машинное время. Самый простой способ разделения времени - пакетноевыполнение задач. Каждой задаче отводится некоторый промежуток машинного времени, в течение которого она обязана запуститься, отработать и завершиться. Если задача завершилась до истечения отведенного ей времени, запускается следующая. Если не успела завершиться, ее выполнение прерывается (навсегда), о чем пользователь получает уведомление, и опять-таки запускается следующая задача. Затраты на работу самой системы здесь минимальны (запустить, прервать), значит, почти все время будут работать пользовательские задачи. В то же время для организации операционной среды этот способ крайне неудобен.

Предположим, пришло десять пользователей системы, и все они запустили по интерактивной задаче, причем каждый желает, чтобы обслуживали именно его. Одна обменная задача потребует секунду процессорного времени, но работа с ней займет у пользователя пять минут. Стало быть, грамотно устроенная операционная среда могла бы обслуживать всех этих пользователей, причем так, чтобы они не мешали друг другу. Оставшиеся 96% процессорного времени можно по ходу дела отдавать другим задачам.

Здесь нужно использовать другой способ разделения времени - псевдопараллелизм (многозадачность, multitasking). В самой упрощенной форме псевдопараллелизм выглядит так. Поскольку процессор на самом деле один (даже если не один, это ничего не меняет; другое дело, если бы процессоров было сколько угодно!), то и задача в каждый момент времени выполняется на нем одна. Но выполняется недолго, скажем, 4 нс (наносекунды). После этого состояние задачи записывается куда-нибудь в системную память, а сама задача встает последней в очередь задач, готовых к выполнению. Вместо нее немножко работаетпервая задача в этой очереди, потом и с ней происходит то же самое, и т. д. Когда очередь опять доходит до исходной задачи, ее состояние восстанавливается и она продолжает работу с момента останова. Состоянием (иликонтекстом) задачи называется информация, необходимая для того, чтобы задача продолжала работать как ни в чем не бывало: значение регистров процессора, место, где было прервано выполнение, собственные часы, табличка использования оперативной памяти и пр. Практически все компьютерные архитектуры имеют встроенные команды процессора, позволяющие аппаратно сохранять и восстанавливать контекст задачи.