VAB>>Замечу что драйвер, пусть и неродной, по определению становится TCB частью ОС и не должен соотв. кардинально требования завышать, без серьезной причины.
А>Вот с этим не согласен. Совсем не обязательно, да вы и сами сделали оговорку.
я ее сделал по причине что какому-то mirror драйверу к примеру в явном виде может быть нужно никак не меньше чем занимает экранная поверхность — неск Мб сразу вынь да положь. И это можно учесть легко.
Когда же идет фильтрация сетевого траффика или файлового\дискового ввода-вывода — тут как Вы понимаете зависит от числа коннектов, открытых файлов и интенсивности самого ввода-вывода. А кол-во сие в свою очередь как правило уже упирается в наличие памяти разных типов причем, можно и pagedpool вперед истощить легко. Соотв. учету поддается с трудом в таком фильтре расход — от 0 до всей свободной, и разбрасываться ресурсами в ситуации когда каждый след. коннект\открытый файл\IRP летящий по стеку может стать последним не стоит конечно.
Ведь кто знает, может быть эти неск Кб, которые в Вилларибо предусмотрительно съэкономили, как раз и позволили пройти критическую точку и не уронить систему в условиях временно истощенных ресурсов. Дальше файлы позакрывались, коннекты отвалились и ситуация с ресурсами выровнялась. А в Виллабаджо все упало и там до сих пор греют дебаггеры, вспоминая чью-то мать
это написал уже не Вам, а так сказать наглядный пример "подрастающему поколению", чтобы было ясно почему надо бережно относиться к вещам "которые ж всегда и так работают" — у нас-то, как водится, всегда и все работает, но работать-то должно еще и у заказчика и лучше готовиться к худшему, вроде 10 чужих фильтров в стеке, заранее.
А>Должна знать предел! Иначе — 99% кривая архетиктура, ошибки при пректировании или ещё что там...
выше написал про случай без предела — фильтр чего-либо. Ошибок может и не быть никаких.
ну ладно, откровенно говоря, мы у себя пишем в design documents на каждую фичу и т.п. в разделе Resource Usage что-то вроде:
Memory usage is just few kilobytes of non-paged memory to store:
• the list of IDs for known files on permanent basis
• the names of protected files
• the pointers to referenced file objects
One additional worker thread is required for the internal file open operations.
но это же не совсем то, что имеет смысл помещать в readme.txt
Если заняться математикой, то да — пределы можно вычислить по вот таким Resourse Usage заметкам — но все равно формула будет включать в себя много параметров вроде кол-ва одновременно открытых файлов и т.п.
В принципе можно вычислить, сколько памяти нужно на сколько коннектов и записать уже в таком виде в readme.txt — это имеет практический смысл, пожалуй.
... << RSDN@Home 1.2.0 alpha rev. 655>>