RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > >>>> вот про тайный смысл поля "link to next header" кто-нибудь может рассказать ? > > >>>> в смысле - возможность засунуть несколько драйверов в один файл, она зачем ? > > >>>Поддерживать несколько девайсов одним экземпляром драйвера > > >>одним файлом > > >Одним файлом по любому несколько девайсов поддерживается. > > >Если он, конечно, хоть сколь-нибудь универсален или девайсы идентичные. > > >Фишка хедера в том, чтобы грузить один экземпляр. > > в мануалах ясно написано - "несколько драйверов в один файл". > > неужели врут ? :-/ > Врут :) Драйвер и файл тождественны. Вот поддерживаемых логических устройств им может быть несколько. > > > >И чем сложнее? > > сами драйвера сложнее > Конкретнее, пожалуйста. Не забывай, кстати, что это опция. Никто не мешает ограничить себя одним устройством на файл. Но лично мне com2com.sys в виде двух файлов добавил бы только существенного IDC траха при написании. > > > >Чем проще - очевидно. > > >Разработчику драйвера не надо озадачиваться, как определять, > > >на что мы драйвер загрузили, а на что ещё нет. > > а он и так не озадачивался. > > было принято решение, что в писюке может быть максимум 4 ком-порта, > > для них и вставили 4 драйвера в com.sys. > Вот именно потому и не озадачивался, что использовал "кривую", по твоему мнению, фичу. Иначе бы пришлось. Зуб даю, эта задача на пару порядков сложнее, чем описать внутреннее взаимодействие с несколькими точками входа. > > > >Пользователю, как он сейчас огребает на USB контроллерах, > > >не нужно думать, сколько там этих самых девайсов, > > >чтобы прописать в config.sys ровно столько же одинаковых строчек. > > если он не хочет думать, то он может сделать a-la com.sys : > > прописать их _больше_. > Это чтобы при включённом PAUSEONERROR машина даже загрузиться не смогла? Отличный подход. > > > >>>и менее ресурсоёмко, чем грузить по экземпляру на каждый девайс. > > >>оно всё равно грузится по экземпляру на девайс > > >Ну ну. У тебя компорта ещё два? Покажи мне два загруженых экземпляра com.sys. > > "унутре у него" несколько драйверов. каким не хватило железа - не грузятся. > Унутре у него один драйвер. С несколькими точками входа. И ресурсы расходуются в основном на открытое логическое устройство, а не на железное. > > > >>>Там другая кривость: сколько placeholders вобьёшь, > > >>>столько по максимуму девайсов и будет. > > >>это та же самая кривость но сбоку > > >Нет, это совершенно другая кривость. > > нет это именно та самая кривость > Повторяю исходный посыл: "в смысле - возможность засунуть несколько драйверов в один файл, она зачем ?" Итак делаем нормальное API, убираем статическое описание точки входа через заголовок и заменяем на динамическую регистрацию на ините (а если помечтать, так вообще в произвольный момент). Кривость с ограничением количества железа уходит. Тем не менее, исходная "кривость", т.е. возможность иметь несколько точек входа, вполне сохраняется. >
_, __, _, __,
/_\ |_) /_\ |_)
| | | | | | \
~ ~ ~ ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.