Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

Вопросы для самопроверки

81. Какова главная задача подсистемы управления процессами?

82. Могут ли потоки одного процесса принадлежать разным приложениям?

83. Какие задачи, связанные с планированием потоков, решает ОС?

84. При каких условиях алгоритм квантования вырождается в алгоритм последовательной обработки?

85. Какие классы приоритетов определены в ОС Windows NT?

Контрольные вопросы

86. Какие термины ОС используются для обозначения единицы работы вычислительной системы?

87. Назовите отличия в организации вычислительного процесса на уровне потоков от организации вычислений на уровне процессов.

88. Дайте определение дескриптора процесса.

89. Что такое «контекст процесса»?

90. Назовите команду, с помощью которой в ОС UNIX происходит порождение процессов.

91. Назовите основные состояния потоков.

92. Какие алгоритмы планирования потоков Вам известны?

93. Чем различаются вытесняющий и невытесняющий алгоритмы планирования?

94. В чем суть концепции квантования?

95. Какой принцип заложен в алгоритм планирования потоков, основанный на приоритете обслуживания?

96. Кто может выступать в качестве инициатора изменения приоритета потока?

97. Какие разновидности приоритетного планирования Вам из-вестны?

98. В чем отличие абсолютных и относительных приоритетов?

99. Какая зависимость (прямая или обратная) между квантом и приоритетом реализована в ОС UNIX System?

100. Какую роль выполняет сигнал в ОС?





Дата публикования: 2014-11-03; Прочитано: 525 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...