Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 4

прерывания

25.03.2012, 17:23. Показов 3181. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
можно ли создать такую программу, которая вообще никак не будет реагировать на прерывания?
на самом деле задался вопросом о вычислении скорости выполнения операций. Написал код, а потом вспомнил о том, как лектор рассказывал о прерываниях и понял, что результат работы программы может быть каким угодно, так как программа может не выполняться, а время будет идти.
Если отключить обработку никак нельзя, не могли бы вы подсказать, где прочитать о том, что можно делать с прерываниями в с/с++.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.03.2012, 17:23
Ответы с готовыми решениями:

Прерывания asm
Не могу использовать прерывания(int) в встроенном ассемблере. Вылезает ошибка доступа. Помогите пожалуйста помогите.

програмные прерывания
Как вызвать программное прерывание? Читаю книгу по системному программированию и в ней сейчас "прохожу тему" системных вызовов и...

Таблица векторов прерывания
Здравствуйте, на одном сайте видел следующую запись: static void (* near const _vect)(void) @0xFFC0 = { Dummy_ISR, //...

9
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
25.03.2012, 18:54
Монопольно пользоваться всеми ресурсами, очевидным образом, можно только в однозадачной системе.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
25.03.2012, 19:25
А какая система то? Что ж ты молчишь? Отвечай!
Ты под Windows пишешь?
Или может быть под DOS?
Или микроконтроллеры программируешь?
0
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 4
25.03.2012, 19:30  [ТС]
пишу под linux ubuntu. но могу и под виндой - не принципиально. Интересно, имеется ли вообще такая возможность? или можно ли её как-нибудь эмулировать, если возможно только в однозадачных системах?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
25.03.2012, 19:40
Цитата Сообщение от maxvell Посмотреть сообщение
пишу под linux ubuntu. но могу и под виндой - не принципиально. Интересно, имеется ли вообще такая возможность? или можно ли её как-нибудь эмулировать, если возможно только в однозадачных системах?
Тебе же сказали, в многозадачных системах работа с прерываниями запрещена и бессмысленна.
Скажи лучше зачем тебе понадобились прерывания.
0
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 4
25.03.2012, 19:48  [ТС]
я написал в начале, что нужны не прерывания, а их отсутствие.
нужно протестировать время работы алгоритма. для этого используется clock() из ctime. так вот, чтобы измерения были более точными, нужно, если прерывания вызываются, сохранить текущее значение clock(), а при возврате к программе - измерить clock() заново и продолжить работу. Есть что-нибудь подходящее или где-нибудь можно об этом прочитать?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
25.03.2012, 19:55
Цитата Сообщение от maxvell Посмотреть сообщение
я написал в начале, что нужны не прерывания, а их отсутствие.
нужно протестировать время работы алгоритма. для этого используется clock() из ctime. так вот, чтобы измерения были более точными, нужно, если прерывания вызываются, сохранить текущее значение clock(), а при возврате к программе - измерить clock() заново и продолжить работу. Есть что-нибудь подходящее или где-нибудь можно об этом прочитать?
Понимаешь, для многозадачных систем ты просишь невозможное (поправьте если я ошибаюсь)
Ну представь ситуацию, пользователь щёлкнул по твоей программе, она стала засекать скорость алгоритма, и тут пользователь одновременно начал играть в "Сапёра".
Как ты запретишь ему это делать?
Отсюда вывод, оценивай производительность алгоритма либо косвенно (добавь в программу счётчик операций)
Либо пиши под DOS.

Кто-нибудь знает ещё варианты?
0
204 / 205 / 16
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
25.03.2012, 20:07
можно ли создать такую программу, которая вообще никак не будет реагировать на прерывания?
на самом деле задался вопросом о вычислении скорости выполнения операций. Написал код, а потом вспомнил о том, как лектор рассказывал о прерываниях и понял, что результат работы программы может быть каким угодно, так как программа может не выполняться, а время будет идти.
Если отключить обработку никак нельзя, не могли бы вы подсказать, где прочитать о том, что можно делать с прерываниями в с/с++.
А зачем? Если под линукс пишешь, то есть такой вызов clock, (time.h), который
SYNOPSIS
#include <time.h>

clock_t clock(void);

DESCRIPTION
The clock() function returns an approximation of processor time used by the program.

RETURN VALUE
The value returned is the CPU time used so far as a clock_t; to get the number of seconds
used, divide by CLOCKS_PER_SEC. If the processor time used is not available or its value
cannot be represented, the function returns the value (clock_t) -1.
1
0 / 0 / 0
Регистрация: 25.03.2012
Сообщений: 4
25.03.2012, 20:43  [ТС]
можно поподробней, что значит: пиши под DOS?
собственно clock() и пользуюсь. но он выдаёт довольно сильно различающиеся результаты.. я подумал, что это связано с прерываниеми, разве нет?
0
204 / 205 / 16
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
25.03.2012, 21:00
ну тогда смотри man times, и
man sysconf про _SC_CLK_TCK
и да, "запретить прерывания" может только модуль ядра, а под виндой, полагаю, только драйвер
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.03.2012, 21:00
Помогаю со студенческими работами здесь

Условие прерывания цикла
Из-за чего происходит(условие прерывания) выход из цикла? Мои предположения что пока b не равно 0, то цикл выполняется, как только...

Механизм прерывания ввода
Ребят, передо мной стоит задание написать функцию, которая принимает в качестве аргумента структуру, а возвращает целое значение. Данная...

Программа обработки прерывания от клавиатуры должна:
1. Распознавать нажатие горячей комбинации клавиш и реагировать на него звуком 2. При первом нажатии горячей комбинации переходить в...

Обработчик прерывания контроллера накопителя на жестком магнитном диске
Добрый вечер! В лабораторной работе требуется написать свой обработчик прерывания контроллера НЖМД, т е заменить в векторе прерываний...

Изменение цвета символа с использованием системного прерывания BIOS
Всем доброго времени суток помогите пожалуйста дописать программу! Мое задание звучит так вывести зелёную Букву &quot;А&quot;(Что я смог...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru