RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Следующий шаг. Немного конкретики.


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : valerius
To : Василий А. Сидоров
Subj : Следующий шаг. Немного конкретики.

> > Идей построения ядра в основном высказаны.
> > Теперь предлагаю архитекторам перейти к конкретике. А именно:
> > 1. Предложить модель распределения памяти.
> "Малая" модель (код, данные и много "локальных" стеков под нити).
> Каждой задаче - по сегменту в LDT.
> > 2. Предложить способ решения проблемы 16-и бит.
> Самим не использовать, старое - патчить.

WTF LDT?

То есть, вы предлагаете вместо одного плоского адресного пространства несколько больших сегментов и тем самым решить проблему "рваной памяти" и проч.?

Интенсивное использование LDT подразумевает разделение программы на множество сегментов. Все бы ничего, но сегментная модель не имеет аналогов на других архитектурах, кроме x86. А хотелось бы портируемости, как минимум на мобильные и встраиваевыемые устройства...

16 бит? -- имхо, в первую очередь надо реализовать 32 бит, а пока будет время подумать о том, как реализовать 16 бит, (хотя, можно придумать и сейчас, если есть идеи). Я считаю, что 16 бит должны быть реализованы в пробирке (должна быть виртуальная машина x86; надо придумать, как сделать, чтобы при вызове 16-битных фрагментов кода из 32- или 64-бит программы происходила некая ошибка (типа page fault'а?), обработчик которой бы вызывал интерпретатор 16-битного кода, и дальше, 16 битный код работал бы в пробирке. Когда 16-битный фрагмент кончается, интерпретатор должен возвращать управление.)

Sun 10 Jun 2007 22:24 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.7.10) Gecko/2005




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.