Re[22]: Пописал на С++... долго думал :)
От: srggal Украина  
Дата: 29.10.05 10:25
Оценка:
Здравствуйте, VladD2, Вы писали:

Обычные нападки Влада2Д поскипаны ....

VD>Тогда рассмотри такое предположение... ХАЛ содержит функции позволяющие читать (и писать) в порты процессора I/O interface), использовать DMA и обрабатывать прерывания. Ддрайверы же используют этот примитивный, но высокоуровневый интерфейс для общения с конкретным железом. В итоге им не нежно применять ассембленых инструкций, но нем не менее они легко могут взаимодействовать с железом.


Ок, расмотрел, "они легко могут" — не совсем согласен, да, я могу замапить память конкретного устройства используя какого-нить, СШарпХаловского ИОремапХХХ, но память мне надо трактовать по своему как какой-нить фркейм, Номер, размер, пэйлоад, и эта трактовка уже не в духе СШарп, а скорей противоречит духу СШарп

Именно это я и имел в виду.

Кроме того, я писал:

Согласен, что в принципе, все равно с натяжкой можно назвать драйвером, но в большинстве определений понятия драйвер присутсвует магическое hardware, т.е. таки совсем с натяжкой можно это назвать драйвером


ИМХО поэтому эта ОС пока экспериментальная...

Again, this is a prototype research OS, not a full fledged OS that can run the typical applications you've come to expect of an OS (or even provide a user interface beyond, say, that of DOS).


Возможно что нить придумают воопще за рамки всего известного выходящее, возможно эта ОС умретЮ, а возможно так и останутся в ней места, которые будут противоречить концепции языка на котором ОС написана.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[14]: Пописал на С++... долго думал :)
От: srggal Украина  
Дата: 29.10.05 10:27
Оценка:
Здравствуйте, vdimas, Вы писали:

V>---------

V>Ну, а раз подобных по мощности инструментов для С++ пока нет (и все опасные конструкции тоже на месте), то — внимание и еще раз внимание при разработке. Такой уж он у нас требовательный...

Согласен еще раз на все 100

V>


Жду с нетерменииме реСплюплюссера , уже не первый год
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[15]: Пописал на С++... долго думал :)
От: _Winnie Россия C++.freerun
Дата: 29.10.05 10:44
Оценка:
Здравствуйте, srggal, Вы писали:

S>Здравствуйте, vdimas, Вы писали:


S>Жду с нетерменииме реСплюплюссера , уже не первый год

S>

Я тоже.
Пример 1:
#define X(x,y) m ## x ## y

struct 
{
  int X(em, ber1);
  int X(em, ber2);
  void f() {  member1 = 10; member2 = 20; }
};


Задача: заменить member1 на xxx, не трогая member2.

А еще этот реСплюплюссер должен уметь инстанцировать шаблоны, делать поиск имен, уметь делать sizeof(sic!), осуществлять поиск перегруженной функции.

//нужно ли в этом выражении поменять member1 на xxx ?
some_template<sizeof(f(x))>::type variable;
variable.member1 = 10;
Правильно работающая программа — просто частный случай Undefined Behavior
Re[16]: Пописал на С++... долго думал :)
От: srggal Украина  
Дата: 29.10.05 11:00
Оценка:
Здравствуйте, _Winnie, Вы писали:

_W>Я тоже.

_W>Пример 1:
_W>
_W>#define X(x,y) m ## x ## y

_W>struct 
_W>{
_W>  int X(em, ber1);
_W>  int X(em, ber2);
_W>  void f() {  member1 = 10; member2 = 20; }
_W>};
_W>


_W>Задача: заменить member1 на xxx, не трогая member2.


_W>А еще этот реСплюплюссер должен уметь инстанцировать шаблоны, делать поиск имен, уметь делать sizeof(sic!), осуществлять поиск перегруженной функции.


_W>
_W>//нужно ли в этом выражении поменять member1 на xxx ?
_W>some_template<sizeof(f(x))>::type variable;
_W>variable.member1 = 10;
_W>


Потому и долго ждем и ждать будет, имхо грамматика не простая
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[16]: Пописал на С++... долго думал :)
От: Cyberax Марс  
Дата: 29.10.05 11:03
Оценка:
_Winnie wrote:

> Пример 1:

>
>#define X(x,y) m ## x ## y
>
>struct
>{
> int X(em, ber1);
> int X(em, ber2);
> void f() { member1 = 10; member2 = 20; }
>};
>
> Задача: заменить member1 на xxx, не трогая member2.

Никак. XRef в таких случаях выводит предупреждение о конфликте в макросах.


> А еще этот реСплюплюссер должен уметь инстанцировать шаблоны, делать

> поиск имен, уметь делать sizeof(sic!), осуществлять поиск
> перегруженной функции.

А это умеет xref — он внутри использует EDG со всеми вытекающими.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[23]: Пописал на С++... долго думал :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.05 12:06
Оценка:
Здравствуйте, srggal, Вы писали:

S>Ок, расмотрел, "они легко могут" — не совсем согласен, да, я могу замапить память конкретного устройства используя какого-нить, СШарпХаловского ИОремапХХХ, но память мне надо трактовать по своему как какой-нить фркейм, Номер, размер, пэйлоад, и эта трактовка уже не в духе СШарп, а скорей противоречит духу СШарп


Почитай обсуждение на ченэл9. Там как раз сказано, что возможности Шарпа по реинтерпретации памяти (по простому ансэйф) потребовались только при написании GC (который тоже на Шарпе написан). Драйверы по их словам чистый сэйф-код. Значит ХАЛ это позволяет. Так что вопрос только в эффективности решений. Собственно ОС пока что исследовательская и авторы честно говорят, что производительность для них не приоритет. Однако не думаю, что они про нее не думают.

S>Кроме того, я писал:

S>

S>Согласен, что в принципе, все равно с натяжкой можно назвать драйвером, но в большинстве определений понятия драйвер присутсвует магическое hardware, т.е. таки совсем с натяжкой можно это назвать драйвером


А на недо соглашаься с фактами "в принципе". Факт есть факт. Все драйверы написаны на Шарпе. Без них работать с устройствами вроде клавиатуры и монитора было бы невозможно. Так же четко сказано, что объем вообще небезопасного кода очень мал. А уж С/С++/асм вообще мизерный.

S>ИМХО поэтому эта ОС пока экспериментальная...

S>

S>Again, this is a prototype research OS, not a full fledged OS that can run the typical applications you've come to expect of an OS (or even provide a user interface beyond, say, that of DOS).


Цитата твоя говорит о том, что сделана тольк поддрежка консоли. Тоже самое было во всех ОС кроме Виндовс. Тот же Линукс получил ГУИ далеко не сразу и очень долгое время вообще являлся эксперементальной ОС (в начале вообще дипломным проектом).

S>Возможно что нить придумают воопще за рамки всего известного выходящее, возможно эта ОС умретЮ, а возможно так и останутся в ней места, которые будут противоречить концепции языка на котором ОС написана.


ХАЛ и микроядерная архитектура известны очень давно. Идеи проверенные и не ясно с какго рожна их уничтожать.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[23]: Пописал на С++... долго думал :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.05 12:06
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Для удобства. Чтобы ее использование было таким же прозрачным, как и использование ремоутинга.


Да КОРБА вроде и так довольно прозрачна если закрыть глаза на идеологию.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Пописал на С++... долго думал :)
От: srggal Украина  
Дата: 29.10.05 12:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, srggal, Вы писали:



VD>Почитай обсуждение на ченэл9. Там как раз сказано, что возможности Шарпа по реинтерпретации памяти (по простому ансэйф) потребовались только при написании GC (который тоже на Шарпе написан). Драйверы по их словам чистый сэйф-код. Значит ХАЛ это позволяет. Так что вопрос только в эффективности решений. Собственно ОС пока что исследовательская и авторы честно говорят, что производительность для них не приоритет. Однако не думаю, что они про нее не думают.


Ок, я не указал, чот ркчь идет о моём стороннем устройстве, например PCI-платы с ПЛИСС, на которой прошита моя математика и с которой мне надо работать, причем со 99% вероятностью, памяьт мне прийдется интерпретировать.


VD>А на недо соглашаься с фактами "в принципе". Факт есть факт. Все драйверы написаны на Шарпе. Без них работать с устройствами вроде клавиатуры и монитора было бы невозможно. Так же четко сказано, что объем вообще небезопасного кода очень мал. А уж С/С++/асм вообще мизерный.


Я не увидел Факта, гдк написано, что ВСЕ ДРАЙВЕРЫ написаны на СШарп. Если не затруднит, дайте ссылку из котрой Вы почерпнули этот факт.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[25]: Пописал на С++... долго думал :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.05 14:55
Оценка: -1
Здравствуйте, srggal, Вы писали:

S>Я не увидел Факта, гдк написано, что ВСЕ ДРАЙВЕРЫ написаны на СШарп. Если не затруднит, дайте ссылку из котрой Вы почерпнули этот факт.


The MSIL to x86 compiler we use is Bartok, developed by Microsoft Research's Advanced Compiler Technology Group (http://research.microsoft.com/act/). David Tarditi and his team have created this fantastic whole-program optimizing compiler that reads in a collection of MSIL Assemblies and outputs an x86 binary. At the end of the day, its just code.

Beer28, remember that libc is just x86 code. So, we replace whatever one might need from libc, with C# code. Instead of calling a C version of libc, Singularity uses safe code written in C# to directly access the screen hardware (for example).

This probably makes more sense when you realizes the most OSes don't use BIOS except during the very earliest stage of boot. Singularity does the same as well, it only use BIOS during the 16-bit real-mode boot strap. Once jump to 32-bit mode, we never use BIOS again, but use device drivers written in C# instead. Yes, we had to replace a lot of CLR libraries with different code. However, unlike the CLR, the Singularity runtime is written in C#.

... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Пописал на С++... долго думал :)
От: srggal Украина  
Дата: 29.10.05 15:01
Оценка:
Здравствуйте, VladD2, Вы писали:

S>>Я не увидел Факта, гдк написано, что ВСЕ ДРАЙВЕРЫ написаны на СШарп. Если не затруднит, дайте ссылку из котрой Вы почерпнули этот факт.


VD>

The MSIL to x86 compiler we use is Bartok, developed by Microsoft Research's Advanced Compiler Technology Group (http://research.microsoft.com/act/). David Tarditi and his team have created this fantastic whole-program optimizing compiler that reads in a collection of MSIL Assemblies and outputs an x86 binary. At the end of the day, its just code.

VD>Beer28, remember that libc is just x86 code. So, we replace whatever one might need from libc, with C# code. Instead of calling a C version of libc, Singularity uses safe code written in C# to directly access the screen hardware (for example).

VD>This probably makes more sense when you realizes the most OSes don't use BIOS except during the very earliest stage of boot. Singularity does the same as well, it only use BIOS during the 16-bit real-mode boot strap. Once jump to 32-bit mode, we never use BIOS again, but use device drivers written in C# instead. Yes, we had to replace a lot of CLR libraries with different code. However, unlike the CLR, the Singularity runtime is written in C#.


Не увидел, Где написано, что ВСЕ драйверы на СШарп, только то, что драйверы написаны на СЩарп, а все или только часть — нет информации , кроме того написано, что рантайм переписан на СШарп.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[27]: Пописал на С++... долго думал :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.05 15:42
Оценка:
Здравствуйте, srggal, Вы писали:

S>Не увидел, Где написано, что ВСЕ драйверы на СШарп, только то, что драйверы написаны на СЩарп, а все или только часть — нет информации , кроме того написано, что рантайм переписан на СШарп.


А какая тебе разница? Ты же отриыал сам факт подобного. Ну, и строчку "uses safe code written in C# to directly access the screen hardware" я тебе выделил не просто так. Как ты понимашь, прямой доступ к видеоадаптеру — это прямая работа с железом.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Пописал на С++... долго думал :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.05 15:42
Оценка:
Здравствуйте, _Winnie, Вы писали:

_W>Ты обещал переписать примеры с предыдуще страницы без реинтерпретации памяти..


Чё-то я кода там в упор не вижу. Может ссылку дать?
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Пописал на С++... долго думал :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.05 15:42
Оценка:
Здравствуйте, _Winnie, Вы писали:

А СлайкЭдитор кто-нить смотрел? Они там хватсаются что что-то из рефакторинга сделали. И ПК тоже им хвалился.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: Пописал на С++... долго думал :)
От: srggal Украина  
Дата: 29.10.05 15:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, srggal, Вы писали:


S>>Не увидел, Где написано, что ВСЕ драйверы на СШарп, только то, что драйверы написаны на СЩарп, а все или только часть — нет информации , кроме того написано, что рантайм переписан на СШарп.


VD>А какая тебе разница? Ты же отриыал сам факт подобного. Ну, и строчку "uses safe code written in C# to directly access the screen hardware" я тебе выделил не просто так. Как ты понимашь, прямой доступ к видеоадаптеру — это прямая работа с железом.


Блин сколько можно топтаться как розовый слоник, на месте.
Я уже дано запостил, что был не прав, но остался при своем мнении.

Нет косрруктива ни с Вашей ни с моей стороны, предлагаю не плодить безконструктивные сообщения.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re: Пописал на С++... долго думал :)
От: kliff Россия http://www.esignal.ru
Дата: 29.10.05 16:30
Оценка: :))
А над чем ты долго думал?
Re[15]: Пописал на С++... долго думал :)
От: vdimas Россия  
Дата: 29.10.05 16:38
Оценка:
Здравствуйте, _Winnie, Вы писали:

_W>Ты обещал переписать примеры с предыдуще страницы без реинтерпретации памяти..


С удовольствием, давай примеры.
Re[16]: Пописал на С++... долго думал :)
От: vdimas Россия  
Дата: 29.10.05 16:41
Оценка:
Здравствуйте, _Winnie, Вы писали:

Ты абсолютно прав, инструмент для рефакторинга должен содержать полноценный компилятор (по крайней мере пол-компилятора, без той половины, что оптимизирует и генерит бинарны образ).

Разумеется, необходимо иметь полную модель кода перед модификацией.
Re[11]: Пописал на С++... долго думал :)
От: vdimas Россия  
Дата: 29.10.05 16:51
Оценка:
Здравствуйте, _Winnie, Вы писали:

_W>Распечатай float. Не забудь про Q-NAN, S-NAN, +iINF, +0, -0, денормализованные числа.


1. Представление float разное на разных машинах, т.е. толка от такого кода мало

2. Эти различия надо нивелировать типизированными низкоуровневыми библиотечными ф-иями и переменными, типа:

long mantis(float); // некая нормализованная мантисса, умноженная на десятичный коэф, достаточной ширины
extern const float Q_NAN; //и т.д.
Re[25]: Пописал на С++... долго думал :)
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.05 17:00
Оценка:
Здравствуйте, srggal, Вы писали:

S>Ок, я не указал, чот ркчь идет о моём стороннем устройстве, например PCI-платы с ПЛИСС, на которой прошита моя математика и с которой мне надо работать, причем со 99% вероятностью, памяьт мне прийдется интерпретировать.


Для общения с PCI-устройствами достаточно иметь API дляработы с IRQ, DMA и портами. А то что ты называшь интерпретацией памяти можно сдалеть, например, с помощью BinaryReader. При этом код будет 100%-но типобзопасным.

S>Я не увидел Факта, гдк написано, что ВСЕ ДРАЙВЕРЫ написаны на СШарп. Если не затруднит, дайте ссылку из котрой Вы почерпнули этот факт.


Там слишком много текста чтобы перечитывать. Но я встречал это утверждение раза два.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Пописал на С++... долго думал :)
От: srggal Украина  
Дата: 29.10.05 17:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, srggal, Вы писали:


S>>Ок, я не указал, чот ркчь идет о моём стороннем устройстве, например PCI-платы с ПЛИСС, на которой прошита моя математика и с которой мне надо работать, причем со 99% вероятностью, памяьт мне прийдется интерпретировать.


VD>Для общения с PCI-устройствами достаточно иметь API дляработы с IRQ, DMA и портами. А то что ты называшь интерпретацией памяти можно сдалеть, например, с помощью BinaryReader. При этом код будет 100%-но типобзопасным.


Это я уже почти выяснил.

Единственное я не понял о каком СШарп идет речь 2.0?
Вроде в более раннем реинтерпретацией памяти была usafe ?
Или я что-то путаю ?

ЗЫ Зер гуд — конструктив.
... << RSDN@Home 1.1.4 stable rev. 510>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.