RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > Если все "перелопатить", то в результате мы, скорее всего, получим "сферического коня в вакууме", > > Это как перелопачивать. > > Понятно, что "перелопачивать" можно по разному. Но в данном случае то, что предлагается -- черти что и сбоку бантик. Это если к L4 еще сбоку приделать сегментацию -- не очень логично вписывается в идеологию. Хотя если мы окажемся умнее J. Liedtke (разработчик L4), то флаг нам в руки... > > > > который будет совместим только с нашим проектом ОС, не сможет запускать других ОС и будет притянут к архитектуре IA32. А хочется еще и поддержки других платформ, приложений других ОС. > > Даже MS, с её деньгами перестала тащить "чужие" архитектуры. > > Потому что поддержка каждой архитектуры требует от MS отдельных денег. А надо сделать ОС 1) по настоящему переносимой 2) открытой. (посмотрите на Linux. он конечно, многим не нравится, но поддержка Linux на куче архитектур не требует вливания кучи денег, в отличие от windows -- да его само собой добровольно переносят на кучу платформ (были бы желающие)) > > M$ тут как раз нам не указ. 1) У M$ ОС не микроядерная (или по крайней мере, не совсем микроядерная). Поэтому не так тривиально ее перенести на другую платформу. несмотря на то что теоретически, HAL.DLL вроде бы абстрагирует оборудование 2) 32-разрядный API архитектурно зависим (вроде бы, сильно отличается от того же win64) API Поэтому надо поддерживать каждую архитектуру отдельно. > > Вопрос вроде упирается в наличие программ под экзотическую платформу. Но вопрос только в их перекомпиляции. Больших телодвижений от разработчика это не требует, портировать не надо, достаточно просто перекомпилировать под другую платформу. -- Если сделать по-настоящему переносимый API, то действительно -- достаточно простой перекомпиляции. Микроядро скроет все особенности оборудования. Потом, никто не отминяет x86-пробирку для бинарной совместимости с интел-версией. > > Причем микроядро позволяет простой перекомпиляцией не только прикладных программ, но и самой системы переносить ее на другие платформы. Это в отличие от линукса, который надо портировать. А у нас система еще более переносимая (при условии, что API сделаем переносимым) -- достаточно просто заменить микроядро и перекомпилировать систему. > > > > оно сделано достаточно универсально. Да, оно скрывает "левые" особенности архитектуры x86. И это даже хорошо, так как эти особенности (сегментация), дают больше геморроя, чем преимуществ (об этом уже правильно высказался Лайтэльф). > > Это мнение можно и нужно оспорить. > > Сегментация, которая так, не нравится позволит сделать например такое: > > VirtualAddressLimit=1024 и получаем гиг адресного пространства, доступного в "классической" плоской модели. Единственное отличие: пределы всех RING3 сегментов должны быть гиг, а не четыре как обычно. > > Получаем (в RING3) 512Мб "старой" OS/2 памяти, полгига для программ, желающих HMA и access violation для любого приложения, которое попытается своими грязными ручонками лезть за эти границы. > > Память за пределами третьего гигабайта "накрываем" (глобальными) большими страницами (железо). > > Остаётся ещё два гигабайта адресного пространства, которое можно использовать так, как сочтём нужным. > > Если использовать 64-разрядность в совместимом режиме - можно будет задействовать и более четырёх гигабайт физической памяти. Хотя не очень понятно, насколько это актуально. > > Да, это все хорошо. возможности конечно, действительно открываются потрясающие. Но, уже говорили 1) как быть с компилятором, такое умеет по-моему только Watcom, а завязываться на специфические фичи одного компилятора не хочется 2) проблемы при портировании существующих opensource исходников. -- Не окажемся ли мы в изоляции без софта? 3) это непереносимо на другие платформы. Если даже оставить экзотические, типа APM, то даже на AMD64 не совсем переносимо (что-то Лайтэльф говорил, что там для совместимости оставили только регистр SS, а остальные выкинули, если я правильно понял) > > Железо меняется. Даже платформа PC не вечна. Можно конечно, смеяться, и говорить, что PC вечны (и конечно, инерция использования PC велика), но 1) возможен рост популярности AMD64 2) производители могут придумать что-нибудь поудобнее IA64 и AMD64. Оно может приобрести популярность, и если не вытеснить традиционные PC, то сосуществовать. Хочется, чтобы ядро и там работало, причем без особых телодвижений -- здесь микроядерный подход рулит. > > Не хочется заново перепроектировать ядро при смене платформы производителями. Это вполне возможно в ближайшие 10 лет. Причем переносимость ОС дает особо не волноваться по этому поводу -- версию микроядра для новой платформы сделают его разработчики, если платформа действительно популярна. А закладываться на сегментацию и прочее имхо не стоит, так как в этом случае нас ожидает куча работы, если не необходимость писать все с нуля -- сегментация не переносима. > > В общем, мое мнение остается прежним, и время покажет, кто прав...
__, _,_ _, __, ___,
|_) | | | |_ ` /
| \ | | | , | /
~ ~ `~' ~~~ ~~~ ~~~
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.