Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
January 22 2026 01:35:18   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
4.12.1 Професси... 36121
Учимся удалять!... 33007
Примеры, синони... 24217
Декартовы коорд... 23608
Просмотр готовы... 23553
FAST (методика ... 22289
содержание - се... 21644
Просмотр готовы... 20534
Работа с инстру... 16031
Сейчас на сайте
Гостей: 3
На сайте нет зарегистрированных пользователей

Пользователей: 9,955
новичок: Logyattella
Друзья сайта
Ramblers Top100
Рейтинг@Mail.ru

Balenciaga triple s оригинал: кроссовки balenciaga triple balenciaga-rus.ru.
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi
Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
8.3 ТАЙМЕР
В функции программы обработки прерываний по таймеру входит:
• перезапуск часов,
• вызов на исполнение функций ядра, использующих встроенные часы,
• поддержка возможности профилирования выполнения процессов в режимах ядра и задачи;
• сбор статистики о системе и протекающих в ней процессах,
• слежение за временем,
• посылка процессам сигналов "будильника" по запросу,
• периодическое возобновление процесса подкачки (см. следующую главу),
• управление диспетчеризацией процессов.
Некоторые из функций реализуются при каждом прерывании по таймеру, другие — по прошествии нескольких таймерных тиков. Программа обработки прерываний по таймеру запускается с высоким приоритетом обращения к процессору, не допуская во время работы возникновения других внешних событий (таких как прерывания от периферийных устройств). Поэтому программа обработки прерываний по таймеру работает очень быстро, за максимально-короткое время пробегая свои критические отрезки, которые должны выполняться без прерываний со стороны других процессов. Алгоритм обработки прерываний по таймеру приведен на Рисунке 8.9.
#include ‹sys/types.h›
#include ‹sys/stat.h›
#include ‹sys/signal.h›
main(argc, argv)
int argc;
char *argv[];
{
extern unsigned alarm();
extern wakeup();
struct stat statbuf;
time_t axtime;
if (argc != 2) {
printf("только 1 аргумент\n");
exit();
}
axtime = (time_t) 0;
for (;;) {
/* получение значения времени доступа к файлу */
if (stat(argv[1], &statbuf) == -1) {
printf("файла с именем %s нет\n", argv[1]);
exit();
}
if (axtime != statbuf.st_atime) {
printf("к файлу %s было обращение\n", argv[1]);
axtime = statbuf.st_atime;
}
signal(SIGALRM, wakeup); /* подготовка к приему сигнала */
alarm(60);
pause(); /* приостанов до получения сигнала */
}
}
wakeup() {}
Рисунок 8.8. Программа, использующая системную функцию alarm
алгоритм clock
входная информация: отсутствует
выходная информация: отсутствует
{
перезапустить часы; /* чтобы они снова посылали прерывания */
if (таблица ответных сигналов не пуста) {
установить время для ответных сигналов;
запустить функцию callout, если время истекло;
}
if (профилируется выполнение в режиме ядра)
запомнить значение счетчика команд в момент прерывания;
if (профилируется выполнение в режиме задачи)
запомнить значение счетчика команд в момент прерывания;
собрать статистику о самой системе;
собрать статистику о протекающих в системе процессах;
выверить значение продолжительности ИЦП процессом;
if (прошла 1 секунда или более и исполняется отрезок, не являющийся критическим) {
for (всех процессов в системе) {
установить "будильник", если он активен;
выверить значение продолжительности ИЦП;
if (процесс будет исполняться в режиме задачи) выверить приоритет процесса;
}
возобновить в случае необходимости выполнение процесса подкачки;
}
}
Рисунок 8.9. Алгоритм обработки прерываний по таймеру
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Случайные статьи
Каковы источники п...
СИСТЕМНЫЕ ОПЕРАЦИИ...
2.3.2.4 Телеграфны...
Вот что такое «Гео...
9.2.1.1 Функция fo...
2. Пересечения про...
О чем мы узнали ?
12.5 УЗКИЕ МЕСТА В...
4.2 СТРУКТУРА ФАЙ...
2.2.1 Сообщения и ...
Детальный анализ п...
Компьютерные файлы
Одометр
Сквозные (межфункц...
Для пользователей ...
3. Декомпозиция пр...
Оглавление
2.4. Цифровые кана...
DVD в России: част...
Трещина, которая н...
2.1.2. Уровень 2 ...
3.2.3. Технология ...
3.5. Ключевые прак...
7.2.5. Проверка в...
Реинжиниринг проце...
Глава третья. АВТ...
10.3.1 Символьные ...
3. Переосмысление ...
Глава пятая. ВЫВО...
Всем ребятам — при...
Управление с помощ...
1.3. Обзор модели ...
5.6 CLOSЕ
Идея вторая: Измер...
Технические характ...
2.4.7.3 Исправлени...
4.4 ПРЕВРАЩЕНИЕ СО...
2.5. Пропуск этап...
4.2. Различия межд...
Присвоение наимено...
Мини-чат
Вам необходимо залогиниться.

Нет присланных сообщений.
Copyright © 2009