Как вообще блокировать прерывание по таймеру, когда оно перекрывается с завершением процесса или сном - PullRequest
0 голосов
/ 11 октября 2018

Я делаю планировщик с простой образовательной ОС в стиле Unix.У меня проблема: Как вообще блокировать прерывание таймера, когда оно перекрывается с завершением или сном процесса?

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

Требуемая операция - интервал времени составляет, например, 10 тиков.

  1. Запуск для 100 тиков
  2. Завершение процесса
  3. Расписание вызовов обработчика таймера

Текущая операция

  1. Запуск на 100 тактов
  2. Расписание вызовов обработчика таймера
  3. Запланировано для другого процесса.
  4. Через несколько минут
  5. Перенесено на начальный процесс.
  6. Завершение процесса

Может кто-нибудь предложить общую идею для решения этой проблемы?

1 Ответ

0 голосов
/ 12 октября 2018

Это было UP.Ну, может быть, это был глупый вопрос.Я просто решил это, выполнив планирование на 1 тик позже, довольно хакерским способом.Надеюсь, что есть более правильный ответ.

...