Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>С точки зрения самого Windows, система BlackBox — это обычное приложение Windows со всеми вытекающими последствиями... Так что нечему тут удивляться. WH>А если это оберон-ос стоящая на АЭС?
Ну на самом деле тут я бы уже не стал придиратся. Если падает программа управляющая реактором, то какое имеет значение в каком режиме она выполнялась в ядре или в юзер-спейс?
Сама идея оберон-системы на самом деле-то весьма любопытная. Все в одном кольце защиты и запрет на прямой доступ к памяти. В этом что-то есть. Другое дело, что язык сам имхо примитивный, начиная с синтаксиса. С-подобный синтаксис имхо гораздо более логичный и юзабельный чем паскалевский.
Здравствуйте, Сергей Губанов, Вы писали:
К>>>>А вот так: выжрет всю память и начнёт молотить бесконечный цикл. Всё, отдыхаем. В виндах я хотя бы Ctrl+Alt+Del нажму... прибью процесс, который много себе позволяет, и буду щаслив. А здесь?
СГ>>>Где здесь? BlackBox, например, под виндой работает — жмите Ctrl+Alt+Del.
К>>И что дальше то ? Убить процесс BlackBox ? Так это будет аналогично нажатию ресета в винде, а никак не убиению провинившегося процесса.
СГ>С точки зрения самого Windows, система BlackBox — это обычное приложение Windows со всеми вытекающими последствиями... Так что нечему тут удивляться.
А с точки зрения системного блока (и электрика дяди Васи) — Windows это просто шмат кода, который что-то там копается на винчестере, показывает на экране и пищит в колонках.
Вот дяде Васе некуда было дрель воткнуть — рррраз компьютер из розетки. А пофиг, что это был сервер... по шее-то дадут не дяде Васе, а сисадмину.
Так и с БлекБоксом... повис контроллер реактора, и хрен с ним. Авось, АЗ сама как-нибудь опустится, там вообще никакой электроники нетути.
Здравствуйте, Сергей Губанов, Вы писали:
К>>Или вы предполагаете писать программы "сразу без ошибок" ?
СГ>Да, предлагаю. Удивлены?
После таких заявлений самое время задавать вопросы
о реальном опыте автора таких заявлений
Сколько реальных систем, которыми пользуются люди, вами было написано.
Сколько человек принимало участие в разработках.
Что за системы были написаны и на чем. Я так понимаю на Обероне?
В общем если вы владеете тайным знанием создания безошибочных программ,
то прошу им поделиться со всеми.
Кстати, а что такое ошибка и какие ошибки, на ваш взгляд сущетсвуют?
От каких ошибок может уберечь Оберон?
Если вы найдете ответы на эти вопросы, то будете удивлены,
что возможности Оберона не стоят и выеденного яйца, особенно
если сравнивать с тем, что реально используется.
Здравствуйте, Сергей Губанов, Вы писали:
К>>И что дальше то ? Убить процесс BlackBox ? Так это будет аналогично нажатию ресета в винде, а никак не убиению провинившегося процесса.
СГ>С точки зрения самого Windows, система BlackBox — это обычное приложение Windows со всеми вытекающими последствиями... Так что нечему тут удивляться.
То есть я так понимаю, каждую апликацию нужно запихивать в отдельный BlackBox чтоб она не могла повесить намертво всё ? И где же тогда хвалёное единое адресное пространство ?
Или может вы считаете, что все процессы блэкбоксов в винде как-то объединяются в единое адресное пространство ?
Здравствуйте, Sergey J. A., Вы писали:
SJA>Здравствуйте, Сергей Губанов, Вы писали:
К>>>И что дальше то ? Убить процесс BlackBox ? Так это будет аналогично нажатию ресета в винде, а никак не убиению провинившегося процесса.
СГ>>С точки зрения самого Windows, система BlackBox — это обычное приложение Windows со всеми вытекающими последствиями... Так что нечему тут удивляться.
SJA>То есть я так понимаю, каждую апликацию нужно запихивать в отдельный BlackBox чтоб она не могла повесить намертво всё ? И где же тогда хвалёное единое адресное пространство ? SJA>Или может вы считаете, что все процессы блэкбоксов в винде как-то объединяются в единое адресное пространство ?
К сожалению, Вы путаете BlackBox и Aos BlueBottle. Это две разные системы написанные на двух разных языках (потомках Оберона).
Дайте определение сборщику мусора — и перечислите известные способы реализации и сразу станет очевидным — на каком месте и что должно было сработать. Впрочем очень сомневаюсь, что Вам это не известно.
Разве не очевидно, что ГЦ — это глубокий цикл — т.е. повиснет на долго — в частности достаточно — для того, что бы полностью убедить пользователя в своей неработоспособности?
Может стоит таки задуматься над тем — всегда ли Ваше мнение верно?
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Нет, ну если, конечно буквы ГЦ — это вовсе не GC — сборщик мусора. То, я не прав. Моя вина. Прости. Но не объяснишь ли что же это за буквы такие — ГЦ?
Еще раз ГДЕ НАПИСАНО ЧТО Я ТЕСТИРУЮ ГЦ? Я лишь продемонстрировал уязвимость в системе с ГЦ. И это была лишь реакция на твои заявления что модульную систему с ГЦ и контролем индексов массивов нельзя свалить. Еще раз повторю свалить можно ВСЕ.
... << RSDN@Home 1.1.4 rev. 185 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Сергей Губанов, Вы писали:
SJA>>То есть я так понимаю, каждую апликацию нужно запихивать в отдельный BlackBox чтоб она не могла повесить намертво всё ? И где же тогда хвалёное единое адресное пространство ? SJA>>Или может вы считаете, что все процессы блэкбоксов в винде как-то объединяются в единое адресное пространство ?
СГ>К сожалению, Вы путаете BlackBox и Aos BlueBottle. Это две разные системы написанные на двух разных языках (потомках Оберона).
Да. Вероятно я что-то путаю.
Что таком случае BlackBox ? Песочница для 1 апликации ? Так что ли ?
Здравствуйте, Сергей Губанов, Вы писали:
СГ>К сожалению, Вы путаете BlackBox и Aos BlueBottle. Это две разные системы написанные на двух разных языках (потомках Оберона).
Это не мы, а ты нас путаешь. Итак. Как на BlueBottle пристрелить код, который глючит и подсаживает всю систему?
Здравствуйте, Кодт, Вы писали:
К>Юзеру без разницы, каким именно способом рухнет его программа — получив исключение от несостоявшейся проверки или расстреляв стек возврата.
А вот тут ты не прав. При исключении грохнется только конкретная обработка, а вот при расстреле стека повалится все приложение. Что особенно приятно в серверах.
Здравствуйте, Mr. None, Вы писали:
MN>Не знаю, почему они отказались от друзей, но имел я в гробу эту комбинацию ассемблей с protected... Это так чистое ИМХО и крик души, прошу на данное сообщение не отвечать — флеймить не буду...
А можно развернуть мысль, для тех кто не в теме?
Не флейма ради, а самообразования для.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Кодт, Вы писали:
К>>Юзеру без разницы, каким именно способом рухнет его программа — получив исключение от несостоявшейся проверки или расстреляв стек возврата.
AVK>А вот тут ты не прав. При исключении грохнется только конкретная обработка, а вот при расстреле стека повалится все приложение. Что особенно приятно в серверах.
Представляешь себе, каким изощрённым должен быть обработчик проверочного исключения, чтобы обеспечить стабильную работу сервера?
void stable_work()
{
int attempts = 0;
while(true)
{
try
{
unstable_work();
break;
}
catch(assertion_fault& ex)
{
if(++attempts < treshold) continue; // а может, со второго захода повезёт?throw; // пускай клиент разбирается
}
}
}
Маразматически выглядит, правда? А как вообще можно реагировать на assertion fault? Abort Retry Ignore.
Abort — возьмём да и прибьём программу.
Retry — перезапустим. Вопрос, что именно? (всю программу, или сглючившую функцию). Откуда у нас такая уверенность, что перезапуск исправит свежеобнаруженный баг?
Ignore — ну правильно. Обнаружили выход за границы массива, и бог с ним. Следующим ходом будет расстрел памяти.
Под дебаггером Retry и Ignore — это ради бога. Потрассируем, регистры ручками выставим... там, глядишь и исправим. А в релизе?
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, Сергей Губанов, Вы писали:
К>>>На Обероне такую фигню спороть гораздо легче, чем на С++. Просто хотя бы потому, что программист С++ (и даже, отчасти, на VB6) изначально держит в голове вопросы использования памяти. А Оберон (и другие языки с GC) позволяют ему не париться.
СГ>>Не парится над удалением объектов, а не над тем что оперативная память может быть исчерпана.
К>А это одно и то же, в шаловливых ручках. К>Вот пример был: К>
К>При том, что имеется встроенный в GDI сборщик неиспользуемых объектов — этот код выжрет все ресурсы со страшной силой.
К>И я уже говорил про совместное адресное пространство: в пользовательских системах любая корпоративность (будь то адресное пространство, планировка или что ещё) — серьёзная дыра в безопасности. Найдётся один придурок, который угробит деятельность не только своей программы, но и системы в целом.
Давно давно я работал на старой Unix станции. Я был очень удивлен когда мне рассказали, что система не контролирует размер стека приложения. Написав простенькую программу, я очень быстро убедился, что да -- не контролирует. Станцию пришлось перезагружать. Ну естественно, я всех сидящих пользователей честно предупредил -- мужики, сейчас буду ставить опасный эксперимент, сохраняйтесь.
Здравствуйте, Сергей Губанов, Вы писали:
MN>>Линейку в студию — будем мерить у кого длиннее. А вообще-то такие нападки запрещены правилами форумов RSDN...
СГ>Извините, но в чем проблема-то?
В том, что ты обозвал WolfHound'а малограмотным придурком.
СГ>Форум RSDN как раз и создан для того чтобы общаясь друг с другом, мы могли повышать уровень нашей грамотности.
Форум RSDN создан для обсуждения профессиональных вопросов, а не для выкриков о "всеобщей (кроме меня) безграмотности", " херовости всех (кроме Оберона) языков", "всеобщей (кроме меня) некомпетентности", "неправильности всех парадигм (кроме модульной)"
Это уже давно был бы бан, если бы Влад в этой дискуссии не заслуживал такого же бана, будучи РСДН-овцем.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>То что Вы привели такой пример пытаясь в чем-то уличить сборщик мусора, лишь лишний раз поддтверждает тезис о малограмотности большинства современных программистов.
Большинства не знаю, но одного упертого оберонщика точно.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Это уже давно был бы бан, если бы Влад в этой дискуссии не заслуживал такого же бана, будучи РСДН-овцем.
Ну, нормально. Влад тут даже рядом не стоят, а не него уже хоят списать всех собок.
Просто здесь модераторы демократичные.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.