Singularity — первожу на русски
От: mihailik Украина  
Дата: 11.01.06 23:41
Оценка: 57 (15)
Что такое Singularity, принципы работы и всё такое прочее. Думаю, будет интересно многим дотнетчиками

Я сделал свободное переложение идей из TR-2005-135.pdf.
http://blogs.gotdotnet.ru/personal/mihailik/PermaLink.aspx?guid=9ae1f790-36c2-4af2-a5e6-a5d22c6211c9

Если есть интерес, можно оформить это в виде статьи в RSDN. По большому счёту, текст уже готов

13.01.06 08:19: Перенесено модератором из '.NET' — TK
Re: Singularity — первожу на русски
От: Воронков Василий Россия  
Дата: 12.01.06 00:29
Оценка:
Здравствуйте, mihailik, Вы писали:

M>Если есть интерес, можно оформить это в виде статьи в RSDN. По большому счёту, текст уже готов


Честно говоря не очень понятно как связаны необходимость полной компиляции и отсуствие рефлекшина. Собственно, он-то как с джитом связан?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Singularity — первожу на русски
От: RegisteredUser  
Дата: 12.01.06 03:18
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Честно говоря не очень понятно как связаны необходимость полной компиляции и отсуствие рефлекшина. Собственно, он-то как с джитом связан?

Отсюда:

Another run-time source of new code is dynamic code generation, commonly encapsulated
in a reflection interface. This feature allows a running program to examine existing code and data,
and to produce and install new methods. Reflection is commonly used to produce marshalling
code for objects or parsers for XML schemas. Singularity’s closed SIPs do not allow run-time
code generation.
Instead, Singularity provides compile-time reflection (CTR), which provides similar
functionality that executes when a file is compiled. Normal reflection, which has access to runtime
values, is more general than CTR. However, in many cases, the class to be marshaled or the
schemas to be parsed are known ahead of execution. In these cases, CTR produces code during
compilation. In the other cases, Singularity will support a mechanism for generating code and
running it in a separate SIP.

Re[2]: Singularity — первожу на русски
От: Igor Trofimov  
Дата: 12.01.06 09:41
Оценка: +1
ВВ>Честно говоря не очень понятно как связаны необходимость полной компиляции и отсуствие рефлекшина. Собственно, он-то как с джитом связан?

Нет статической ссылки на метод — метод не будет включен. Метод не включен — ты не можешь вызвать его через Reflection.

Непонятно, как в отсутствии reflection или других подобных механизмов (позднего связывания) строить динамичные системы.

Вообще, изложенные идеи настолько кардинальны, что следование им может потребовать в корне менять всю идеологию не только разработки ПО, но и идеологию самого ПО. Что не факт, что хорошо.
Re: Singularity — первожу на русски
От: Аноним  
Дата: 12.01.06 09:47
Оценка:
Если я не ошибаюсь, идея системы, свойства которой в значительной мере являются следствием свойств единого языка, на котором пишется весь код, идет еще от бабаяновского Эльбруса. Или еще раньше были преНценденты?
Re[2]: Singularity — первожу на русски
От: mihailik Украина  
Дата: 12.01.06 10:37
Оценка:
А>Или еще раньше были преНценденты?

нет там буквы Н
Re[3]: Singularity — первожу на русски
От: ekamaloff Великобритания  
Дата: 12.01.06 10:41
Оценка: +1
Здравствуйте, mihailik, Вы писали:

А>>Или еще раньше были преНценденты?


M>нет там буквы Н


Там двух букв Н нет, раз уж на то пошло
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[4]: Singularity — первожу на русски
От: mihailik Украина  
Дата: 12.01.06 13:09
Оценка: 6 (1) +1 :)
А>>> преНценденты

M>>нет там буквы Н


E>Там двух букв Н нет, раз уж на то пошло


Например, здесь:
http://klyaksa.country.ru/lessons/vocabulary.shtml

Или вот, самый показательный аргумент. Задаём поиск по lib.ru слова "прецедент":
http://www.google.com.ua/search?hl=uk&amp;q=%D0%BF%D1%80%D0%B5%D1%86%D0%B5%D0%B4%D0%B5%D0%BD%D1%82+site%3Alib.ru&amp;meta=

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

Теперь такой же поиск для слова "прецендент":
http://www.google.com.ua/search?hl=uk&amp;q=%D0%BF%D1%80%D0%B5%D1%86%D0%B5%D0%BD%D0%B4%D0%B5%D0%BD%D1%82+site%3Alib.ru&amp;meta=

Получаем 20 ссылок, причём все кроме двух — на форумы. А две оставшиеся тоже замечательны.

Борис Акунин. Любовник смерти
http://www.google.com.ua/url?sa=U&amp;start=13&amp;q=http://lib.ru/RUSS_DETEKTIW/BAKUNIN/ak12.txt&amp;e=10401

Мол, заглянул по одному делу в Ерошенковский подвал, там и приключился такой
кошмарный прецендент. — Инцидент, — механически поправил Эраст Петрович. Лоб у ...


По крайней мере Чхартишвили не слишком опозорился, ведь его герой поправляет прецеНдент на что-то другое.

Ну а вторая на Макса Фрая:
http://www.google.com.ua/url?sa=U&amp;start=15&amp;q=http://lib.ru/RUFANT/FRY/frei_vol.txt&amp;e=10401

К сожалению, тут всё-таки неприятная безграмотность
Впрочем, в другом источнике этот же текст содержит всё-таки "прецедент":
http://www.insoft.ru/nick/library/frei/lab9.htm
Но на официальном сайте лежит файл Word, который рушит все надежды. Похоже, некоторые издатели внимательно вычитывали и исправляли ошибки автора.
Re[3]: Singularity — первожу на русски
От: Воронков Василий Россия  
Дата: 12.01.06 14:32
Оценка: +1
Здравствуйте, Igor Trofimov, Вы писали:

ВВ>>Честно говоря не очень понятно как связаны необходимость полной компиляции и отсуствие рефлекшина. Собственно, он-то как с джитом связан?


iT>Нет статической ссылки на метод — метод не будет включен. Метод не включен — ты не можешь вызвать его через Reflection.


Гм, неубедительно. В то что описывается я не вижу особой разницы с NGEN-ом, разве оптимизации крутые производятся.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Singularity — первожу на русски
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.01.06 15:50
Оценка:
Здравствуйте, mihailik, Вы писали:

M>Что такое Singularity, принципы работы и всё такое прочее. Думаю, будет интересно многим дотнетчиками


M>Я сделал свободное переложение идей из TR-2005-135.pdf.

M>http://blogs.gotdotnet.ru/personal/mihailik/PermaLink.aspx?guid=9ae1f790-36c2-4af2-a5e6-a5d22c6211c9

M>Если есть интерес, можно оформить это в виде статьи в RSDN. По большому счёту, текст уже готов


Мы уже полностью перевели этот материал на русский для журнала "Технология Клиент-Сервер". Со временем этот материал появится и на РСДН-е.

Пока, что могу дать почитать приватно если обещашь прислать список найденных недочетов.
... << RSDN@Home 1.2.0 alpha rev. 628>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Singularity — первожу на русски
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.01.06 16:03
Оценка: 8 (2) +1
Здравствуйте, mihailik, Вы писали:

Сначала несколько фактов.

Singularity — это будущее Windows, когда уже не будет самого Windows
В Singularity нет ни одной строки кода, взятой из Windows
Весь код в Singularity выполняется в рамках одного "физического" процесса, к тому же в режиме ядра
Singularity не является микроядерной ОС
Singularity невозможно попробовать в России и Украине


Это скорее не факты, а заблуждения. Пойдем по порядку:

Singularity — это будущее Windows, когда уже не будет самого Windows
В Singularity нет ни одной строки кода, взятой из Windows

Singularity не является будущим чего бы то нибыло. Singularity — это исследовательский проект. Идеи из него могут быть испльзованы где угодно. Так в процессе работы над Singularity был придуман "драйвер верифаер".
О том, что на базе Singularity будет разрабватываться какие-то коммерческие варианты ОС пока вроде как не сообщеается.

Весь код в Singularity выполняется в рамках одного "физического" процесса, к тому же в режиме ядра


Совсем не правда. Код в Singularity выполняется в рамках SIP (Software Isolated Process, программно изолированные процессы). В Singularity нет аппоратной защиты адресных простанств процессов. Вместо этого используются свойства языковой безопасности обеспечивающие программную изоляцию процессов. Вместо понятия "аппартно защищенное ардесное пространство" появляется "программно защещенное объектное пространство".

Singularity не является микроядерной ОС


Тоже не правда. Singularity — это именно что микроядерная ОС. Все драйверы Singularity выполняются в рамках отдельных SIP и пишутся в режиме полной типобезопасности. Так что ни один драйвер не может повредить ядро или другие процессы и может быть выгружен/перезагружен в случае сбоя.

Singularity невозможно попробовать в России и Украине


Пожалй что это скорее всего пока что правда. Но ведь никто не мешает обратиться к создателям проекта и попросить ОС под определенные гарантии. Вот только запустить ее будет не просто. Дров то ведь почти нет.
... << RSDN@Home 1.2.0 alpha rev. 628>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Singularity — первожу на русски
От: mihailik Украина  
Дата: 12.01.06 16:05
Оценка:
VD>Пока, что могу дать почитать приватно если обещашь прислать список найденных недочетов.

Да, это хорошо.

Но проверять точность перевода я, конечно, не возьмусь
Re[2]: Singularity — первожу на русски
От: mihailik Украина  
Дата: 12.01.06 16:35
Оценка:
VD>О том, что на базе Singularity будет разрабватываться какие-то коммерческие варианты ОС пока вроде как не сообщеается.

Если об этом не сообщается, это еще не значит, что это не так.


VD>

Весь код в Singularity выполняется в рамках одного "физического" процесса, к тому же в режиме ядра

VD>Совсем не правда. Код в Singularity выполняется в рамках SIP

Ну да, внутри Singularity есть своё понятие процесса. Но если говорить об общепринятых процессах, таких, как в Windows — то в Singularity код действительно в одном общем "процессе".


VD>

Singularity не является микроядерной ОС


VD>Тоже не правда. Singularity — это именно что микроядерная ОС. Все драйверы Singularity выполняются в рамках отдельных SIP и пишутся в режиме полной типобезопасности. Так что ни один драйвер не может повредить ядро или другие процессы и может быть выгружен/перезагружен в случае сбоя.


Под микроядерными ОС обычно подразумевают нечто более материальное. Не просто возможность выгрузки драйверов. Если хочешь, я скажу так: Singularity не является микроядерной ОС в классическом понимании.


VD>

Singularity невозможно попробовать в России и Украине


VD>Пожалй что это скорее всего пока что правда. Но ведь никто не мешает обратиться к создателям проекта и попросить ОС под определенные гарантии. Вот только запустить ее будет не просто. Дров то ведь почти нет.


Думаю, этот вопрос как раз решается проще всего. Как ты думаешь, почему в Singularity видеодрайвер S3 Trio?
Похоже, они используют Virtual PC.
Re[2]: Singularity — первожу на русски
От: mihailik Украина  
Дата: 12.01.06 16:37
Оценка:
VD> Но ведь никто не мешает обратиться к создателям проекта и попросить ОС под определенные гарантии.

"Не верю!" Попробуй попроси код Windows.

Я думаю, в данном случае гарантии начинают становится "определёнными" с восьми нулей. Баксов.
Re[3]: Singularity — первожу на русски
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.01.06 17:08
Оценка:
Здравствуйте, mihailik, Вы писали:

M>Да, это хорошо.


M>Но проверять точность перевода я, конечно, не возьмусь


Ну, если заметишь какие-то ошибки, то сообщи. В тексте перемежается русский и английский. Так что сравнивать очень просто.

ЗЫ

Пришли мне письмо на vc at rsdn.ru и я тебе реплаем вышлю статью.
... << RSDN@Home 1.2.0 alpha rev. 628>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Singularity — первожу на русски
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.01.06 17:08
Оценка:
Здравствуйте, mihailik, Вы писали:

VD>>О том, что на базе Singularity будет разрабватываться какие-то коммерческие варианты ОС пока вроде как не сообщеается.


M>Если об этом не сообщается, это еще не значит, что это не так.


Я бы не стал делать каких либо заявлений до тех пор пока их не сделают офицальные представители МС. Тмемболее, что вероятность того о чем ты говоришь и так стремится к нулю.

VD>>

Весь код в Singularity выполняется в рамках одного "физического" процесса, к тому же в режиме ядра

VD>>Совсем не правда. Код в Singularity выполняется в рамках SIP

M>Ну да, внутри Singularity есть своё понятие процесса.


Оно не свое. Оно очень даже стандартное. Ничем не отличающееся от процессов Виндовс или Линкус. Там только принципы защиты другие.

M> Но если говорить об общепринятых процессах, таких, как в Windows — то в Singularity код действительно в одном общем "процессе".


Нет. Ты ошибашся. Еще раз повторю. Не в едином процессе, а в едином адресном пространстве.

Вот определение из Википедии Process.


VD>>

Singularity не является микроядерной ОС


VD>>Тоже не правда. Singularity — это именно что микроядерная ОС. Все драйверы Singularity выполняются в рамках отдельных SIP и пишутся в режиме полной типобезопасности. Так что ни один драйвер не может повредить ядро или другие процессы и может быть выгружен/перезагружен в случае сбоя.


M>Под микроядерными ОС обычно подразумевают нечто более материальное. Не просто возможность выгрузки драйверов. Если хочешь, я скажу так: Singularity не является микроядерной ОС в классическом понимании.


Опять же изучи, что такое Microkernel
А вот выдержка и упомянутой тобой статьи:

3 Архитектура Singularity

На рисунке 1 приведена архитектура ОС Singularity, построенная вокруг трех ключевых абстракций: ядра, SIP и каналов. Ядро содержит основную функциональность системы, включая управление памятью, создание и завершение процессов, работу каналов, планирование (scheduling) и ввод/вывод. Как и в случае других микроядер, большая часть функциональности системы находится в процессах вне ядра.
...
7.1 Архитектура ОС

Singularity – это ОС на основе микроядра, во многом отличающаяся от предшествующих микроядерных систем, таких, как Mach, L4, SPIN, Vino и Exokernel [2, 8, 17, 25, 46]. В микроядерных ОС монолитное ядро разделено на компоненты, исполняемые в отдельных процессах. Предыдущие системы, за исключением расширений ядра в SPIN, были написаны на не безопасных языках программирования и использовали в качестве механизма изоляции аппаратное управление памятью и кольца защиты процессора. Singularity использует для изоляции процессов и предотвращения доступа к аппаратным ресурсам языковую безопасность и коммуникации посредством передачи сообщений.


M>Думаю, этот вопрос как раз решается проще всего. Как ты думаешь, почему в Singularity видеодрайвер S3 Trio?

M>Похоже, они используют Virtual PC.

Они точно использовали Virtual PC. Но наверно смотреть новую ОС из под нее не так интересно. Хотя конечно вариант.
... << RSDN@Home 1.2.0 alpha rev. 628>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Singularity — первожу на русски
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.01.06 17:08
Оценка:
Здравствуйте, mihailik, Вы писали:

VD>> Но ведь никто не мешает обратиться к создателям проекта и попросить ОС под определенные гарантии.


M>"Не верю!" Попробуй попроси код Windows.


Ну, код Windows так доступен в России. Наше правительство подписало что-то там с МС по кторому код Виндовс предоставляется нашим гос-учереждениям.

M>Я думаю, в данном случае гарантии начинают становится "определёнными" с восьми нулей. Баксов.


Ты что-то путашь. Сингулярити — это исследовательская ОС создаваемая в институте. Без признания научной общественности эта работа и яйца выеденного не стоит для ее создателей. Так что если их что и ограничивает, то только неготовность системы к публичному показу.
... << RSDN@Home 1.2.0 alpha rev. 628>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Singularity — первожу на русски
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.01.06 17:08
Оценка: 6 (1)
Здравствуйте, Воронков Василий, Вы писали:

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


M>>Если есть интерес, можно оформить это в виде статьи в RSDN. По большому счёту, текст уже готов


ВВ>Честно говоря не очень понятно как связаны необходимость полной компиляции и отсуствие рефлекшина. Собственно, он-то как с джитом связан?


Создатели Сингулярити довольно странно понимают термин "рефлексия". Они почему-то связывают его с возможностью генерации кода в рантайме. Их термин CTR (Compile Time Reflection) ни что иное, как некий механизм генерации кода во время компиляции (на основе текстовых шаблонов).

Возможно, что Сингулярити сейчас не поддерживает и более простых механизвом рефлексии, как то динамический вызов методов или считывание метаинформции, но это всего лишь недореализованность (асли вообще это есть). Никаких идеологических проблем с этим нет.
... << RSDN@Home 1.2.0 alpha rev. 628>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Singularity — первожу на русски
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.01.06 17:08
Оценка: +1
Здравствуйте, Igor Trofimov, Вы писали:

ВВ>>Честно говоря не очень понятно как связаны необходимость полной компиляции и отсуствие рефлекшина. Собственно, он-то как с джитом связан?


iT>Нет статической ссылки на метод — метод не будет включен. Метод не включен — ты не можешь вызвать его через Reflection.


Это ты об опимизации компилятора? Дык он может не удалять публичные методы.

iT>Непонятно, как в отсутствии reflection или других подобных механизмов (позднего связывания) строить динамичные системы.


Очень просто. Процессы Сингулярити очень дешевы. Предпологается, что динамическое расширение систем будет происходить путем подгрзуки процессов.

Ну, и так же поддерживается расширение времени компиляции, когда в код приложения впрыскивается нужные расширения. Они это назвали CTR — рефлексия времени компиляции.

iT>Вообще, изложенные идеи настолько кардинальны, что следование им может потребовать в корне менять всю идеологию не только разработки ПО, но и идеологию самого ПО. Что не факт, что хорошо.


Да не так чтобы координальны. Но лично мне они очень понравились. Если развитие управляемых сред пойдет по этому пути, то лично я буду очень рад. Подобный подход решает массу пролем.
... << RSDN@Home 1.2.0 alpha rev. 628>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Singularity — первожу на русски
От: Аноним  
Дата: 12.01.06 17:18
Оценка: :)
Вообще, изложенные идеи настолько кардинальны, что следование им может потребовать в корне менять всю идеологию не только разработки ПО, но и идеологию самого ПО. Что не факт, что хорошо.


Так думал изобретатель палки-копалки: Если мы начнем лошадь использовать для вспашки полей и сажать сами а не выковыривать из грязи что нам природа приготовила! Что же это получится! Моя семья лишится доходов от продажи патента на палку-копалку! Соплеменники не будут больше уважительно уступать место у костра. Того и глядишь начнут есть больше (ведь самому вырастить можно много больше чем влесу выкопать). Безобразие!

Надо изобретателя плуга забить камнями. Решено. Соберу камней и в путь!

Лучшее — враг хорошего (C) Вольтер


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.