RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : ... и всякое такое


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Slavik Gnatenko, 2:467/99
To : Alexander Conon
Subj : ... и всякое такое

> >> вот про тайный смысл поля "link to next header" кто-нибудь может рассказать ?
> >> в смысле - возможность засунуть несколько драйверов в один файл, она зачем ?
>
> >Поддерживать несколько девайсов одним экземпляром драйвера
> одним файлом
Одним файлом по любому несколько девайсов поддерживается. Если он, конечно, хоть сколь-нибудь универсален или девайсы идентичные. Фишка хедера в том, чтобы грузить один экземпляр.

> >всяко проще
> сложнее
И чем сложнее? Чем проще - очевидно. Разработчику драйвера не надо озадачиваться, как определять, на что мы драйвер загрузили, а на что ещё нет. Пользователю, как он сейчас огребает на USB контроллерах, не нужно думать, сколько там этих самых девайсов, чтобы прописать в config.sys ровно столько же одинаковых строчек.

> >и менее ресурсоёмко, чем грузить по экземпляру на каждый девайс.
> оно всё равно грузится по экземпляру на девайс
Ну ну. У тебя компорта ещё два? Покажи мне два загруженых экземпляра com.sys.

> >Там другая кривость: сколько placeholders вобьёшь,
> >столько по максимуму девайсов и будет.
> это та же самая кривость но сбоку
Нет, это совершенно другая кривость. Поддержка многих девайсов на экземпляр - это отлично, просто её можно было сделать более красиво и расширяемо. Самый очевидный путь: добавлять логические устройства через специальный DevHlp, а не заполнять хитрые статические структуры в жёстко заданом месте файла. По большому счёту в ядре подобное потом сделали в рамках, кажется, DosFSAttach, но легально отбросить старые PDD уже ресурсов не хватило.


Mon 21 Jul 2008 03:44 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.8.1.15) Gecko/20




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.