Если Вы напишете программку do ; while(1) ; и запустите ее под NT, это не приведет к зависанию системы - остальные задачи тоже будут работать. Даже смешно такое слышать.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Просто замечание
22 января 2004 г. 12:17
В ответ на:
я терминалогию не помню, но если какя-то задача подвисла, то даже в NT системе
отправлено DSN 22 января 2004 г. 11:33
Составить ответ
|||
Конференция
|||
Архив
Ответы
Ответ: Один раз попробовал сделать Ассемблерную вставку, которая реализовала бы задержку пустым циклом на регистрах. Тут же - RunTime Error.
—
ДМ
(22.01.2004 14:30,
пустое
)
для такого цикла нет...
—
DSN
(22.01.2004 12:31, 431 байт)
Уважаемый, Вы пишете какой-то сумбур - при чем здесь оболочка? В NT переключаются задачи даже если какая-то задача "не отдает" управление и зацикливается. Все равно будет переключение на другие задачи - это вытесняющая многозадачность.
—
Просто замечание
(22.01.2004 12:42,
пустое
)
переключаются, вот только почему-то ресурсы отдаются зависшему процессу больше чем более приоритетному.
—
DSN
(22.01.2004 12:49,
пустое
)
Ответ: переключение задачи происходит в двух случаях: 1) процесс сам возвращает управление операционной системе; 2) планировщик отбирает управление по таймеру. Если задача "зависает", то переключение происходит только вторым способом, поэтому задача получает все процессорное время, которое ей выделяет планировщик. Линукс к твоему сведению работает точно так же.
—
vi
(22.01.2004 13:05,
пустое
)
только в линухе нет потока сообщений
—
DSN
(22.01.2004 13:13, 364 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru