Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
32119_Shpory_po_osis.doc
Скачиваний:
5
Добавлен:
23.12.2018
Размер:
128.51 Кб
Скачать

15. Тупики

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

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

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

Четыре условия для возникновения тупиков.

1.   Условие взаимоисключения (Mutual exclusion).  Каждый ресурс выделен в точности одному процессу или доступен. Процессы требуют предоставления им монопольного управления ресурсами, которые им выделяются.

2.   Условие ожидания ресурсов (Hold and wait). Процессы удерживают за собой ресурсы, уже выделенные им, ожидая в то же время выделения дополнительных  ресурсов (которые при этом  обычно удерживаются другими процессами).

3.   Условие неперераспределяемости (No preemtion). Ресурс, данный ранее, не может быть принудительно забран у процесса. Освобождены они могут быть только процессом, который их удерживает.

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

Для тупика необходимо выполнение всех четырех условий.

Основные направления борьбы с тупиками:

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

Основные направления борьбы с тупиками:

Игнорировать данную проблему

Обнаружение тупиков

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

Предотвращение тупиков за счет тщательного выделения ресурсов или нарушения одного из условий возникновения тупиков.

18.Основные сост части ms-dos

MS-DOS состоит из следующих компонент:

– блок начальной загрузки; – модуль расширения BIOS; – модуль обработки прерываний (MSDOS.SYS), – командный процессор (COMMAND.COM); – внешние команды MS-DOS; – драйверы устройств; – файл Config.SYS; – файл Autoexec.bat.

Ядро MS-DOS включает блок начальной загрузки и файлы IO.SYS, MSDOS.SYS.

Блок начальной загрузки размещается  в 1-м секторе 0-дорожки 0-стороны системной дискеты и/или в 1-м секторе HDD-диска, в разделе, отведенном под DOS. Выполняет следующие функции: просматривает корневой каталог системного диска и проверяет, являются ли первые два файла в каталоге – файлами IO.SYS и MSDOS.SYS. Если ДА – загружает их в ОЗУ и передает управление MS-DOS, если НЕТ – выдает сообщение на экране и ожидает нажатия какой-либо клавиши пользователем:

 Non-System disk or disk error Replace and press any key when ready

 Не системный диск или ошибка диска       Замените и нажмите какую-либо клавишу, когда будет готово

Именно поэтому , при создании системной дискеты необходимо переносить на неё файлы IO.SYS и MSDOS.SYS с помощью специальной программы SYS.COM.

Модуль расширения BIOS IO.SYS

Это резидентный модуль (всегда находится в ОЗУ после загрузки, пока включен ПК). Взаимодействует с BIOS. Расширяет возможности BIOS или изменяет ее свойства (там, где необходимо) с помощью дополнительных драйверов.

Модуль обработки прерываний MSDOS.SYS

Это резидентный модуль. Обеспечивает интерфейс высокого уровня для прикладных программ, содержит программные средства для управления файлами, устройствами ввода-вывода, обработки исключительных ситуаций (ошибок) и др. Прикладная программа вызывает функции этого модуля через механизм программных прерываний, передавая (принимая) информацию к (от) MS-DOS через регистры CPU или (и) области памяти ОЗУ. MSDOS.SYS транслирует (переводит) запрос прикладной программы в один или несколько вызовов IO.SYS + BIOS.

Командный процессор COMMAND.COM

Отдельный модуль MS-DOS. Этот модуль может быть заменен на другой, более удобный. Предназначен для приема команд с клавиатуры или из *.bat - файлов и их выполнения; выполнения команд файла Autoexec.bat при загрузке MS-DOS; загрузки в ОЗУ и запуск на выполнение прикладных программ в среде MS-DOS.

Командный процессор состоит из 3-х частей :

– резидентной (размещается в ОЗУ сразу после MSDOS.SYS, включает процедуры обслуживания некоторых прерываний, процедуры обработки стандартных ошибок MS-DOS, процедуру загрузки транзитной части командного процессора); – инициализирующей (в ОЗУ следует сразу за резидентной частью; во время загрузки OС ей передается управление; она выполняет файл Autoexec.bat и некоторые другие действия; эта часть командного процессора стирается из ОЗУ первой же