рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Борьба с тупиками

Борьба с тупиками - раздел Образование, Материалы к аттестации по операционным системам   Тупик - Это Состояние Процесса В Ожидании События, Кот...

 

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

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

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

- требование монопольного использования ресурса, т.е. взаимоисключение при использовании ресурса;

- ожидание дополнительных ресурсов, удерживая уже выделенные;

- неперераспределяемость ресурса;

- круговое ожидание ресурсов.

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

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

- Обход тупиков

- Обнаружение тупиков с дальнейшей нейтрализацией

 

Понятие событийного программирования [1 c. 69 – 88; 2 разд. 4.1–4.4]

 

ОС Windows и ее приложения представляют собой программы, управляемыесобытиями (или сообщениями - message). Последовательность их действий определяется очередью сообщений о событиях. В Windows есть системная очередь сообщений иочередь сообщенийдлякаждогоприложения.

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

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

Упрощенно говоря, например, информация "Кнопка мыши отпущена в точке экрана с координатами (50, 100)" подается приложению в виде "Выбран пункт 5 меню 1 окна 2".

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

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

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

Система многозадачного планирования Windows также встроена в ее механизм доставки сообщений.

Пользователь может запустить сразу несколько программ (Windows-приложений). Каждая программа должна создать собственное главное окно приложения со стандартным для Windows-приложений графическим интерфейсом и организовать обработку сообщений Windows.

 

Средства коммуникации процессов [1 c. 31–39, 93 – 98, 104–110; 2 3.4.2–3.4.3]

 

Сообщения, сигналы, семафоры, в Windows XP – объекты ядра event (событие) и др. позволяют синхронизировать действия процессов.

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

Место для хранения посланного, но не полученного сообщения называется почтовым ящиком. Достоинства почтовых ящиков:

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

- Процесс, отправив сообщение, продолжает работу, не обращая внимания на получателя.

Основной недостаток – это появление еще одного ресурса, которым также нужно управлять.

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

Наиболее удобный метод связи между взаимодействующими процессами – очереди сообщений. Несколько процессов – клиентов могут посылать сообщения процессу- приемнику. Только процесс-приемник может их читать и удалять из очереди. Для двухсторонней связи используются две очереди. Можно применить разные дисциплины обработки очереди: FIFO, LIFO, по приоритету, произвольно. В очереди хранится не само сообщение, а его адрес в памяти. Сообщения можно не удалять из очереди, а читать несколько раз.

 

– Конец работы –

Эта тема принадлежит разделу:

Материалы к аттестации по операционным системам

дополнение к пособиям осень... Требования ГОС к обязательному минимуму содержания...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Борьба с тупиками

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ОПД Ф.09 Операционные системы: 140 час.
  Назначение и функции операционных систем (ОС). Мультипрограммирование. Режим реального времени. Многопользовательский режим работы. Режим работы и ОС реального времени. Универсальны

Краткий конспект содержания дисциплины
  Назначение и функции операционных систем (ОС) [1 c. 21 – 26; 2 разд. 3.1]   Операционная система – комплекс программ, управляющий

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

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

Идентификатор и дескриптор процесса
  Для каждого процесса создается дескриптор процесса (блок управления процессом – PCB) – структура данных с необходимой для ОС информацией о проц

Иерархия процессов
  При порождении процессов создается иерархическая (древовидная) структура процессов, в которой родительский процесс может порождать несколько («дочерних») процессов-потомков, но у ка

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

Способы реализации мультипрограммирования
Понятие прерывания [1 c. 28 – 29; 2 разд. 3.3]   Прерывание (interrupt – прерывать) – аппаратный сигнал, заставляющий ЭВМ изменить обычный

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

Файловая система
Термин файловая система – это принципы доступа к данным, организованным в файлы, а система управления файлами – это специальное ПО, отвечающее за реализацию операций над файлом и его

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

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

Словарь
Адресное пространство – диапазон адресов, доступный программе (процессу или потоку). Аутентификация – процедура проверки имени пользователя и его

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги