С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
Alexandr1966
28 / 28 / 2
Регистрация: 17.12.2012
Сообщений: 493
1

Организация обработки прерываний

23.12.2012, 15:07. Просмотров 1592. Ответов 3
Метки нет (Все метки)

Здравствуйте! Пытаюсь разобраться с механизмом обработки прерывания. Нужно написать такую программку, чтобы показать программное прерывание процесса, ДРУГИМ процессом с ВЫСШИМ ПРИОРИТЕТОМ. Допустим, изначально был запущен какой то базовый процесс, и тут происходит запуск одного из процессов с более высоким приоритетом. Вследствие чего базовый процесс находится в ожидании завершения запущенного процесса.
Буду рад и благодарен вашим предложениям и программным кодам
Программу реализовать желательно в консольном приложении Visual Studio 2008.
Реализовать можно на цифрах, вот примерно так как реализован планировщик вот здесь Алгоритм планирования Round Robin с квантом времени (переделать программу)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2012, 15:07
Ответы с готовыми решениями:

Организация прерываний в DOS
Доброе время суток. Возникла проблема с прерываниями в DOS. Недавно начал...

Обработчик прерываний
Есть такое задание: "При нажатии символьной клавиши с нажатой клавишей Shift...

Обработка прерываний
Доброго времени суток. Пытаюсь выполнить пример программы с использованием...

[VM] Реализация аппаратных прерываний
Доброго времени суток, CyberForum. Уже как 2 месяца я пишу свой велосипед -...

Работа вектора прерываний
Привет. Я написал программу, которая использует прерывания INT0 INT1,...

3
eremeeva14
-3 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 14
24.12.2012, 05:55 2
может тебе это материал поможет http://www.intuit.ru/department/hardware/archhard2/14/ =))
0
Alexandr1966
28 / 28 / 2
Регистрация: 17.12.2012
Сообщений: 493
26.12.2012, 03:16  [ТС] 3
я уже ознакамливался с этим материалом, и все равно не могу понять что к чему(((

Добавлено через 3 часа 8 минут
готов еще посмотреть ваши предложения и советы))

Добавлено через 2 часа 59 минут
кто-нибудь сталкивался с такой реализацией??

Добавлено через 2 часа 24 минуты
друзья, кто-нибудь подскажите как сделать код...

Добавлено через 12 часов 28 минут
кто ОС изучает, помогите разобраться)
0
WhiteP
611 / 209 / 32
Регистрация: 20.11.2012
Сообщений: 435
Завершенные тесты: 1
26.12.2012, 10:31 4
Alexandr1966,
Что значит процесс с более высоким приоритетом? И причем тут прерывания? Не понятно о чем речь - о планировании потоков планировщиком, или же все-таки прерывания?

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

Прерывания - также зависят от поддержки аппаратного обеспечения. При поступлении прерывания от устройств контроллер кидает процессору (одному из, в случае многопроцессорности) сигнал. При этом процессор прерывает работу выполняющегося потока, сохраняет его контекст в стеке и переходит по заранее заданному адресу в одной из системных таблиц к выполнению процедуры, связанной с данным конкретным прерыванием, при этом прерывания с тем же и более низким приоритетом маскируются (запрещаются). При поступлении прерывания с более высоким приоритетом - ситуация повторяется (т.е. процессор переходит к обработке более приоритетного прерывания и откладывает текущее на потом). После обработки прерываний продолжается исполнение прерванного потока или отложенного прерывания.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 10:31

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

Создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка С, но не применять их в своей функции
Доброго времени суток! Крайне необходима помощь экспертов в С++! Кто может -...

Вызов функций через таблицу прерываний
Уважаемые участники форума cyberforum.ru, очень нужна ваша помощь. Столкнулся с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru