Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
April 07 2026 04:17:11   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
4.12.1 Професси... 36317
Учимся удалять!... 33205
Примеры, синони... 24426
Декартовы коорд... 23887
Просмотр готовы... 23745
FAST (методика ... 22498
содержание - се... 21893
Просмотр готовы... 20772
Работа с инстру... 16317
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 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.6.2.2 Применение...
3.1. Внутренняя с...
Видео для развлечения
Синтаксис
9. Количество проц...
Светофоры
Сущность
ГЛАВА 13. РАСПРЕД...
6.1 СОСТОЯНИЯ ПРОЦ...
Оглавление
8.1.5 Планирование...
ГЛАВА 7. УПРАВЛЕНИ...
1.2. Фундаменталь...
Достоинства и недо...
Характеристики при...
Настройки телефона...
Как происходит опр...
5.6 CLOSЕ
До 500 долларов
В чем заключается ...
Антенна
12.3.1 Определени...
1. Продукции типа...
Fortuna ClipOn Blu...
Мат в 16 ходов, ил...
Манчестерское коди...
Специальные билеты
1.1. Основные понятия
2.2.7 Объем и инфо...
Datum
13.5 ВЫВОДЫ
Использование подт...
Как правильно наст...
Глава 5. ЕИН
Глава пятая
Точность GPS
2.6 УПРАЖНЕНИЯ
3. Переосмысление ...
Мини-чат
Вам необходимо залогиниться.

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