Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Многозадачность в системах пакетной обработки



Понятие многозадачности

Многозадачность – способ организации вычислительного процесса, при котором на одном процессоре выполняется несколько программ. Эти программы совместно используют процессор и другие ресурсы компьютера – память, устройства ввода-вывода и т.п.

Многозадачность применяется с целью повышения эффективности использования вычислительной системы.

Критерии эффективности:

-Пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени

- Удобство работы пользователей – имеется возможность интерактивно работать с несколькими приложениями на одном компьютере

-Реактивность системы – способность системы выдерживать заранее заданные промежутки времени между запуском программы и получением результатов

Однозадачная система

Процессы выполняются последовательно – друг за другом.

Многозадачность в системах пакетной обработки

Критерий эффективности систем пакетной обработки – максимальная пропускная способность системы и максимальная загруженность аппаратуры.

Перед выполнением задач формируется мультипрограммная смесь. Совмещают одновременное выполнение задач, требующих различные ресурсы.

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

Временная диаграмма выполнения задач в системах пакетной обработки

-время выполнения каждой задачи увеличилось

-общее время выполнения задач уменьшилось

-возможна ситуация монопольного захвата процессора активным процессом

Многозадачность в системах разделения времени

Цель систем разделения времени – повышение эффективности и удобства работы пользователя с несколькими приложениями.

Время работы системы делится на кванты и каждому процессу попеременно выдается квант времени для работы. Таким образом, пользователь может интерактивно работать со всеми запущенными на выполнение приложениями.

Временная диаграмма выполнения задач в системах разделения времени

-время выполнения каждой задачи увеличилось

-производительность снижается из-за большей частоты переключений процессов

-монопольный захват процессора активным процессом не возможен

Диаграмма состояний потока

Создание и завершение процесса

Процесс создается в следующих случаях:

-инициализация системы (создание, активация, подготовка к работе, определение параметров. Приведение программы или устройства к состоянию готовности к использованию)

- выполнение системного запроса на создание процесса от уже работающего процесса

- выполнение запроса пользователя на создание процесса

-инициация пакетного задания

Процесс завершается в следующих случаях:

-обычный выход

-выход по ошибке

-уничтожение другим процессом

Процедура создания процесса:

При создании процесса ОС необходимо:

-создать описатель процесса (объект-процесс в Windows)

-обнаружить на накопителе местоположение файла с кодом программы

-перераспределить память и выделить область памяти для нового процесса

-загрузить с накопителя программу (или ее часть) в область памяти

-создать поток для выполнения

-перевести поток в состояние готовности

При создании потока ОС создает описатель потока, содержащий:

1.идентификатор потока.2.данные о правах доступа.3.данные о приоритете потока.4. состояние потока

Понятия, связанные с процессом:

Образ процесса – совокупность кода и данных процесса

Дескриптор процесса – информационная структура, содержащая информацию о процессе, необходимую ядру в течении всего жизненного цикла процесса. Содержит следующие данные:

-состояние процесса

- расположение образа процесса в памяти и на диске. Образ процесса - совокупность кода и данных процесса.

-приоритет процесса

-идентификатор пользователя - владельца процесса

- родственные процессы

- ресурсы, выделенные процессу

- события, осуществление которых ожидается процессом

Дескрипторы процессов хранятся в таблице в области памяти ядра. Они используются для планирования и синхронизации процессов.

Понятия, связанные с потоком:

С каждым потоком связаны:

1.идентификатор2.состояние3.маркер доступа4.стеки (режима ядра и пользователя)5.контекст

Контекст потока – информационная структура, содержащая информацию о процессе, необходимую ядру для возобновления выполнения потока с прерванного места. Содержит следующие данные:

- значение счетчика команд

- содержимое регистров процессора

- режим работы процессора

-коды ошибок выполняемых процессором системных вызовов

-указатели на открытые файлы

-данные о незавершенных операциях ввода - вывода

-флаги, маски, прерывания и т.п.

Контекст хранится в адресном пространстве ядра, но может быть выгружен на диск.

13.Алгоритмы планирования. Планирование в Windows.

Планирование – работа ОС по переключению потоков. Включает в себя:

-определение момента времени для смены текущего активного потока

-выбор для выполнения потока из очереди готовых потоков

Типы планирования:

-динамическое – решение принимается в соответствии с текущим состоянием системы

-статическое – заранее просчитывается расписание выполнения потоков

Диспетчеризация – реализация найденного при планировании решения по переключению потоков. Сводится к следующему:

-сохранение контекста текущего потока

-загрузка контекста нового потока

-запуск нового потока на выполнение

Виды алгоритмов планирования:

1.невытесняющие 2.вытесняющие

Невытесняющие алгоритмы планирования:

Активный поток выполняется до тех пор, пока сам не передаст управление планировщику для выбора нового потока.

Передача управления осуществляется с помощью специального системного вызова.

+ поток не прерывается в «неудобный» момент времени

упрощается совместное использование данных

более высокая скорость переключений потоков

- необходимость реализации части функции планировщика в каждом потоке

возможность монопольного захвата процессора потоком

крах всей системы при зависании активного потока

Вытесняющие алгоритмы планирования:

Взаимоблокировки. Варианты решения проблемы блокировок в ОС

Варианты решения проблемы:

• Игнорирование проблемы

•  Обнаружение и устранение взаимоблокировок

•  Избежание взаимоблокировок

•  Предотвращение взаимоблокировок

Обнаружение и устранение взаимоблокировок:

обнаружение взаимоблокировок – с использованием графа ресурсов

методы выхода из взаимоблокировки:

- восстановление через откат

- уничтожение одного из процессов, участвующих в блокировке

Избежание взаимоблокировок:

Безопасное состояние – система не в тупике и существует порядок планирования при котором все процессы завершаются успешно, даже если все они потребуют максимальных ресурсов

Небезопасное состояние – при запросах ресурсов возможна тупиковая ситуация

Алгоритм банкира:

Каждый запрос на ресурс проверяется: приводит ли его удовлетворение к безопасному состоянию?

 если ДА, то запрос удовлетворяется

если НЕТ, то запрос откладывается

Предотвращение взаимоблокировок:

Для предотвращения возможности взаимоблокировок необходимо нарушить хотя бы одно из условий их возникновения.

(Условия возникновения взаимоблокировки:

-Условие взаимного исключения: каждый ресурс или отдан одному процессу или свободен

-Условие удержания и ожидания: процессы, удерживающие полученные ресурсы, могут запрашивать новые

-Условие отсутствия принудительной выгрузки ресурса: у процесса нельзя принудительно отобрать ресурс, он должен освободить его сам

-Условие циклического ожидания: существует замкнутая последовательность двух и более процессов, каждый из которых ждет доступа к ресурсу, удерживаемому следующим членом последовательности)

-Все ресурсы последовательно нумеруются

- При запросе нескольких ресурсов они запрашиваются в соответствии с их номером

Предотвращение взаимоблокировки:

Запрос ресурсов в порядке их нумерации. Процесс А получил ресурс P и прервался

 Процесс B получает ресурсы P и S и выполняется

Процесс A получает ресурс S ,выполняется и освобождает ресурсы S и P

Процесс В пытается получить ресурс Р, но он занят Переходит в состояние ожидания

Типы адресов:

-символьные имена – присвоенные программистом при создании программы

-виртуальные адреса – адреса, сгенерированные транслятором в предположении, что начальный адрес процесса в памяти = 0

-физические адреса – адреса ячеек памяти в которых расположены код и данные процесса.

Виртуальное адресное пространство – совокупность виртуальных адресов процесса.

Максимально возможное виртуальное адресное пространство зависит от разрядности архитектуры. У 32 разрядных ОС - 4Г.

Назначенное адресное пространство – реально выделенное процессу множество адресов.

Виртуальная память:

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

Варианты реализации:

-страничная – обмен между памятью и диском осуществляется

блоками     фиксированного размера – страницами.

- сегментная – обмен между памятью и диском блоками произвольного размера с учетом смыслового значения данных

- сегментно-страничная – память делится на сегменты, которые в свою очередь делятся на страницы. Обмен между памятью и диском осуществляется страницами.

Страница – единица деления виртуального адресного пространство.

Страничный блок – единица деления физической памяти.

Для преобразования номера страницы в номер страничного блока физической памяти используется таблица страниц. Она содержит записи – дескрипторы страниц.

Страничное распределение памяти:

Многоуровневые таблицы страниц:

Для систем Pentium размер страницы 4К. Размер дескриптора – 32 бита.

Для 32 разрядного виртуального пространства (4Г) размер таблицы страниц – 4М.

Для уменьшения объема таблицы страниц в памяти используют многоуровневые таблицы страниц.

Получение физического адреса из виртуального:

Вся память делится на ячейки(1 байт), у каждой свой адрес.

Адрес разбивается на 3 части(номер раздела, номер стр в разделе, смещение).

По номеру раздела в каталог.

По номеру страницы в разделе выходим на запись о номере стр блока.

Смещение остается прежним.

Виртуальное адресное пространство в Windows :

Понятие многозадачности

Многозадачность – способ организации вычислительного процесса, при котором на одном процессоре выполняется несколько программ. Эти программы совместно используют процессор и другие ресурсы компьютера – память, устройства ввода-вывода и т.п.

Многозадачность применяется с целью повышения эффективности использования вычислительной системы.

Критерии эффективности:

-Пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени

- Удобство работы пользователей – имеется возможность интерактивно работать с несколькими приложениями на одном компьютере

-Реактивность системы – способность системы выдерживать заранее заданные промежутки времени между запуском программы и получением результатов

Однозадачная система

Процессы выполняются последовательно – друг за другом.

Многозадачность в системах пакетной обработки

Критерий эффективности систем пакетной обработки – максимальная пропускная способность системы и максимальная загруженность аппаратуры.

Перед выполнением задач формируется мультипрограммная смесь. Совмещают одновременное выполнение задач, требующих различные ресурсы.

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


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 401; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.063 с.)
Главная | Случайная страница | Обратная связь