Взаимная блокировка - раздел Образование, Операционные системы, среды и оболочки Другая Проблема, Которая Может Возникнуть Во Время Распределения Ресурсов, — ...
Другая проблема, которая может возникнуть во время распределения ресурсов, — взаимная блокировка (deadlock), состояние, когда два или более процесса блокируются, поскольку каждый ждет освобождения ресурса, используемого другим. Например, один процесс имеет доступ к принтеру, но ждет освобождения запоминающего устройства, в то время как другой процесс имеет доступ к запоминающему устройству, но ждет освобождения принтера. Похожая ситуация может возникнуть, когда процессы создают новые процессы для выполнения подзадач. Если планировщик не располагает свободным местом в таблице процессов, а каждый процесс системы должен создать дополнительный процесс для завершения задачи, тогда ни один из них не может продолжаться. Такие условия могут значительно ухудшить работу системы (рис. 3.9).
Взаимная блокировка возникает, когда выполняются все три приведенные ниже условия.
1. Существует конкуренция за ресурс, который не может использоваться совместно.
2. Ресурсы запрашиваются по частям, то есть, получив некоторые ресурсы, процесс позже возвращается, чтобы получить больше.
3. Если ресурс распределен, то его уже нельзя принудительно извлечь.
Проблему взаимной блокировки можно ликвидировать, устранив одно из этих условий. Для разрешения ситуаций, определяемых третьим условием, пользуются методами обнаружения и коррекции тупиковой ситуации. В этих случаях вероятность появления взаимной блокировки считается настолько незначительной, что не предпринимается никаких действий для ее устранения. Вместо этого взаимная блокировка обнаруживается, когда она уже возникла, и устраняется с помощью принудительного освобождения некоторых ресурсов. Наш пример с переполнением таблицы процессов попадает в эту категорию. Обычно системный администратор создает таблицу процессов, которой достаточно для данной установки. Однако если тупик все-таки возникает из-за переполнения таблицы, администратор просто удаляет (профессиональный термин «убивает») некоторые из процессов, освобождая место в таблице для других процессов.
Методы, которые устраняют первые два условия, называются способами устранения тупиковых ситуаций. Например, один из них ликвидирует второе условие благодаря тому, что все процессы запрашивают все необходимые им ресурсы сразу. Другой способ ликвидирует первое условие не с помощью непосредственного устранения конкуренции, а трансформируя ресурсы, которые нельзя использовать совместно, в совместно используемые. Предположим, что несколько процессов запрашивают доступ к принтеру. Каждый раз, когда процессу нужен доступ к принтеру, операционная система предоставляет его. Однако вместо того чтобы соединить процесс с драйвером принтера, операционная система соединяет его с драйвером устройства, хранящего информацию, которую нужно распечатать на диске. Таким образом, каждый процесс, считая, что у него есть доступ к принтеру, продолжает выполнение задачи. Позже, когда принтер освобождается, операционная система передает данные с диска на принтер. Следовательно, операционная система трансформирует ресурсы, которые нельзя использовать совместно, в совместно используемые, создавая иллюзию существования нескольких принтеров. Техника сохранения данных на диске для последующего распечатывания в более удобное время называется спулингом (spooling).
Конечно, когда процессы конкурируют за ресурсы, возникают и другие трудности. Например, программа управления файлами может предоставить доступ к файлу одновременно нескольким процессам, если они просто считывают данные из файла. Если же несколько процессов одновременно будут пытаться изменить данные в файле, то может возникнуть конфликт. Следовательно, программа управления файлами должна распределять доступ к файлу в соответствии с потребностями процессов, разрешая доступ для чтения нескольким процессам, а доступ для записи — только одному. Другие системы делят файл на части, чтобы разные процессы одновременно могли изменять разные части файла. Однако при этом возникают другие сложности. Как, например, процессы с доступом только для чтения узнают, когда процесс с доступом для записи изменяет файл?
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:
Взаимная блокировка
Что будем делать с полученным материалом:
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Прикладные программы
BIOS (Basic Input Output System) — это аббревиатура, которая переводится с английского как «базовая система ввода-вывода». Необходимый минимум программ, позволяющий компьютеру
Операционная система
Операционная система, сокр. ОС (англ. operating system) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы
Функции операционных систем.
Основные функции:
· Выполнение по запросу программ тех достаточно элементарных (низкоуровневых) действий, которые являются общими для большинства программ и часто в
Однопроцессорные системы
Однопроцессорные машины 40-50-х годов XX века не были ни гибкими, ни эффективными. Выполнение программ требовало трудоемких приготовлений: установление лент, помещение перфокарт в
Многопроцессорные системы
В последние годы потребности в обмене информацией и ресурсами привели к широкому распространению связанных систем вычислительных машин, которые называются сетями (networks, или net)
Программное обеспечение
Начнем обсуждение программного обеспечения с рассмотрения его классификации. Всё программное обеспечение можно разделить на две большие группы: прикладное программное обеспечение (appl
Компоненты операционной системы
Часть операционной системы, которая определяет интерфейс между операционной системой и пользователем, часто называется оболочкой (shell). Задача оболочки состоит в том, чт
Начало работы операционной системы
Запуск системы осуществляется с помощью процедуры, которая называется начальной загрузкой (bootstrapping, или, сокращенно, booting) и выполняется машиной ка
Выбор операционной системы
Операционные системы накладывают определенные требования на технические характеристики аппаратного обеспечения. Список этих требований определяет производитель ОС. В него входит, на
Установка операционной системы
Перед установкой ОС жесткий диск форматируется и разбивается на несколько логически изолированных частей, называемых разделами или томами. Каждый раздел в системе выглядит как отдел
Установка вручную
Обновления, заменяющие основную часть системного кода, нужно запускать вручную. Обычно их называют пакетами обновлений. Такие пакеты используются для устранения проблем с приложением или ОС или для
Координирование действий машины
Одним из главных принципов, лежащих в основе современных операционных систем, является разделение понятий программы и деятельности по ее исполнению. Программа
Управление процессами
Задачи, связанные с координацией процессов, выполняются планировщиком и диспетчером, которые входят в ядро операционной системы. Планировщик ведет учет процессов, которые пр
Обработка конкуренции между процессами
Важной задачей операционной системы является распределение ресурсов машины между процессами. Здесь мы используем термин «ресурсы» в широком смысле, включая в него и периферийные устройства машины
Семафор
Рассмотрим, как операционная система с разделением времени управляет действиями машины с одним принтером. Если процессу необходимо распечатать результаты, он должен запросить доступ к драйверу при
Организация файловой системы
Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним.
Фа́йл
Иерархия каталогов
Практически всегда файлы на дисках объединяются в каталоги. Каталоги на разных дисках могут образовывать несколько отдельных деревьев, как в DOS/Windows, или же объединяться в одно дерево, общее дл
Файловые системы FAT32, NTFS
FAT32 (от англ. File Allocation Table — «таблица размещения файлов») — это файловая система, разработанная компанией Майкрософт, разновидность FAT. FAT32 — последняя версия фай
Обслуживание файловой структуры.
Несмотря на то, что данные о местоположении файлов хранятся в табличной структуре, пользователю они представляются в виде иерархической структуры — людям так удобнее, а все необход
Имена дисков
Диски компьютера (а, говоря точнее — все устройства для хранения информации) обозначают буквами английского алфавита, с двоеточием после буквы, вот так: А:, В: или F:. Первые буквы А: и В: присва
Имена файлов
В качестве единицы хранения данных принят объект переменной длины, называемый файлом. Файл – это последовательность произвольного числа байтов, обладающая уникальным собстве
Создание каталогов (папок)
Для систематизации хранения и облегчения поиска файлы на дисках распределяют по каталогам (директориям). Каталоги внутри себя могут содержать как
Удаление файлов и каталогов (папок)
Средства удаления данных не менее важны для операционной системы, чем средства их создания, поскольку ни один носитель данных не обладает бесконечной емкостью. Существует как миним
Файлы документов
Файлы с расширениями .txt, .doc, .rtf содержат внутри себя текстовую информацию. Файлы с расширением .txt содержат «чистый» текст, и для их открытия запускается программа «Блокнот». Файлы с расшир
Звуковые файлы
Это файлы с расширениями .wav, .mp3, .mid. В них содержится звуковая информация. Прослушать эти звуки можно, если к компьютеру подключены колонки, наушники или другое устройство для воспроизведени
Управление атрибутами файлов
Кроме имени и расширения имени файла операционная система хранит для каждого файла дату его создания (изменения) и несколько флаговых величин, называемых атрибутами фай
Файловый менеджер
Файловый менеджер (англ. file manager) — компьютерная программа, предоставляющая интерфейс пользователя для работы с файловой системой и файлами. Файловый менеджер позволяет
Новости и инфо для студентов