>Вы что-то путаете. Поздний DOS, и уж точно Win 3 и выше
>были написаны не менее чем на 90% на Си. Зато драйвера писались на асме.Даже VxD виндовые в основном были на чистом асме.Потому и работало соответствующе.И куски кернелей в 3.x и 9x вроде на асме были местами.А на чем там прикладные программы написаны как бы на скорость системы не влияет.
>А скорость как раз и появлялась от того, что там не было разделения
>прав,
И это - в NT разделение между подсистемами, так что запросы долго футболятся туда-сюда, дос-программам и т.п. закрыли прямую работу с железом и вообще порезали доступ (так что как NT работает с дос-программами все знают - да почти никак, зато стабильность подскочила).Плюс HAL и прочая, драйвера - на сях.Пока там запрос до железа дойдет его изрядно пофутболят.Ну и скорость соответствующая.
>приводило не только к высокой скорости работы, но и к низкой
>устойчивости системы.
В основном там было слабое разделение памяти а DOS и Win16 программы по сути делали что хотели без особых ограничений.В итоге они могли и повесить все нафиг, и сребутить все одним махом и проблем вагон создать скажем сунувшись к железу конфликтующим с системой образом.
>Ну не нужно так сразу. Сетевой стек BSD был без зазрения совести
>использован во многих системах.
BSD лицензия неплоха если нужны референсные реализации всякие и т.п..
> что ещё понадобится из BSD в будущем.
Проблема в основном в том что BSD лицензия работает только в том случае когда разработчики продукта сильно уделывают всех конкурентов и являются непререкаемым центром компетенции в вопросе.Это до некоторой степени катит для апача и т.п., но для случая операционок - дохлый номер из-за сильных позиций проприетарщиков, которые в итоге расхапывают компоненты системы ничего не отдавая взамен.Скорость развития в итоге понятно какая.Такая система обречена жить недоделанной референсной реализацией созданной лишь для того чтобы все остальные посмотрели как там и сделали лучше.
>Я пытаюсь Вам всего лишь объяснить, что не Linux'ом единым живы. От
>BSD несомненно есть польза.
Какая-то польза от нее БЕЗУСЛОВНО есть.А я с этим никогда и не спорил.
>Неправильно понимаете микросхема тут мягко говоря не при чём. Она выполняет едва-ли
>5% от всех функций железки.
Ну да, как же.Скоростной роутинг за который эту железку и юзают выполняется там.Да и прочие скоростные операции опять же с его участием.Без него эта железка никому не нужна будет по такой цене.А вот ось в принципе не важна, что кривоватый IOS и подтверждает.
>Ну и того - второй DOS. Немодульный, без защиты от некоректных программ,
>не вытесняющая, а кооперативная многозадачность. Видимо потому IOS не во всех
>Cisco, в старших уже что-то другое.
Уж не линукс ли?Что-то кто-то там про это втирал 8)
>Ну я-то тоже. Но Вы похоже вообще не гуру в маршрутизаторах, раз
>думаете что маршрутизатор "только роутит пакеты".
Это его основная задача ради которой оные за столько бабла и покупают.Побочности - есть.Порой приятные, удобные и нужные.Кто ж спорит.Тем не менее, циски как-то с их тупорылым ios юзают и не сказать бы чтобы мало.А если натурально надо чтобы и парил и жарил и тапочки админу приносил - в этом плане какая-нить Vyatta всем фору даст.По причине изменябельности системы юзером и возможности гонять свои задачи.
>Это не лишний уровень. Это стройная и продуманная система, которая позволяет делать
>каждую отдельную задачу отдельным модулем и соединять эти модули в любом
>сочетании. NAT, NetFlow, сбор и разбивка пакетов, инкапсуляция, шифрование - для
>каждой задачи свой модуль.
В теории все так.А на практике почему-то народ сходу нашел что можно в линуксе и проблематично в bsd.В итоге - за что платим скоростью?За архитектурную красоту?Благо линукс с своими обязанностями справляется.Да еще народ нагло накапывает примеры которые на бсд фиг изобразишь а на линухах пожалуйста.Это так и надо?
>В Linux реализовано лишь то, что нужно на практике.
Может я дебил но зачем реализовывать то что на практике не нужно?Из эстетических соображений?
>Для добавления чего-то нового нужно будет опять дописывать ядро.
Да, все так.Зато в силу отсутствия лишнего уровня все будет работать быстрее.А это не пофигу.Особенно когда роутинг, натинг и прочая программно и без помощи чипов.А с помощью чипов на нетграф почти до балды, он там элементарно не у дел остается когда работает чип.
>За сложную функциональность и модульность всегда приходится расплачиваться
>производительностью.
Проблема в том что народ вот так вот сходу взял да и привел ряд примеров когда в линуксе нечто можно а в бсд - нет.И за что плата скоростью идет?Если вы не заметили, линукс как программный роутер, фаервол и QoS юзается много где.И в soho железках и в vyatta которые утверждают что им по зубам 10Гбит.Я как-то слабо представляю себе при этом избыток производительности который можно взять и подарить лишнему уровню неизвестно ради чего.В soho железках слабый проц (лучшие образцы осиливают роутинг и натинг 100 мегабитов, о VPN на такой скорости речь не идет), в энтерпрайзах может быть очень много траффика, сложные правила файрвола, QoS и натинга кучами.
>днём становится мощнее, поэтому экономить крохи на железе не стоит, стоит
>экономить человеческое время.
Так это делается элементарно.Если самому вкуривать влом - покупаете готовое решение, желательно с поддержкой.Вот это да, экономия времени.Кардинальная такая, хоть и не бесплатная.Можно самому все нарулить а можно купить решение которое работает out of the box.Думается vyatta на нечто такое в перспективе и претендует и мне кажется что свой рынок оно найдет.Как раз за счет тех кому надо чтобы работало и при том желательно еще вчера.
>Они сами по себе могут без участия компьютера взаимодействовать друг с другом?
Компортовые девайсы?В общем случае не могут.В частных могут.Только вот COM порт это не hot-plug интерфейс и не сеть а банальный point to point.Если к нему что-то прицеплено то на ходу это другим не заменят, еще 3 устройства к тому же порту не прицепят и потому можно рассчитывать что общаясь с некоей железкой по ttyS0 в следующий раз вы ее там опять найдете.А в случае с usb все не так.
>Ну вот ядро и определит каждое из устройств, причислит к определённому классу:
>накопитель или последовательное устройство.
Угу.Есть пять одинаковых железок изображающих компорт.Ядро само как-то их посадит по именам ttyUSB0...4.Ну и удачи понять как там найти нужное из пяти одинаковых по свойствам железяк не зная что это именно юсб.Обычно софт который не в курсе в этом месте жиденько сливает и лажается как только именование устройств при их перекоммутации съезжает так что скажем ttyUSB0 указывает не на тот девайс который там был в прошлый раз.
>Вот именно. И так - почти со всем.
Ага.Только если не дай боже у вас два или более одинаковых девайсов которые вы иногда переключаете - тупой PPP легко и ненапряжно начнет как дятел долбится в абсолютно другую железку если она займет это имя девайса(а это легко, лишь бы классом девайса совпадало).Не подозревая что его обманули и это уже совсем не тот девайс.Просто потому что для него действительно ничего неизвестно о usb, сравнить дескриптор и определить что старый девайс на самом деле уже свалил на другое имя он не сможет.И сие порой подкладывает конкретную свинью.Даже виндусь с его диалапом не ушет от грабелек, как раз основанных на этом.
>Программы могут работать с устройством,
>не зная что в действительноти оно из себя представляет.
Могут.Вопрос в том как.Обычно это незнание означает что "крайне погано" и "с рядом подлянок, особенностей и неполноценностей" :\
>А разве это сейчас не так?
Для софта который не знает что вон та штука - USB, все плохо.Сюрприз, мля...
Софт который знает что такое юсб умеет искать нужные девайсы и даже ждать пока нужный подключат.Но абстракции при этом идут лесом - энумеровать девайсы на юсб абстрактно не получится.Да и пообщаться с неизвестным ядру классом девайса можно только самолично поработав с endpoint-ами.
>а не на уровне прикладных программ.
Так ядро то привязки сделает, но проблема в том что напостоянно отдать имя девайса конкретной железке нельзя.Благо юзер может избавиться от железки и никогда более не юзать.Скажем если юзер принес флешку, воткнул, поюзал, и отдал ее нафиг.И так 50 раз.Что, 50 имен девайсов настрогать и не отдавать их другим в надежде что через сколько-то там юзер может еще раз такой девайс притащить?Тупо.
>Выдумывайте тогда велосипедный API для каждого устройства дядюшки Ляо и в ядро
>его, в ядро!
Это API видимо, называется libusb и всем кому надо сто лет известно :D
>Ну то, что жёсткие диски не вынимаеют во время работы,
Кстати, по идее уже вынимают... ибо ESATA и SATA 2.0 допускают горячее подключение по спекам.
>QNX очень даже получила зелёный свет.
Ну, что-то где-то она получила.Даже где-то юзается.Немного но есть.Ну и фиг бы с ней, кто-то против чтоли? :)
>Я думаю и многие другие получат успех, это дело времени.
Тут имхо все зависит от того что считать критерием успеха.
>Ну похоже, что Вы?
Что, правда?Вот новости то! :D
>Да, очень успешно скрывают.
Скрывают - да.Успешно... ух... ага, когда какойнить PPP будет как дятел долбить не в тот девайс это конечно замечательный успех %)
>сколько граблей возникало бы, если бы абстракции не было.
Местами обходятся без абстракции (ну вон libusb тот же).И ничего, работает все...
Я кстати не говорил что абстракция совсем не нужна.Скажем абстракция HDD или клавиатуры вполне ок.Хотя-бы потому что HDD можно отличиить по guid разделов и не зная ничего о юсб а клавиатура обычно одна (если их будет две - вот тут вопрос...).
>В том числе и Вы, так что не нужно пытаться доказать, что
>от абстракции нужно избавляться.
Я пытаюсь доказать что ее надо использовать в меру и к месту, без чрезмерного фанатизма.
>Если Вам не нужна FreeBSD с окружением Debian, это не значит, что
>оно никому не нужно.
В принципе - да, оно так.Ну, посмотрим - видно будет что и как.Тут только время все по своим местам расставить может.