Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
Февраль 04 2023 15:33:16   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
Учимся удалять!... 31028
4.12.1 Професси... 29881
Примеры, синони... 22740
Просмотр готовы... 21435
Декартовы коорд... 21055
FAST (методика ... 20841
содержание - се... 19994
Просмотр готовы... 18101
Работа с инстру... 13879
Сейчас на сайте
Гостей: 2
На сайте нет зарегистрированных пользователей

Пользователей: 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. Алгоритм обработки прерываний по таймеру
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

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

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

Пароль



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

Забыли пароль?
Запросите новый здесь.
Случайные статьи
Выводы
Настройки телефона...
Цена до 350 долларов
4.12.3.5 Система с...
5.17 АБСТРАКТНЫЕ О...
3.11 Особенности ...
Сильные и направле...
Виды связи и режим...
Стандартные экипажи
продолжение...
Вместо заключения
О чем мы узнали ?
Звук
1.2 Логическая т...
ВТОРОЙ ПРИМЕР
3.1.1. Организация...
Приложения
Нечеткий вывод
В бой идут одни ст...
7.4 ОЖИДАНИЕ ЗАВЕР...
Новая «общественна...
8.1.6 Работа в реж...
Глава 3. Компьютер...
БИБЛИОГРАФИЯ
7.3.6. Технология...
5.3. Долговременны...
Исчисление высказ...
Fishfinder: прошло...
ПРЕДИСЛОВИЕ
2.5 ВЫВОДЫ И ОБЗОР...
Предисловие
Степень связи
Конструкционные сп...
2.2.1. Понимание ...
Протоколы
5.14 МОНТИРОВАНИЕ ...
Обобщенные модели
Глава 3. Принцип р...
ИДЕНТИФИКАЦИЯ СУЩН...
2.3.1 Общие сообра...
Мини-чат
Вам необходимо залогиниться.

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