The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Microsoft выпустила в исходных текстах релиз Singularity RDK 2.0, opennews (??), 18-Ноя-08, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


18. "Microsoft выпустила в исходных текстах релиз Singularity RDK 2.0"  +/
Сообщение от Аноним (8), 18-Ноя-08, 12:15 
> весь код операционной системы компилируется в машинные коды

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

Ответить | Правка | Наверх | Cообщить модератору

34. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от sndevemail (?), 18-Ноя-08, 15:12 
>> весь код операционной системы компилируется в машинные коды
>
>Не понял. То, вроде, писали, что вся эта шняга компилируется в байт-код
>и поэтому-то она якобы такая жутко безопасная и портабельная. Теперь пишут,
>что - в машинный код. Чем же она тогда лучше той
>же венды? Тем, что написана на каком-то китайском диалекте?

+1 хотел сказать примерно тоже, но не нашел правильных слов.

Ответить | Правка | Наверх | Cообщить модератору

37. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от лук репчатый (?), 18-Ноя-08, 15:43 
лучше тем, что машинный код получается компиляцией из такого языка, где в принципе невозможны многие проблемы, связанные с произвольными манипуляциями указателями, т.е. выходы за пределы массивов, запись в уже освобожденную память, разыменование неинициализированного указателя, утечки памяти и т.д. Естественно, такие возможности сказываются на производительности.
Ответить | Правка | Наверх | Cообщить модератору

38. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от ximaera (?), 18-Ноя-08, 16:05 
Все эти проблемы невозможны в C#, покуда байт-код выполняется в .NET-песочнице. Машинный код с, например, дотнетовским сборщиком мусора -- это уже не совсем обычный машинный код.
Ответить | Правка | Наверх | Cообщить модератору

59. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от dev (??), 18-Ноя-08, 20:37 
Если я не ошибаюсь, то в С# байт-код перед выполнением компилится в машинный код, который затем кэшируется на будущее и выполняется. Процессор ведь умеет работать только с машинным кодом. А значит на чем бы вы не писали свои творения (хоть на asm, хоть на С, хоть на Java или Бейсике) в конечном счете все это тем или иным образом преобразуется в машинный код и исполняется.
Здесь, насколько я понял из новости, после написания эта ОС сразу компилится в машинный код, минуя стадию байт-кода (ну или не минуя). Для самой ОС это не критично, ИМХО.
Ответить | Правка | Наверх | Cообщить модератору

61. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от Аноним (8), 18-Ноя-08, 22:16 
Какая-то ява-генту получается :)
Ответить | Правка | Наверх | Cообщить модератору

65. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от Хелагар (ok), 19-Ноя-08, 01:11 
>Если я не ошибаюсь, то в С# байт-код перед выполнением компилится в
>машинный код, который затем кэшируется на будущее и выполняется. Процессор ведь
>умеет работать только с машинным кодом. А значит на чем бы
>вы не писали свои творения (хоть на asm, хоть на С,
>хоть на Java или Бейсике) в конечном счете все это тем
>или иным образом преобразуется в машинный код и исполняется.
>Здесь, насколько я понял из новости, после написания эта ОС сразу компилится
>в машинный код, минуя стадию байт-кода (ну или не минуя). Для
>самой ОС это не критично, ИМХО.

Это ускоряет работу.
И притом значительно.
За счёт устранения издержек на функционирование виртуальной машины в т.ч. компиляцию кода JIT-компилятором.
С одной стороны.
А с другой - как только у нас вместо байт-кода оказался "честный" машинный код - скажем велкам переполнениям стека и прочим уязвимостям, порождённым ошибками програмирования.
А если писать ОС, которая будет выполняться в виртуальной машине.... То такая ОС, без сомнения, тормознёт любой PC :-)

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

71. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от . (?), 19-Ноя-08, 09:19 
>как только у нас вместо байт-кода оказался "честный"
>машинный код - скажем велкам переполнениям стека
>и прочим уязвимостям, порождённым ошибками програмирования.

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

Ответить | Правка | Наверх | Cообщить модератору

42. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от F (?), 18-Ноя-08, 16:11 
Потеря производительности компенсируется за счет того, что не нужно переключаться между kernel/user.
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

50. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от Guest (??), 18-Ноя-08, 18:17 
> Потеря производительности компенсируется за счет того, что не нужно переключаться между kernel/user.

Это неимоверный бред, потому что вычисления (на которых теряется производительность) и ввод-вывод (для которогу нужны переключения контекста) - совсем разные вещь. Кроме того, нормальные люди пишут так, чтобы лишних переключений контекста было.

Ответить | Правка | Наверх | Cообщить модератору

58. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от Гость (?), 18-Ноя-08, 20:28 
упс... и куда же денется на вычислениях производительность?
Ответить | Правка | Наверх | Cообщить модератору

63. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от лук репчатый (?), 18-Ноя-08, 22:32 
>упс... и куда же денется на вычислениях производительность?

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

Ответить | Правка | Наверх | Cообщить модератору

69. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от Гость (?), 19-Ноя-08, 07:24 
Прошу прощения, но разве перечисленные Вами действия не производятся в любой нормально написанной программе? (ну разве что сборка мусора, но и ей можно управлять)
Или же ради производительности в компиляторе надо поотключать всякие проверки?
Ответить | Правка | Наверх | Cообщить модератору

72. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от лук репчатый (?), 19-Ноя-08, 09:41 
даже в "нормально написанной" с виду программе далеко не всегда и не везде есть эти проверки. Отчасти из-за забывчивости, отчасти из-за того, что производительность падает, отчасти из-за невозможности ошибки в силу самой логики программы. На последнее часто уповают программисты и эти проверки пропускают там, где они должны быть. Вот и имеем то, что имеем. В языках типа C#, Java, Sing# и прочих обращение к массиву в принципе не может быть выполнено вне его границ, потому что код обращения к элементу массива генерируется компилятором так, что всегда включает в себя проверку на вхождение в границы. Указатель в принципе не может указывать на освобожденный участок памяти, потому что объект освобождается только по обнулению последнего указателя на него. Если же указатель содержит null, то после обращения по такому указателю немедленно вылетает исключение, ибо проверка на null осуществляется всегда при его разыменовании, и программист на это повлиять не может.
Ответить | Правка | Наверх | Cообщить модератору

36. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от F (?), 18-Ноя-08, 15:32 
>> весь код операционной системы компилируется в машинные коды
>
>Не понял. То, вроде, писали, что вся эта шняга компилируется в байт-код
>и поэтому-то она якобы такая жутко безопасная и портабельная. Теперь пишут,
>что - в машинный код. Чем же она тогда лучше той
>же венды? Тем, что написана на каком-то китайском диалекте?

Тем, что используется "language-protected" подход (см. http://en.wikipedia.org/wiki/Language-based_system).
Такой подхот можно воплотить, используя байт-коды и JIT, но не обязательно.

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

67. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от Хелагар (ok), 19-Ноя-08, 01:34 
>>> весь код операционной системы компилируется в машинные коды
>>
>>Не понял. То, вроде, писали, что вся эта шняга компилируется в байт-код
>>и поэтому-то она якобы такая жутко безопасная и портабельная. Теперь пишут,
>>что - в машинный код. Чем же она тогда лучше той
>>же венды? Тем, что написана на каком-то китайском диалекте?
>
>Тем, что используется "language-protected" подход (см. http://en.wikipedia.org/wiki/Language-based_system).
>Такой подхот можно воплотить, используя байт-коды и JIT, но не обязательно.

Проще говоря - ничем не лучше. В сухом остатке, так сказать.
И есть немалая вероятность, что вместе с водой выплеснут ребёнка.
Просто если при аппаратном переключении контекста код "запирается" в отведённом ему месте усилиями процессора (а механизм этот существует ещё с 80286 и весьма неплохо отлажен к текущему моменту) то нам теперь предлагают взвалить всё это дело на плечи компилятора, аргументируя это тем, что программную ошибку-де легче поправить, чем аппаратную....
Так-то оно так, то:
1) Программную ошибку ещё надо найти. А некоторые уязвимости висели в стека TCP ВинНТ ужо лет 10. За это время успело смениться не одно семейство процов. А потом надо ещё её исправить так, чтобы это не поставило, извиняюсь, раком пользовательские приложения.
2) Аппаратная ошибка всё равно останется, будь твой язык хоть трижды доверенным. И будет влиять, падла такая.
3) Что-то я не помню о аппаратных ошибках, связанных с переключением контента, с ранних 20286.... ;-) А вот баги в виртуальных машинах находят (и правят) регулярно.....

По-хорошему, господам из M$ над бы не метаться за стадом зайцев, а довести до ума хотя бы что-то одно.
А то какой продукт не возьми - везде имеем особенности национального индусского программирования.
То официально выложенный русский пакет совместимости для 2003 офиса криво сохраняет файлы в формате 2007-го (английский конвентер такого бага, слава богам, лишен), то актив-синх выдает 1/3 лога в UTF-8, а оставшиеся 2/3 в WIN 1251, то в логах у нас сообщения "Ошибка: Код 0. Сервис запущен успешно", то в Шаре-Поинте приходится танцевать с бубуном, чтобы он не сбрасывал текущие позиции в списках (писать вещи вроде a.selected=a.selected, LOL), то Ексель по сети большие файлы (~17Мб) сначала сохранить не может, потому как операция сохранения не может по его мнению длиться более 5 сек, а после патча на сей баг - начинает эти самые файлы уродовать иногда, то кластеры бродкаст-шторм устраивают.  

Ответить | Правка | Наверх | Cообщить модератору

68. "Microsoft выпустила в исходных текстах релиз Singularity RDK"  +/
Сообщение от PereresusNeVlezaetBuggyemail (ok), 19-Ноя-08, 02:04 
>[оверквотинг удален]
>Просто если при аппаратном переключении контекста код "запирается" в отведённом ему месте
>усилиями процессора (а механизм этот существует ещё с 80286 и весьма
>неплохо отлажен к текущему моменту) то нам теперь предлагают взвалить всё
>это дело на плечи компилятора, аргументируя это тем, что программную ошибку-де
>легче поправить, чем аппаратную....
>Так-то оно так, то:
>1) Программную ошибку ещё надо найти. А некоторые уязвимости висели в стека
>TCP ВинНТ ужо лет 10. За это время успело смениться не
>одно семейство процов. А потом надо ещё её исправить так, чтобы
>это не поставило, извиняюсь, раком пользовательские приложения.

Если это именно ошибка (то есть несоответствие спецификации), то её исправление раком никого не поставит. Кроме админов, канеш.

>2) Аппаратная ошибка всё равно останется, будь твой язык хоть трижды доверенным.
>И будет влиять, падла такая.

Угу. Поэтому речь о том, чтобы ЦП (именно ЦП, а не вспомогательные юниты) был максимально простым; тупым, если хотите. Тогда аппаратных ошибок будет немного...

>3) Что-то я не помню о аппаратных ошибках, связанных с переключением контента,
>с ранних 20286.... ;-)

http://download.intel.com/design/processor/specupdt/318733.pdf , раздел "Errata". На всякий случай уточню, что реальную критичность проблем надо додумывать самому, красивых надписей "Critical" на красном фоне ждать не стоит. :)

> А вот баги в виртуальных машинах находят
>(и правят) регулярно.....

Виртуальные машины и компиляторы - вещи немного разные:). У компилятора свободы больше на порядок. Но ошибок и в компиляторах хватает, канеш.

Ответить | Правка | Наверх | Cообщить модератору

74. "По 80286"  +/
Сообщение от Дмитрий Ю. Карпов (?), 19-Ноя-08, 13:11 
Я не знаю, какие аспекты работы 80286 Вы имеете в виду, но хочу напомнить, что главной фичей в 80286 была сегментная адресация, заставлявшая программиста переключать сегменты. Этот механизм порождает кучу сложностей при программировании на ассемблере и при написании компилятора, и даже при предельно эффективном программировании сильно тормозит вычисления. (Я не стал упираться в 16-битное ограничение размера сегмента - это можно исправить; я говорю именно о принципе сегментирования.) В 80386 добавили ещё два сегментных регистра, но программисты предпочти использовать Flat-модель, когда используется один сегмент (точнее, все четыре сегмента (CS, DS, ES и SS) совпадают и покрывают всё адресное пространство), а защита памяти производится гораздо менее гибким механизмом страниц (снижение гибкости обусловлено фиксированным размером страницы).

И вообще, аппаратура никогда не сможет эффективно отслеживать ошибки - это надо возлагать на компилятор и на runtime проверки (если стандарты языка не предусматривают свободы программиста делать опасные и неотслеживаемые компилятором вещи). Аппаратная поддержка таких проверок сразу породит проблемы совместимости, когда на одних моделях процессоров что-то будет работать, а на других будет сбоить.

Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру