Операционные системы. Многозадачность и многопотоковость

Страницы работы

Содержание работы

3.1.”Операционные системы”

3.1.1.   Введение в операционные системы (ОС). Исторический обзор. Назначение и основные функции ОС: управление устройствами, управление задачами и процессами, управление данными. ОС для ЭВМ различных классов. Управляющая программа ОС. Язык директив. Командные файлы.

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

3.1.3.   Режимы работы ЭВМ. Работа ЭВМ в режиме мультипрограммирования, разделения времени и реального времени. Пакетный и диалоговый режимы работы. Система прерываний, маскирование прерываний. Защита памяти, привилегированные команды.

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

Лекция 4.

Итак, мы посвятили достаточно много времени проблемам синхронизации в многозадачных системах. Давайте повторим основные рассмотренные вопросы:

Многозадачность и многопотоковость - два часто употребляемых нами термина, особенно когда речь заходит о 32 - разрядных операционных системах, таких как Windows 95 b Windows NT. Что мы под этим понимаем?

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

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

В чем отличие многопотоковости от многозадачности? Выгоднее ли она?

В ОС Windows 3.x каждая исполняемая прикладная программа представляет собой отдельную задачу (task). ОС делит между ними процессорное время, используя для этих целей механизм диспетчеризации, реализующий принцип кооперативной многозадачности. В соответствии с этим принципом каждая прикладная программа уступает по истечении выделенного ей кванта времени управление ОС, которая затем передает его другой задаче. Диспетчеризация осуществляется на уровне задач, поэтому переключение с одной из них на другую означает следующую операцию:

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

Прерывания.

Прерывание - это событие, при котором меняется нормальная последовательность команд, выполняемых процессором.

Если произошло прерывание, то обычно выполняется последовательность строго определенных для данной ОС действий:

n управление передается ОС

n ОС запоминает состояние прерванного процесса. В большинстве ОС это состояние запоминается в блоке управления процессом

n ОС анализирует тип прерывания и передает управление соответствующей программе обработки этого прерывания

Существует несколько схем обработки прерываний. Рассмотрим одну из них.

n Прерывания ввода - вывода инициируются аппаратурой ввода - вывода. Они сигнализируют ЦП о том, что произошло изменение состояния канала или УВВ. Прерывания ввода - вывода происходят, например, когда завершается операции ввода - вывода, возникает ошибка или устройство переходит в состояние готовности.

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

n Внешние прерывания - удобное средство сообщить системе о внешних событиях. Такими событиями могут быть

n истечение кванта времени, заданного на таймере

n нажатие клавиши на клавиатуре

n перемещение мыши

n сигнал от другого процессора в многопроцессорной системе

Похожие материалы

Информация о работе