:: Статистика ::

 
Індекс цитування

 

 

 

 

 

Семафори і переривання

Більшість сучасних ОС надають сервіси, що дозволяють без шкоди для останньої системи припинити і відновити виконання призначеної для користувача нитки. Проте мало яка ОС надає такий же сервіс для обробників переривань. Тому якщо ОС і вирішує використання примітивів синхронізації з переривань, то завжди при умові, що таке використання не може наводити до блокування обробника.
Наприклад, якщо для синхронізації використовується мутекс, обробник переривання не може його встановлювати, а може лише знімати. Ця вимога накладає певні обмеження на стиль використання семафорів. Якщо при синхронізації рівноправних ниток кожна з них встановлює семафор на початку критичної секції і знімає його в кінці, використовуючи його і для того, що взаємовиключає, і для синхронізації, то при взаємодії нитки з обробником переривання для реалізації того, що взаємовиключає доводиться використовувати заборону переривань, а мутекс — лише для синхронізації.
Стандартна техніка використання мутекса в обробнику переривання полягає в наступному (порядок операцій важливий!): процес захоплює мутекс, ініціює операцію на пристрої, яка повинна завершитися перериванням, і захоплює мутекс ще раз. Якщо до цього моменту переривання вже сталося, мутекс буде вільний і процес нічого не чекатиме. Якщо ж переривання ще не відбувалося, процес засне, чекаючи його. Обробник же переривання лише знімає мутекс.

 

рекламодавці:

/ ml lfppюн

::  Меню ::

ГОЛОВНА

Введення

Представлення даних в обчислювальних системах 

Машинні мови

Завантаження програм 

Управління оперативною пам'яттю

Сегментна і сторінкова віртуальна пам'ять

Комп'ютер і зовнішні події

Паралелізм з точки зору програміста 

Реалізація багатозадачності на однопроцесорних комп'ютерах 

Зовнішні пристрої

Драйвери зовнішніх пристроїв 

Файлові системи 

Додаток. Огляд архітектури сучасних ОС

 


:: Навігація ::

Головна

Додати у вишукане  

 

 

 


Copyright © Asentli, 2008