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


Скачать 0.73 Mb.
Название Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос
страница 4/5
Тип Программа
rykovodstvo.ru > Руководство эксплуатация > Программа
1   2   3   4   5

Тупик возникает при перестановке местами операций P(e) и P(b) в примере с процессами “читатель” и “писатель”, рассмотренном выше – ни один из этих потоков не сможет завершить начатую работу и возникнет тупиковая ситуация, которая не может разрешиться без внешнего воздействия.


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

Однако очередь – неотъемлемый признак высокого коэффициента использования ресурсов при случайном поступлении запросов а тупик – “неразрешимая” ситуация.

Проблема тупиков требует решения следующих задач:

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

-предотвращение тупиков,

-восстановление системы после тупиков.

Распознавание тупиков

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

Предотвращение тупиков

Тупики могут быть предотвращены на стадии проектирования и разработки программного обеспечения, чтобы тупик не мог возникнуть ни при каком соотношении взаимных скоростей процессов.

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

Восстановление системы после тупиков

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

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

вернуть некоторые процессы в область «свопинга»

совершить «откат» некоторых процессов до т.н. контрольной точки, в которой запоминается вся информация, необходимая для восстановления выполнения программы с данного места.


Контрольные точки расставляются в программе в местах, после которых возможно возникновение тупика.

11. Механизмы межпроцессного взаимодействия (каналы, очереди сообщений, разделяемая память)

Каналы

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

Очереди сообщений

Механизм очередей сообщений (queues) в целом схож с механизмом каналов, но позволяет процессам и потокам обмениваться структурированными сообщениями. Один или несколько процессов независимым образом могут посылать сообщения процессу – приемнику.

Работа с очередями сообщений имеет ряд отличий от работы с каналами:

Очередь сообщений представляет возможность использовать несколько дисциплин обработки сообщений (FIFO, LIFO, приоритетный доступ, произвольный доступ); каналы обеспечивают лишь дисциплину FIFO

Если при чтении сообщений оно удаляется из канала, то при чтении сообщения из очереди этого не происходит, и сообщение может быть прочитано несколько раз

В очереди присутствуют не сами сообщения, а их адреса в памяти и размер. Эта информация размещается системой в сегменте памяти, доступном для всех задач, общающихся с помощью данной очереди

Основные функции управления очередью:

Создание новой очереди Открытие существующей очереди

Чтение и удаление сообщений из очереди Чтение без последующего удаления

Добавление сообщения в очередь Завершение использование очереди

Удаление из очереди всех сообщений Определение числа элементов в очереди

Разделяемая память(РП)

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

Для работы с разделяемой памятью используют четыре системных вызова:

shmget - создает новый сегмент РП или находит существующий сегмент с тем же ключом

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

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

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

12. Управление памятью: задачи управления, типы адресации

Задачи по управлению памятью

отслеживание свободной и занятой памяти

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

вытеснение процессов из ОП на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов

возвращение процессов в оперативную память, когда в ней освобождается место

настройка адресов программы на конкретную область физической памяти

зашита памяти (не позволит выполняемому процессу записывать или читать данные из памяти, назначенной другому процессу). Функция, как правило, реализуется программно – аппаратными средствами
Типы адресации



Между первым и вторым этапами обращения к памяти имеют форму виртуального адреса. Множество всех допустимых значений виртуального адреса для некоторой программы определяет ее виртуальное адресное пространство.

Возможны различные варианты перехода от символьных имен к физическим адресам.

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

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

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

Распределение памяти:

В однопрограммных ОС:

Непрерывное

Оверлейное

В мультипрограммных ОС:

Фиксированными разделами

Динамическими разделами

Перемещаемыми разделами

Непрерывное распределение – это самая простая и распространенная схема, согласно которой вся память условно может быть разделена на три области:

Область, занимаемая ОС

Область, в которой размещается исполняемый процесс

Свободная область памяти

Такая схема распределения влечет за собой два вида потерь вычислительных ресурсов:

Потерю процессорного времени, потому что процессор простаивает, пока задача ожидает завершения операций ввода-вывода

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

(+)

Недорогая реализация, которая позволяет отказаться от многих второстепенных функций ОС, например, защита памяти – единственное, что следует защищать - программные модули и области памяти самой ОС)

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

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

Поочередно можно загружать в память ветви А-В, А-С-D и А-С-Е программы

Мультипрограммные ОС

Для организации мультипрограммного режима необходимо обеспечить одновременное расположение в ОП нескольких задач (целиком или частями)

При решении этой задачи ОС должна учитывать целый ряд моментов:

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

Должны ли сегменты программы, загруженные в память, находится в одном месте в течении всего периода выполнения процесса или можно ее время от времени сдвигать

Что следует предпринять, если сегменты программы не помещаются в имеющуюся память


Распределение памяти фиксированными разделами

Простейший способ управления ОП состоит в том, что память разбивается на несколько областей фиксированной величины, называемых разделами. Разбиение может быть выполнено вручную оператором во время старта системы или во время ее установки.

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

Очередной новый процесс, поступивший на выполнение помещается либо в общую очередь(а), либо в очередь к некоторому разделу(б)



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

Сравнивает объем памяти, требуемый для вновь поступившего процесса, с размерами свободных разделов и выбирает подходящий раздел

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

(+): простота

(-):Существенные потери памяти от внутренней фрагментации

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

Применялся в ранних мультипрограммных ОС, сейчас – в ОСРВ за счет детерминированности вычислительного процесса и небольших затрат на реализацию

Распределение памяти динамическими разделами

Чтобы уменьшить потери от внутренней фрагментации, целесообразно размещать в ОП задачи «плотно», одну за другой, выделяя ровно столько памяти, сколько задача потребует (распределение памяти динамическими разделами)

Обобщенный алгоритм:

Вся память свободна. Каждому вновь поступающему процессу выделяется вся необходимая память (если достаточный объем памяти отсутствует, то процесс не создается)

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


Задачами операционной системы при реализации данного метода управления памятью является:

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

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

загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей,

после завершения задачи корректировка таблиц свободных и занятых областей.

Выбор раздела для вновь поступившей задачи может осуществляться по разным правилам. Например:

"первый попавшийся раздел достаточного размера"(first fit)

"раздел, имеющий наименьший достаточный размер"(best fit)

"раздел, имеющий наибольший достаточный размер"(worst fit)

(+)

Значительная гибкость

(-)

Внешняя фрагментация памяти – наличие большого числа несмежных участков свободной память небольшого
Распределение памяти динамическими разделами

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


Дефрагментация может выполняться:

При каждом завершении задачи (меньше однократной вычислительной работы)

В случае, когда для вновь поступившей задачи нет свободного раздела достаточного размера (процедура выполняется реже)

(+) более эффективное использование памяти

(-) требует значительных временных затрат

14. Сегментное распределение памяти

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

Программу необходимо разбивать на части и уже каждой такой части выделять физическую память. Естественным способом разбиения программы на части является разбиение её на логические элементы – сегменты.

Разбиение на сегменты позволяет дифференцировать способы доступа к разным частям программы(сегментам). Можно запретить обращаться с операциями записи и чтения в кодовый сегмент программы, а для сегмента данных разрешить только чтение. Разбиение программы на «осмысленные» части делает принципиально возможным разделением одного сегмента несколькими процессами.

img00019

Логически обращение к элементам программы в этом случае будет состоять из имени сегмента и смещения относительно начала этого сегмента.

Вся информация о текущем размещении сегментов задачи в памяти сводится в таблицу сегментов (таблицу дескрипторов сегментов задачи), формируемую для каждого исполняемого процесса.


При размещении каждого из сегментов в оперативной или внешней памяти ОС отмечает в дескрипторе текущее местоположение сегмента.

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

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

Поэтому:

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

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

Решение проблемы замещения (определения того сегмента, который должен быть либо перемещён во внешнюю память, либо просто замещён новым) используются следующие дисциплины:

FIFO (First In First Out) первый пришёл – первый ушёл

LRU (Least Recently Used ) не используемый дольше других

LFU (Least Frequently Used) используемый реже других

Random-случайный выбор сегмента

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

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

1   2   3   4   5

Похожие:

Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon 15 руководство пользователя
Просим уделить время для внимательного изучения инструкций в настоящем Руководстве пользователя. Это поможет вам надлежащим образом...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Инструкция (типовая) по охране труда при
Реактивы химические – это чистые вещества, их растворы, смеси или композиции строго регламентируемого состава, применяемые для научных...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Пароконвектомат «эра» это многофункциональная печь, которая может...
Он позволяет повару готовить блюда лучшего качества при меньших физических затратах. Возможность использования одного пароконвектомата...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Пароконвектомат «эра» это многофункциональная печь, которая может...
Он позволяет повару готовить блюда лучшего качества при меньших физических затратах. Возможность использования одного пароконвектомата...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Руководство пользователя следует изучить перед установкой оборудования,...
Это руководство содержит информацию о правилах установки и эксплуатации оборудования
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Регулирование криптовалют, токенов блокчейн и первичного предложения монет (ico)
Наиболее перспективной технологией является блокчейн, которая представляет собой технологию распределённой базы данных и обеспечивает...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Компьютер и дети. Компьютер друг или враг?
Показать возможность использования компьютера в учебной деятельности и в домашних условиях
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Инструкция по подключению к программе Teamspeak
Это бесплатная программа, не требующая регистрации или чего-либо еще, очень экономная в плане трафика. Программа представлена в разных...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Руководство пользователя Артикул: 12313 Версия 0
Оптима окажется для вас многофункциональным полезным оборудованием и в будущем. Ваша отопительная установка отличается современным...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon 1. Программное обеспечение компьютера – это
А вся совокупность программ, хранящихся на всех устройствах долговременной памяти компьютера
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Инструкция по эксплуатации Razer Kabuto Спасибо, что выбрали товар...
Самое интересное, что Razer Kabuto еще и защищает дисплей. Каким образом? При транспортировке ноутбука или монитора компьютера нужно...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Программа для родителей и педагогов, которая называется «Из детства в отрочество»
Вы держите в руках необычную книгу. Это программа для родителей и педагогов, которая называется «Из детства — в отрочество»
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Руководство пользователя Содержание
Перед началом использования необходимо внимательно ознакомиться с данным руководством и эксплуатировать оборудование в соответствии...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Краткое руководство пользователя собрания
Они могут сделать экран своего компьютера доступным для совместного использования всеми участниками, а также вести чат и транслировать...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Программа «Вольный стиль»
Дополнительное образование обеспечивает возможность успеха в данной сфере деятельности и тем самым способствует развитию таких качеств...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Руководство Пользователя, Обновления для драйвера и по
Это инструкция знакомит с правилами эксплуатации и процедурой установки продукта. Для гарантии наилучшей производительности продукта...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск