Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы / Операционные ситстемы.docx
Скачиваний:
55
Добавлен:
10.04.2015
Размер:
269.64 Кб
Скачать

4.Тупики во взаимодействующих процессах и методы их предотвращения.

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

5.Управление памятью. Функции ос по управлению памятью. Методы распределения памяти: фиксированными разделами, динамическими разделами.

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

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

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

Соседние файлы в папке госы