Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Member-а поправлять не зазорно 26.10.04 11:34 Число просмотров: 1697
Автор: amirul <Serge> Статус: The Elderman
|
Если поправлять в тему
> Осмелюсь поправить member'а. > > 1. Приоритет процессов в данном контексте бесполезен т.к. > здесь эта "сущность" недетерминистична т.к., в свою > очередь, это не real-time OS. Вы хотите сказать, что приоритет процесса ВООБЩЕ не имеет значения, если ОСь не RT? Странно, а шедулер думает иначе.
В виндах, если поток ожидает на каком либо объекте, то он будится сразу же как только этот объект переходит в "установленное" состояние. Поток получит свой квант сразу после того, как ISR-процедура завершит ReadIrp (строго говоря она только ставит DPC для текущего процессора и IRP завершается по окончании обработки прерывания). Высокий приоритет в данном случае нужен просто как страховка: чтоб успеть сделать все что нужно, не опасаясь что процессорное время передадут какому нибудь IE.
> 2. Если уж Вы взялись говорить о "важности" понимании > "тиков", то для честности и верности Вы должны были также > сказать и о таких понятиях как "квант", "планирование", и > т.д. А какое отношение имеют понятия квант, планирование и системному тику винды? Здесь не семинар по архитектуре ОС-ей. Просто было сказано, что невозможно указать задержку точнее системного тика.
> 3. Если Вы, автор сабжа, хотите достичь стабильности в > указанном временном интервале независимо от поведения ОС, > категорически рекомендую Вам НЕ использовать асинхронные > операции ввода-вывода. Для Вас наверное будет откровением узнать, что практически ВСЕ операции в винде вообще и в IO-менеджере в частности являются асинхронными. Разница между OVERLAPPED (асинхронным) и не OVERLAPPED (синхронным) режимами того же ReadFile только в месте, в котором стоит KeWaitForSingleObject. В первом случае ожидание события откладывается до явного вызова функции GetOverlappedResult(), во втором случае - ничего не откладывается и ReadFile() не возвращает управление пока IRP не завершится.
> 4. Не следует быть настолько поверхностным г-н member, тем > более, что Вы осмеливаетесь давать советы и тем более, что > вы все-таки Member. Вам просто поговорить не с кем или Вы по делу пришли?
|
|
|