[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Михаил Евстафьев 19 октября 2001 г. 18:46
В ответ на: если не сложно разъясните отправлено yes 19 октября 2001 г. 18:12

>для виндовз 9х программа должна вызвать
>ОС и вернуть управление

Это верно только при запуске приложений Win16. Если одно из них зависло, то и все остальные Win16 не смогут работать. Для всех Win16 используется одна виртуальная машина. В WinNT для каждого Win16 используется своя виртуальная машина.

Приложения Win32, а так же и DOS приложения могут виснуть, в смысле не вызывать никаких сервисов ОС, а DOS приложения и не знают, как пользоваться сервисами Win. Cчитать, например, что-то внутри себя. Но это не мешает всем другим задачам с тем же приоритетом получать управление. Внешне это будет проявляться как тормоз, реакция на мышку и клавиатуру в независших задачах будет очень медленная. Потому что временой интервал диспетчеризации всего 18 гц. Плюс еще Win динамически меняет приоритеты задач, чтобы та задача, которая имеет фокус ввода вызывалась почаще.

>если она этого не делает -
>то система виснет - что каждый имел
>удовольствие неоднократно видеть

Тут есть два варианта.
Первый - по CTRL/ALT/DEL вызывается менеджер задач (а ведь это тоже другая задача, значит она работает параллельно с зависшей) и зависшую задачу можно убить.
Второй - виснет намертво. Ну это уже не проблема с многозадачностью, это проблема с защитой системы от сбоев и программистских ошибок. Есть дырки в этой защите. Большинство из них связано с попытками обеспечить совместимость со старым ПО и с драйверами сторонних производителей выполняющимися в нулевом кольце защиты. От свихнувшегося кода в нулевом кольце защиты нет (не может быть).

>в вытесняющей многозадачности (не)работоспособность
>приложений не влияет на работу ядра (к примеру - у
>меня Х сервер завис, я с другого компьютера телнетом
>зашел и убил его - а система работает)

То же самое, когда надо, я делаю и с NT серверами. В Win95 средства администрирования не развиты, ну а разве это нужно домохозяйкам?

Игры предьявляют жесткие требования к многозадачной ОС. И Win прекрасно с этим справляются. Достаточно просто зайти в магазин CD и посмотреть не полки.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru