Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.02.15;
Скачать: [xml.tar.bz2];

Вниз

В каком году Windows будет полностью переписана на .NET   Найти похожие ветки 

 
Игорь Шевченко ©   (2008-12-18 00:52) [40]


> И это называется DMA.


Это называется отображение регистров устройств на память - схемотехническое решение для процессоров, у которых нет команд IN/OUT


 
Mystic ©   (2008-12-18 00:54) [41]


> oxffff ©   (18.12.08 00:36) [39]


Кроме Intel и AMD есть еще ARM-ы и т. д. Мешать ничего не будет. Просто если устройство может писать в память, то, теоретически, оно может писать в пять код. И код может писать поверх существуюещего .NET кода.


 
oxffff ©   (2008-12-18 14:33) [42]


> Игорь Шевченко ©   (18.12.08 00:52) [40]
>
> > И это называется DMA.
>
>
> Это называется отображение регистров устройств на память
> - схемотехническое решение для процессоров, у которых нет
> команд IN/OUT


И такое есть (если не ошибаюсь у SUN sparc).
Но речь шла не только об этом, есть еще DMA.
Непосредственно DMA контроллер + Bus Master IDE.

http://ru.wikipedia.org/wiki/DMA
http://www.ixbt.com/mainboard/bmide.html

Но и в том и в другом случае, либо физический адрес статичен и известен,  либо динамичен (задается драйвером).


 
oxffff ©   (2008-12-18 14:42) [43]


> Mystic ©   (18.12.08 00:54) [41]
>
> > oxffff ©   (18.12.08 00:36) [39]
>
>
> Кроме Intel и AMD есть еще ARM-ы и т. д. Мешать ничего не
> будет. Просто если устройство может писать в память, то,
>  теоретически, оно может писать в пять код. И код может
> писать поверх существуюещего .NET кода.


В чем проблема?
Устройство же не может просто писать произвольно как захочется, адрес этот либо статичен, либо задается посылателем запроса устройству.
Ничего же не мешает зарезервировать пул страниц ядром, и просто не мапить их на линейное пространство.


 
Юрий Зотов ©   (2008-12-18 14:51) [44]

Только что заметил ветку...

> В каком году Windows будет полностью переписана на .NET
> Чтобы полностью и ядро и драйвера и вся системная часть была на .NET?

Никогда. Потому что ядро, написанное на .Net, не сможет работать без VM, а VM не может работать без ядра.

Слышать подобные вопросы от программиста - более чем странно.


 
oxffff ©   (2008-12-18 14:56) [45]


> Юрий Зотов ©   (18.12.08 14:51) [44]


:)

А как же тогда  oxffff ©   (15.12.08 23:51) [11]
очень рекомендую
http://www.rsdn.ru/article/singularity/singularity.xml


 
Юрий Зотов ©   (2008-12-18 15:30) [46]


> oxffff ©   (18.12.08 14:56) [45]
>
> А как же тогда  oxffff ©   (15.12.08 23:51) [11]


А никак. Просто потому что CPU умеет исполнять только свой нативный код и ничего более. А это значит, что ядро любой ОС может быть выполнено только на этом нативном коде и ни на чем другом. Даже если это ядро будет представлять собой некую VM - все равно оно останется ядром и будет выполнено на нативном коде. И никакие танцы с бубнами тут не помогут.


 
KSergey ©   (2008-12-18 15:38) [47]

> Юрий Зотов ©   (18.12.08 15:30) [46]
> на нативном коде. И никакие танцы с бубнами тут не помогут.

Поможет .NET в железе. Где-то я эти  мечты читал вроде.


 
oxffff ©   (2008-12-18 15:41) [48]


> Юрий Зотов ©   (18.12.08 15:30) [46]
>
> > oxffff ©   (18.12.08 14:56) [45]
> >
> > А как же тогда  oxffff ©   (15.12.08 23:51) [11]
>
>
> А никак. Просто потому что CPU умеет исполнять только свой
> нативный код и ничего более. А это значит, что ядро любой
> ОС может быть выполнено только на этом нативном коде и ни
> на чем другом. Даже если это ядро будет представлять собой
> некую VM - все равно оно останется ядром и будет выполнено
> на нативном коде. И никакие танцы с бубнами тут не помогут.
>


Никто и не говорит о прямой аппаратной поддержке виртуальной машины.
Однако ничего не мешает написать только минизагрузкик, который загружает виртуальную машину и передает ей управление. Причем часть загрузчика может быть написана на .NET языке и откомпилировано в целевую аппаратную платформу, например аналог Ngen.
Вы читали ссылку полностью?


 
Городской Шаман   (2008-12-18 15:41) [49]


> Юрий Зотов ©   (18.12.08 14:51) [44]


Нуу... возможно появятся процессоры с аппаратной поддержкой IL. Или загружается загрузчик с мини-VM и HAL(то что нельзя использовать без нативного кода) где все остальное вплоть до драйверов устройств написано на .NET. Вполне реально уложить такой загрузчик с микроядром в 1Мб. Все остальное чистый .NET.

Тогда мы имеем микроядро с сервисами, которые еще и работают на управляемом коде.

В принципе MS уже нечто подобное для прикладной обкатки написала, посмотрите здесь: UMDF http://en.wikipedia.org/wiki/User-Mode_Driver_Framework


 
KSergey ©   (2008-12-18 16:13) [50]

> Городской Шаман   (18.12.08 15:41) [49]
> Тогда мы имеем микроядро

Я сильно не спец в ОСях, но слышал сказки от MS, что они сделали в 2000 и т.д. типа микроядро. Но скорость оказалась никакущей, потому это "микроядро" "расширили", подпихав туда и драйвера и т.д.
При этом упорно говорят, что архитектура, мол, микроядерная, но правда - и дальше выкручиваются.


 
Юрий Зотов ©   (2008-12-18 16:35) [51]


> oxffff ©   (18.12.08 15:41) [48]
> Городской Шаман   (18.12.08 15:41) [49]


Ядро, по определению - это та часть ОС, которая может работать само по себе, без какой-либо внешней поддержки. Значит, ядро любой ОС может быть выполнено только на нативном коде CPU.

Назовите это ядро как угодно - VM, загрузчик VM, интерпретатор Васика, медиаплеер, Блокнот и т.д. Но выполнено оно все равно может быть только на нативном коде.

И этим все сказано. Ну не падают яблоки вверх , как ни шамань.


 
clickmaker ©   (2008-12-18 16:43) [52]

> В каком году Windows будет полностью переписана на .NET

а нахрена, кстати?


 
Городской Шаман   (2008-12-18 16:49) [53]


> KSergey ©   (18.12.08 16:13) [50]


Minix3 микроядерная архитектура, рвет по производительности и Win и *nix. Но писалась 15 лет.


 
Городской Шаман   (2008-12-18 16:53) [54]


> Юрий Зотов ©   (18.12.08 16:35) [51]


Но вы не будете отрицать что драйвер FDO нельзя написать на промежуточном языке, так как он не лезет к оборудованию, а только интерпретирует. Кроме того реальный драйвер оборудования тоже можно написать на .NET если HAL будет поддерживать функции IOPort.In(...) IOPort.Out(...).


 
Городской Шаман   (2008-12-18 16:53) [55]


> clickmaker ©   (18.12.08 16:43) [52]
>
> > В каком году Windows будет полностью переписана на .NET
>
> а нахрена, кстати?


Чтобы индусы могли писать драйвера?


 
isasa ©   (2008-12-18 16:56) [56]


> нахрена, кстати?


Присоединяюсь к вопросу.
Я бы еще добавил, что неплохо бы расслоить загрузку.
Ядро полностью отдельно, GDI тоже. (Или я что-то пропустил)


 
Юрий Зотов ©   (2008-12-18 17:01) [57]

> Городской Шаман   (18.12.08 16:53) [54]

Хоть драйвер, хоть что угодно еще можно написать в любом ненативном коде. Только без соответствующей поддержки работать этот код не будет - значит, к ядру ОС он по определению никакого отношения не имеет.


 
Городской Шаман   (2008-12-18 17:39) [58]


> Юрий Зотов ©   (18.12.08 17:01) [57]


Ладно, соглашусь. Про ядро погорячился. А что вы скажете про загрузчик, VM и HAL в нативном коде, а вот драйвера все на управляемом? Будет тормозить, но работать.


 
isasa ©   (2008-12-18 17:53) [59]


> Городской Шаман   (18.12.08 17:39) [58]
> а вот драйвера все на управляемом?
>  Будет тормозить, но работать.


А зачем?
Ты хочешь устойчивость системы провысить за счет ее тормознутости.
Смысл управления на уровне человека, обменом по шине(конкретнее отлавливание ошибок).

Я понимаю, что достает аккумулирование кривости рук третьего разработчика.


 
oxffff ©   (2008-12-19 00:02) [60]


> Юрий Зотов ©   (18.12.08 16:35) [51]
>
> > oxffff ©   (18.12.08 15:41) [48]
> > Городской Шаман   (18.12.08 15:41) [49]
>
>
> Ядро, по определению - это та часть ОС, которая может работать
> само по себе, без какой-либо внешней поддержки. Значит,
> ядро любой ОС может быть выполнено только на нативном коде
> CPU.
>
> Назовите это ядро как угодно - VM, загрузчик VM, интерпретатор
> Васика, медиаплеер, Блокнот и т.д. Но выполнено оно все
> равно может быть только на нативном коде.
>
> И этим все сказано. Ну не падают яблоки вверх , как ни шамань.
>


И как это противоречит возможности ядру быть написаным на .NET языке?

Минизагрузкик переходит в защищенный режим, поднимает виртуальную .NET машину и загружает некий образ .NET - образ самого ядра ОС возможно откомпилированный NGEN(по нему уже JIT не нужен).
Естественно в эту часть ядра входит часть unmanaged кода HAL платформы написанная на С++ c ASM вставками.

И тут я Вас перенаправляю к вышеупомянутой мною статье

5.1 Система ввода/вывода
Система ввода/вывода Singularity состоит из трех слоев: HAL, менеджера ввода/вывода и драйверов. HAL – это маленькая доверенная абстракция аппаратного обеспечения РС: абстракции IoPorts, IoDma, IoIrq и IoMemory для доступа к устройствам; интерфейсы к таймерам, контроллер прерываний, часы реального времени и отладочная консоль; заглушка для отладки ядра; регистратор событий, векторы прерываний и исключений; обнаружение ресурсов BIOS и код связывания стека. HAL написан на C#, C++ и ассемблере. Доля ассемблера и C++ в HAL составляет примерно 5% от доверенного кода системы (35 из 561 файла).

Из этого следует, что действительно для ядро ОС написано на .NET и HAL на С++ , а загручик действительно написан не на .NET. Но его задача только загрузить и больше он не нужен.

Вопрос 1.

Признаете ли вы что это возможно, если нет, то почему?

Вопрос 2.

Признаете ли вы что далее могут быть загружены остальные .NET сборки,
и это миниядро уже поднимит .NET дрова и т.д.


 
oxffff ©   (2008-12-19 00:11) [61]


> Юрий Зотов ©   (18.12.08 16:35) [51]
>
> > oxffff ©   (18.12.08 15:41) [48]
> > Городской Шаман   (18.12.08 15:41) [49]
>
>
> Ядро, по определению - это та часть ОС, которая может работать
> само по себе, без какой-либо внешней поддержки. Значит,
> ядро любой ОС может быть выполнено только на нативном коде
> CPU.



Так оно и работает на native коде.


>
> Назовите это ядро как угодно - VM, загрузчик VM, интерпретатор
> Васика, медиаплеер, Блокнот и т.д. Но выполнено оно все
> равно может быть только на нативном коде.
>
> И этим все сказано. Ну не падают яблоки вверх , как ни шамань.
>


Так оно и работает на native коде.


 
Плохиш ©   (2008-12-19 00:17) [62]

Вроде, уже java-vm встраивали в процессоры, и где они теперь. Теперь, подрасло следующее поколение, повисла идея встроить в процессор .net :-)
Прикол этого вопроса только в том, что дальше вопроса у аФФтара дело не пойдёт...


 
oxffff ©   (2008-12-19 00:22) [63]


>  и где они теперь.


Вот сегодняшняя новость от SUN

http://www.theinquirer.net/inquirer/news/097/1050097/amd-works-shanghai-java-for-oriental-opteron

CHIMPZILLA is working with Java systems developers to optimise the performance of Java Virtual Machines on its new Shanghai lines of processors.

AMD"s Shanghai series fabbed on 45nm technology feature larger caches, a new version of Hyper Transport technology and lower power consumption. Shanghai chips also implement AMD"s Instruction Based Sampling (IBS) performance monitoring.

AMD is collaborating with JVM designers at Sun, IBM and Oracle to develop ways to use IBS data to improve JVM performance, according to Ben Pollan, AMD Java Labs manager.


 
Petr V. Abramov ©   (2008-12-19 00:41) [64]


> oxffff ©   (19.12.08 00:02) [60]
> > Юрий Зотов ©   (18.12.08 16:35) [51]

я согласен с > oxffff ©   (19.12.08 00:02) [60], с какого-то момента драйверы стали все написаны не на ассмеблере, были вопли "что теперь будет, что теперь будет", да ничего не стало, как падали машиы из-за кривых драйверов, так и падают.
А цена девайсов снизилась, в т.ч. из-за снижения себестоимости разработки драйверов.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2009.02.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.59 MB
Время: 0.007 c
2-1230969991
N_SSS
2009-01-03 11:06
2009.02.15
Подключение справочников (Lookup) для DbGridEh


2-1230921661
New77
2009-01-02 21:41
2009.02.15
Как ограничить выбор в ComboBox - a, b, с и "Пусто"?


15-1229711962
@!!ex
2008-12-19 21:39
2009.02.15
Туплю... помогите...


2-1230900561
Tatb9na
2009-01-02 15:49
2009.02.15
Ошибка запуска


2-1231102705
bit
2009-01-04 23:58
2009.02.15
db component and ACSII





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский