Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Таймер




Работа в режиме реального времени. Таймер.

Диспетчеризация процессов

Ядро предоставляет процессу ресурсы центрального процессора на интервал времени квант, по истечению которого выгружает этот процесс и запускает другой, а также периодически меняет порядок в очереди процессов.

Ядро пересчитывает приоритеты и переключает контекст на процесс с наивысшим приоритетом.

Время в системе поддерживается с помощью аппаратного таймера, который посылает центральному процессору прерывание с фиксированной частотой.

Планирование и выполнение процессов. Действия планировщика.

1. Выбирается процесс с наивысшим приоритетом из находящихся в состояниях резервирования и готовность к выполнению.

2. Если таких процессов несколько, то выбирается тот, который дольше всех находится в очереди.

3. Если таких процессов нет, то ждем следующего прерывания по таймеру (тика).

4. Удаляем выбранный из очереди готовых к выполнению.

5. Переключение на контекст выбранного процесса.

 

Когда процессы ждут прерывания, они находятся в режиме сна. Приходит прерывание => процессы переходят в режим готовности к запуску.

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

Системные операции, связанные со временем.

stime ≈ устанавливает системное время в секундах, начиная с семидесятого года;

time ≈ выдать время в секундах, начиная с семидесятого года;

times ≈ возвращает суммарное время выполнения процесса и всех его потомков.

alarm ≈ процесс посылает себе сигнал будильника;

(Пример будильника:)

main ()

{

extern wakeup ();

signal (SIGALARM, wakeup);

while (1);

{

alarm (5);

pause ();

}

}

Опишем wakeup, обрабатывающий сигнал будильника:

wakeup ()

{

printf (“Я проснулся”);

}

В цикле заряжаем будильник на пять секунд. Процесс приостанавливается. Через пять секунд приходит сигнал будильника SIGALARM, и мы вызываем wakeup.

Функции программы обработки прерываний по таймеру:

1. Перезапуск часов для выполнения, следующего тика.

2. Вызов на выполнение функций ядра, использующих встроенные часы.

3. Поддержка возможности выполнения процессов.

time prog1

Программа prog1 вызывается на выполнение, и после выполнения выдается, сколько секунд она выполнялась.

4. Сбор статистики о системе и протекающих в ней процессах.

5. Слежение за временем.

6. Посылка процессом сигналов будильника по запросу.

7. Периодическое возобновление процесса подкачки.

8. Управление диспетчеризацией процессов.

 




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 295; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.