Re[27]: Нужна ли Оберон-ОС защита памяти?
От: Sergey Россия  
Дата: 20.01.05 15:42
Оценка:
Hello, Cyberax!
You wrote on Thu, 20 Jan 2005 15:13:13 GMT:

C> Ах... Как все просто в теории. А теперь к суровой реальности:

C> Как в Обероне борются с ресурсожорами? Начнет какой-нибудь поток
C> бесконечно жрать память — упадет ВСЯ система. Значит нужны квоты. Но на
C> ЧТО ставить квоты, явных процессов ведь нет?

На модули, наверное. Винде, кстати, если выжрать всю память, тоже фигово
будет.

C> Точно так же — нужно обеспечить учет дефецитных ресурсов (сетевых

C> соединений, открытых файлов и т.п.),

С чего бы вдруг сетевым соединениям и открытых файлам быть дефицитными
ресурсами?

C> изоляцию приложений, работающих с разными привиллегиями,


Прям щас пишу поддержку привелегий на уровне объектов для RPC. На С++.
Сложности конечно есть, но непринципиальные.

C> механизмы обхода защиты и т.п.

Нафига нужны механизмы обхода защиты?

C> В итоге получится тоже самое, что и в

C> Юниксе/Винде.

Да ну. Как напишешь, так получится. Может и QNX получиться, может и BeOS

PS: я не защитник оберона, но, блин, аргументы-то и по толковей найти
можно...

With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[28]: Нужна ли Оберон-ОС защита памяти?
От: Cyberax Марс  
Дата: 20.01.05 17:52
Оценка: +1
Sergey пишет:

> C> Ах... Как все просто в теории. А теперь к суровой реальности:

> C> Как в Обероне борются с ресурсожорами? Начнет какой-нибудь поток
> C> бесконечно жрать память — упадет ВСЯ система. Значит нужны квоты. Но на
> C> ЧТО ставить квоты, явных процессов ведь нет?
> На модули, наверное. Винде, кстати, если выжрать всю память, тоже фигово
> будет.

В винде и юниксах я могу не дать приложению выжрать всю память. А в
Обероне, видимо, нужно будет ставить квоты на System.Writeln

> C> Точно так же — нужно обеспечить учет дефецитных ресурсов (сетевых

> C> соединений, открытых файлов и т.п.),
> С чего бы вдруг сетевым соединениям и открытых файлам быть дефицитными
> ресурсами?

А с того, что их количество ограничено. Еще примеры: открытые соединения
к БД, курсоры в БД, графические описатели...

> C> изоляцию приложений, работающих с разными привиллегиями,

> Прям щас пишу поддержку привелегий на уровне объектов для RPC. На С++.
> Сложности конечно есть, но непринципиальные.

Ага, принципиальных сложностей нигде нет. А вот реализовать толковый
механизм разделения привилегий для ОС — ВЕСЬМА непросто.

> C> механизмы обхода защиты и т.п.

> Нафига нужны механизмы обхода защиты?

Hint: su, sudo

> C> В итоге получится тоже самое, что и в

> C> Юниксе/Винде.
> Да ну. Как напишешь, так получится. Может и QNX получиться, может и BeOS

Но уж никак не ОС в 50Кб кода

> PS: я не защитник оберона, но, блин, аргументы-то и по толковей найти

> можно...

Толковые кончились...

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[29]: Нужна ли Оберон-ОС защита памяти?
От: Sergey Россия  
Дата: 21.01.05 08:07
Оценка:
Hello, Cyberax!
You wrote on Thu, 20 Jan 2005 17:52:53 GMT:

C> В винде и юниксах я могу не дать приложению выжрать всю память. А в

C> Обероне, видимо, нужно будет ставить квоты на System.Writeln

Каким образом можно не дать приложению выжрать всю память в винде, если не
секрет?

C>>> Точно так же — нужно обеспечить учет дефецитных ресурсов (сетевых

C>>> соединений, открытых файлов и т.п.),
??>> С чего бы вдруг сетевым соединениям и открытых файлам быть дефицитными
??>> ресурсами?

C> А с того, что их количество ограничено.

Чем ограничено? Имеющейся памятью?

C> Еще примеры: открытые соединения к БД, курсоры в БД, графические

C> описатели...
Ну не стоит экстраполировать свойства ОС, с которым ты знаком, на ОС новые.
Я, например, не вижу ни одной причины, по которым количество "графических
описателей" (кстати, что это такое и обязательно ли их присутствие в
оберонистой ОС?) должно быть ограничено чем-либо, кроме памяти.

C> Ага, принципиальных сложностей нигде нет. А вот реализовать толковый

C> механизм разделения привилегий для ОС — ВЕСЬМА непросто.

А никто и не обещает, что это просто. Но я вот в упор не вижу, почему замена
концепции процесса на концепцию модуля должна как-то повлиять на сложность
реализации системы безопасности.

C>>> механизмы обхода защиты и т.п.

??>> Нафига нужны механизмы обхода защиты?

C> Hint: su, sudo


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

C>>> В итоге получится тоже самое, что и в

C>>> Юниксе/Винде.
??>> Да ну. Как напишешь, так получится. Может и QNX получиться, может и
??>> BeOS

C> Но уж никак не ОС в 50Кб кода


Ну в 50Кб кода я тоже не верю А вот дискета-другая — вполне реально.

With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[30]: Нужна ли Оберон-ОС защита памяти?
От: Cyberax Марс  
Дата: 21.01.05 08:42
Оценка: -2
Sergey пишет:

> C> В винде и юниксах я могу не дать приложению выжрать всю память. А в

> C> Обероне, видимо, нужно будет ставить квоты на System.Writeln
> Каким образом можно не дать приложению выжрать всю память в винде,
> если не
> секрет?

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

> C>>> Точно так же — нужно обеспечить учет дефецитных ресурсов (сетевых

> C>>> соединений, открытых файлов и т.п.),
> ??>> С чего бы вдруг сетевым соединениям и открытых файлам быть
> дефицитными
> ??>> ресурсами?
> C> А с того, что их количество ограничено.
> Чем ограничено? Имеющейся памятью?

Ограничением архитектуры.

> C> Еще примеры: открытые соединения к БД, курсоры в БД, графические

> C> описатели...
> Ну не стоит экстраполировать свойства ОС, с которым ты знаком, на ОС
> новые.
> Я, например, не вижу ни одной причины, по которым количество "графических
> описателей" (кстати, что это такое и обязательно ли их присутствие в
> оберонистой ОС?) должно быть ограничено чем-либо, кроме памяти.

А я вижу. Например, каждый графический объект будет отжирать один
аппаратный описатель графического ускорителя.

> C> Ага, принципиальных сложностей нигде нет. А вот реализовать толковый

> C> механизм разделения привилегий для ОС — ВЕСЬМА непросто.
> А никто и не обещает, что это просто. Но я вот в упор не вижу, почему
> замена
> концепции процесса на концепцию модуля должна как-то повлиять на
> сложность
> реализации системы безопасности.

Потому что модуль — еденица деления КОДА, а процесс — это совокупность
ПОТОКОВ исполнения кода.

> C>>> механизмы обхода защиты и т.п.

> ??>> Нафига нужны механизмы обхода защиты?
> C> Hint: su, sudo
> Это, насколько я понимаю, не обход, а просто делегирование части
> полномочий.

Это способ обойти защиту для некоторых случаев.

> C>>> В итоге получится тоже самое, что и в

> C>>> Юниксе/Винде.
> ??>> Да ну. Как напишешь, так получится. Может и QNX получиться, может и
> ??>> BeOS
> C> Но уж никак не ОС в 50Кб кода
> Ну в 50Кб кода я тоже не верю А вот дискета-другая — вполне реально.

Ну так Линукс с несколькими утилитами вполне помещается на дискету.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[31]: Нужна ли Оберон-ОС защита памяти?
От: Sergey Россия  
Дата: 21.01.05 09:13
Оценка:
Hello, Cyberax!
You wrote on Fri, 21 Jan 2005 08:42:18 GMT:

C> Пишем скрипт, который смотрит, чтобы никто не зажирался — нарушителей

C> прибиваем.

Что мешает написать подобный скрипт для Оберона? Есть какие-то
принципиальные отличия винды от оберона в данном вопросе?

??>>>> С чего бы вдруг сетевым соединениям и открытых файлам быть
??>> дефицитными
??>>>> ресурсами?
C>>> А с того, что их количество ограничено.
??>> Чем ограничено? Имеющейся памятью?

C> Ограничением архитектуры.


Архитектуры чего? И каким именно ограничением?

??>> Я, например, не вижу ни одной причины, по которым количество
??>> "графических описателей" (кстати, что это такое и обязательно ли их
??>> присутствие в оберонистой ОС?) должно быть ограничено чем-либо, кроме
??>> памяти.

C> А я вижу. Например, каждый графический объект будет отжирать один

C> аппаратный описатель графического ускорителя.

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

C>>> Ага, принципиальных сложностей нигде нет. А вот реализовать толковый

C>>> механизм разделения привилегий для ОС — ВЕСЬМА непросто.
??>> А никто и не обещает, что это просто. Но я вот в упор не вижу, почему
??>> замена
??>> концепции процесса на концепцию модуля должна как-то повлиять на
??>> сложность
??>> реализации системы безопасности.

C> Потому что модуль — еденица деления КОДА, а процесс — это совокупность

C> ПОТОКОВ исполнения кода.

И что с того? Как это влияет на безопасность?
Есть модуль, загруженный Васей, у него права рута. Есть модуль, загруженный
Клавой, у него права гостя.
Есть процесс, запущенный Васей, у него права рута. Есть процесс, запущенный
Клавой, у него права гостя.
В чем разница?

C>>>>> механизмы обхода защиты и т.п.

??>>>> Нафига нужны механизмы обхода защиты?
C>>> Hint: su, sudo
??>> Это, насколько я понимаю, не обход, а просто делегирование части
??>> полномочий.

C> Это способ обойти защиту для некоторых случаев.

Ну да, тогда назначение юзеру Клава прав на конфигурирование принтера — тоже
способ обойти защиту для некоторых случаев

C>>> Но уж никак не ОС в 50Кб кода

??>> Ну в 50Кб кода я тоже не верю А вот дискета-другая — вполне реально.

C> Ну так Линукс с несколькими утилитами вполне помещается на дискету.


Ну и что? Выводы-то какие?

With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[24]: Нужна ли Оберон-ОС защита памяти?
От: BlackBox Россия ---
Дата: 21.01.05 09:23
Оценка:
Здравствуйте, AVC, Вы писали:

P>>Кстати, это было известно задолго до появления защищенного режима (в Intel 80286), например, OS/360 ни разу не зависла из-за некорректно написанной пользоветельской программы.


AVC>Я что-то не понял. Своими интересными аргументами Вы меня в конец запутали.

AVC>Когда это OS/360 на 80286 работала?

Privalov и не говорил, что OS/360 работала на 80286 — не надо видеть того чего нет.
Re[29]: Нужна ли Оберон-ОС защита памяти?
От: alexeiz  
Дата: 21.01.05 10:00
Оценка: 1 (1) +1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>У меня тоже есть программа (сам написал на Delphi) использует графику GDI+ и DirectDraw7. Так вот, на всех компьютерах работает замечательно, но на ноутбуке шефа при попытке перерисовки мгновенно вываливается в синий экран смерти Windows XP SP2.


Даже с закрытыми глазами можно сказать, что это драйвер.

>Вот Вам и виртуальные адресные пространства... Чего я только ни делал пытаясь понять где ошибка. Даже каждую процедуру программы обернул дополнительным блоком try except — бесполезно, ни каких исключений не возникает, моя программа работает корректно, но просто вызывает мгновенную смерть виндос на том злосчастном ноутбуке.


Нечего мудрить. Когда система падает, нужно memory dump создавать, потом с ним в отладчик и !analyze. Честное слово, это базовые знания.
Re[30]: Нужна ли Оберон-ОС защита памяти?
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 21.01.05 10:35
Оценка: -1
Здравствуйте, alexeiz, Вы писали:

A>Даже с закрытыми глазами можно сказать, что это драйвер.


Спасибо.

A>Нечего мудрить. Когда система падает, нужно memory dump создавать, потом с ним в отладчик и !analyze.


Как? Виндос мгновенно грохается, компьютер уходит в перезагрузку. Как вообще что-либо создать если не то что моя программа больше не работает, а сам комп ушел в перезапуск...
Re[31]: Нужна ли Оберон-ОС защита памяти?
От: Sergey Россия  
Дата: 21.01.05 10:44
Оценка: 1 (1) +2
Hello, Сергей!
You wrote on Fri, 21 Jan 2005 10:35:21 GMT:

СГ> Как? Виндос мгновенно грохается, компьютер уходит в перезагрузку. Как

СГ> вообще что-либо создать если не то что моя программа больше не
СГ> работает, а сам комп ушел в перезапуск...

Винда сама крэшдамп создает, если это настроено. "System
properties->Advanced->Startup and recovery".

With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[31]: Нужна ли Оберон-ОС защита памяти?
От: Cyberax Марс  
Дата: 21.01.05 10:59
Оценка: 1 (1) :)
Сергей Губанов пишет:

> A>Даже с закрытыми глазами можно сказать, что это драйвер.

> Спасибо.
>
> A>Нечего мудрить. Когда система падает, нужно memory dump создавать,
> потом с ним в отладчик и !analyze.
> Как? Виндос мгновенно грохается, компьютер уходит в перезагрузку. Как
> вообще что-либо создать если не то что моя программа больше не
> работает, а сам комп ушел в перезапуск...

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

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[24]: Нужна ли Оберон-ОС защита памяти?
От: Дарней Россия  
Дата: 21.01.05 11:23
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>В Обероне нет "висячих" указателей и возможности нарушить систему безопасности типов (type safety).


ОН вернулся... трепещите, несчастные грешники!!! :lol:
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[30]: Нужна ли Оберон-ОС защита памяти?
От: Sinclair Россия https://github.com/evilguest/
Дата: 21.01.05 11:37
Оценка: 21 (2)
Здравствуйте, Sergey, Вы писали:

S>Каким образом можно не дать приложению выжрать всю память в винде, если не

S>секрет?
В винде секретов нет. RTFMSDN "SetInformationJobObject"

Остальные вопросы по управлению ресурсами я поскипаю.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[25]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 21.01.05 11:43
Оценка: :)
Здравствуйте, Дарней, Вы писали:

AVC>>В Обероне нет "висячих" указателей и возможности нарушить систему безопасности типов (type safety).

Д>ОН вернулся... трепещите, несчастные грешники!!! :lol:

У-у, горе вам, поклонники Си++...

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[27]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 21.01.05 11:59
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>AVC пишет:

>> Четвертые (и их, кажется, большинство) не могут себе представить
>> создание нового процесса без UNIX-овского примитива *fork()*. (При
>> этом они спокойно пишут многопоточные приложения и вопросов у них не
>> возникает.) В Модуле-2 и Обероне-2 каждый процесс безраздельно владеет
>> своими локальными (стековыми) переменными, а для разделяемых
>> переменных существуют мониторы и семафоры.
C>Ах... Как все просто в теории. А теперь к суровой реальности:
C>Как в Обероне борются с ресурсожорами? Начнет какой-нибудь поток
C>бесконечно жрать память — упадет ВСЯ система. Значит нужны квоты. Но на
C>ЧТО ставить квоты, явных процессов ведь нет?

Как это нет явных процессов?
Или Вы опять об отдельных "адресных пространствах"?
Процессы (=задачи и т.п.) в Обероне есть, также как они были в Модуле-2.
Если происходит исключение, то процесс убивается, выдается соответствующий дамп.
Это так даже в ETH Oberon, не говоря уже о более развитых Оберон-системах.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[28]: Нужна ли Оберон-ОС защита памяти?
От: Cyberax Марс  
Дата: 21.01.05 12:38
Оценка:
AVC пишет:

> C>Ах... Как все просто в теории. А теперь к суровой реальности:

> C>Как в Обероне борются с ресурсожорами? Начнет какой-нибудь поток
> C>бесконечно жрать память — упадет ВСЯ система. Значит нужны квоты. Но на
> C>ЧТО ставить квоты, явных процессов ведь нет?
> Как это нет явных процессов?
> Или Вы опять об отдельных "адресных пространствах"?
> Процессы (=задачи и т.п.) в Обероне есть, также как они были в Модуле-2.
> Если происходит исключение, то процесс убивается, выдается
> соответствующий дамп.

Ага. Представим, что содержащиеся в процессе объекты используются в
другом процессе (у нас ведь одно адресное пространство), что с ними
произойдет?

Или что произойдет со статическими переменными? А как насчет открытых
сетевых соединений?

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[32]: Нужна ли Оберон-ОС защита памяти?
От: Павел Кузнецов  
Дата: 21.01.05 16:26
Оценка:
Sergey,

> Есть модуль, загруженный Васей, у него права рута. Есть модуль, загруженный Клавой, у него права гостя.


Насколько я понял, в Обероне каждый модуль может быть загружен только один раз. Соответственно, мне кажется, что будут проблемы из разряда того, что Вася, загрузивший модуль Photoshop, тем самым отобрал эту возможность у всех остальных пользователей...
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[29]: Нужна ли Оберон-ОС защита памяти?
От: Poudy Россия  
Дата: 21.01.05 20:53
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Или что произойдет со статическими переменными? А как насчет открытых

C>сетевых соединений?
Фигню какую-то говоришь. Разделяемая память — это разделяемая память. Экспорт объекта через границы модуля — отдельная серьезная задача (а не просто отдать 0x001e24fa).

По поводу открытых файлов, соединений и пр — те же самые проблемы возникают и в обычной ОС. Вообще не нужно думать, что изоляция адресного пространства решает какие-то глобальные проблемы: по прежнему приходится отслеживать каждый "пук".
Re[30]: Нужна ли Оберон-ОС защита памяти?
От: Cyberax Марс  
Дата: 22.01.05 07:26
Оценка:
Poudy пишет:

> C>Или что произойдет со статическими переменными? А как насчет открытых

> C>сетевых соединений?
> Фигню какую-то говоришь. Разделяемая память — это разделяемая память.
> Экспорт объекта через границы модуля — отдельная серьезная задача (а
> не просто отдать 0x001e24fa).

То есть мне еще и нужно думать как "экспортировать" объекты между
модулями, выполняющимися в одном треде? Если так, то В МОРГ.

Да еще учитывая, что повсюду используются глобальные переменные...

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

> По поводу открытых файлов, соединений и пр — те же самые проблемы

> возникают и в обычной ОС.

Где проблемы? При закрытии процесса прибиваются все открытые им handle'ы.

> Вообще не нужно думать, что изоляция адресного пространства решает

> какие-то глобальные проблемы: по прежнему приходится отслеживать
> каждый "пук".

Чего отслеживать? В нормальных ОС если одна программа сделает GPF, то
это не скажется на работе остальных.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[30]: Нужна ли Оберон-ОС защита памяти?
От: DJ KARIES Россия  
Дата: 22.01.05 22:11
Оценка: :))
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>У меня тоже есть программа (сам написал на Delphi) использует графику GDI+ и DirectDraw7. Так вот, на всех компьютерах работает замечательно, но на ноутбуке шефа при попытке перерисовки мгновенно вываливается в синий экран смерти Windows XP SP2. Вот Вам и виртуальные адресные пространства... Чего я только ни делал пытаясь понять где ошибка. Даже каждую процедуру программы обернул дополнительным блоком try except — бесполезно, ни каких исключений не возникает, моя программа работает корректно, но просто вызывает мгновенную смерть виндос на том злосчастном ноутбуке.


WH>Думаешь если бы оно было на обероне было бучше


Однозначно.
В настоящей Оберон-системе не было бы ни GDI+, ни DirectDraw7, ни Windows XP SP2.
Ибо нельзя испортить то, что не портится.
... << http://dkdens.narod.ru :: http://retroforth.org >>
Re[25]: Нужна ли Оберон-ОС защита памяти?
От: Privalov  
Дата: 23.01.05 06:39
Оценка:
Здравствуйте, BlackBox, Вы писали:

BB>Privalov и не говорил, что OS/360 работала на 80286 — не надо видеть того чего нет.


Спасибо. Я действительно ничего подобного не говорил. :beer:

А все остальное коллеги очень доступно уважаемому AVC объяснили, за что им тоже большое спасибо.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.