![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.12.2011
Сообщений: 36
|
![]()
Привет всем!
По учебе нужно реализовать решение классической задачи "обедающие философы". С этим бы проблем не было если не особенности. Написать нужно под DOS на плюсах с использованием прерываний от таймера (нужно реализовать некое подобие многопоточности). С обработкой прерываний проблем так же нет. А вот в чем проблема есть. Как я понимаю (точнее как я вычитал), для реализации этого дела, в прерывании мне нужно сохранять точку возврата из него, переключать поток (по сути менять номер текущего процесса) и заменять точку возврата на заранее сохраненную для текущего процесса. Именно это я не знаю как сделать, гугл не помог, возможно я не могу правильно задать ему вопрос ![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
Пример подобного изврата.
Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 10.12.2011
Сообщений: 36
|
![]()
Спасибо! Опробую. Изврат или не изврат, но делать надо
![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 10.12.2011
Сообщений: 36
|
![]()
Попробовал, в обработчике прерывания сохранение регистров неудается (виртуалка виснет намертво).
Код: http://pastebin.com/eHWT8DEi Прошу не обращать внимания на обилие define, сам я не пишу на плюсах и меня эта воможность забавляет, вот я и использую их к месту и нет. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WmWare и DOS, как скопировать в DOS файлы | zla9_kolu4ka | Операционные системы общие вопросы | 0 | 15.01.2015 18:06 |
Многопоточность | Fahman | Общие вопросы Delphi | 21 | 18.01.2014 12:59 |
С++ многопоточность | kineziz | Общие вопросы C/C++ | 3 | 11.09.2012 13:20 |
Многопоточность | kroŧ | Общие вопросы Delphi | 5 | 21.06.2010 10:47 |
Многопоточность | CrazyDude | Общие вопросы Delphi | 1 | 18.04.2010 19:00 |