Hello, Павел!
You wrote on Fri, 21 Jan 2005 16:26:06 GMT:
??>> Есть модуль, загруженный Васей, у него права рута. Есть модуль,
??>> загруженный Клавой, у него права гостя.
ПК> Насколько я понял, в Обероне каждый модуль может быть загружен только ПК> один раз. Соответственно, мне кажется, что будут проблемы из разряда ПК> того, что Вася, загрузивший модуль Photoshop, тем самым отобрал эту ПК> возможность у всех остальных пользователей...
Если так, то придется изобретать контексты безопасности. В подобной системе
это не должно быть слишком сложно. Хотя раз у них задачи все таки есть —
задача должна хорошо подойти на роль контекста безопасности.
With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Cyberax, Вы писали:
C>...КАКОЙ модуль ей нужно прибить из-за превышения квоты?
Модуль — это просто место в котором хранится код. Прибить модуль невозможно по определению.
C>NEW(obj) создает блок в памяти, который ничего не делает.
а если obj — активный объект, то делает. Активный объект живет своей жизнью (проявляет активность) параллельно с остальными активными объектами. Вот, например, в виндосе если взглянуть в Windows Task Manager в закладку Processes, то Вы увидите список работающих процессов, аналогично в Aos BlueBottle можно наблюдать список активных объектов.
Здравствуйте, Дарней, Вы писали:
СГ>>Естественно что невозможно перенести на safe систему unsafe язык программирования. Никаких Си/Си++ под оберонами никогда не будет и ассемблеров тоже, по тойже причине.
Д>И драйверов к железу тоже никогда не будет?
Какая связь между языками Си/Си++ и драйверами?
Драйверы под оберон-системы пишутся на самих оберонах.
Здравствуйте, BlackBox, Вы писали:
BB>Здравствуйте, AVC, Вы писали:
P>>>Кстати, это было известно задолго до появления защищенного режима (в Intel 80286), например, OS/360 ни разу не зависла из-за некорректно написанной пользоветельской программы. AVC>>Я что-то не понял. Своими интересными аргументами Вы меня в конец запутали. AVC>>Когда это OS/360 на 80286 работала? BB>Privalov и не говорил, что OS/360 работала на 80286 — не надо видеть того чего нет.
Похоже, Вы правы, а я неправильно понял фразу.
Беру назад свою реплику об "OS/360 на 80286".
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Результаты 1 — 10 из примерно 29 400 для JavaOS. СГ>Результаты 1 — 10 из примерно 82 300 для Oberon OS.
Можно еще посмотреть для
Результаты 1 — 10 из примерно 14 300 000 для java os
Результаты 1 — 10 из примерно 285 000 000 для windows
Результаты 1 — 10 из примерно 222 000 000 для linux
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Privalov, Вы писали:
BB>>Privalov и не говорил, что OS/360 работала на 80286 — не надо видеть того чего нет. P>Спасибо. Я действительно ничего подобного не говорил.
Я неправильно истолковал Вашу фразу. В голове мелькнула дурацкая мысль: какая связь между 80286 и OS/360; может быть, имеется в виду "полуось"?
Этой ошибочной ассоциацией и вызвана моя реплика.
Беру ее назад.
P>А все остальное коллеги очень доступно уважаемому AVC объяснили, за что им тоже большое спасибо.
IMHO, "коллеги" пока что демонстрируют только свое непреклонное убеждение, что любая ОС должна быть клоном UNIX или Windows, везде и во все времена.
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Hello, Сергей!
You wrote on Mon, 24 Jan 2005 13:57:59 GMT:
Д>> И драйверов к железу тоже никогда не будет?
СГ> Какая связь между языками Си/Си++ и драйверами? СГ> Драйверы под оберон-системы пишутся на самих оберонах.
Дано: буфер видеокарты расположен по адресу 0xE4000000-0xE7FFFFFF. Требуется
установить байт 0xE4000040 в 0xCE, шоб точку на экране показать. Как это
сделать, принимая во внимание, что "вопрос "...менять содержимое памяти,
принадлежащей другому приложению" не имеет физического смысла, поскольку в
языке нет способа узнать что-либо про память, нельзя получить численное
значение указателя (указатель — вещь в себе, его численное значение, если бы
его можно было бы получить, оказалось бы вовсе не константой, а то и дело
изменялось бы благодаря стараниям сборщика мусора)."?
With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, AVC, Вы писали:
AVC>IMHO, "коллеги" пока что демонстрируют только свое непреклонное убеждение, что любая ОС должна быть клоном UNIX или Windows, везде и во все времена.
IMHO, OS/360 не похожа ни на Windows, ни на UNIX. Кстати, та же OS/2 тоже. И возможности защищенного режима она, AFAIR, использует лучше Windows. Не похожа она на клон. Речь шла о том, какой должна быть многозадачная ОС. О том, что нормальная ОС должна уметь защищать себя от криво написанных приложений.
Здравствуйте, Sergey, Вы писали:
S>Дано: буфер видеокарты расположен по адресу 0xE4000000-0xE7FFFFFF. Требуется S>установить байт 0xE4000040 в 0xCE, шоб точку на экране показать. Как это S>сделать, принимая во внимание, что "вопрос "...менять содержимое памяти, S>принадлежащей другому приложению" не имеет физического смысла, поскольку в S>языке нет способа узнать что-либо про память, нельзя получить численное S>значение указателя (указатель — вещь в себе, его численное значение, если бы S>его можно было бы получить, оказалось бы вовсе не константой, а то и дело S>изменялось бы благодаря стараниям сборщика мусора)."?
Такой проблемы в Обероне нет, как и в Модуле не было.
Неужели единственный способ обратиться к видеобуферу — это
(* ((unsigned char *) 0xE4000000)) = 0xCE;
Чем хуже, скажем,
VideoBuffer.SetPoint(0, 0, 0xCE));
или
P[0][0] := 0xCE;
где P — указатель на видеобуфер?
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Hello, AVC!
You wrote on Mon, 24 Jan 2005 14:35:46 GMT:
S>> Дано: буфер видеокарты расположен по адресу 0xE4000000-0xE7FFFFFF. S>> Требуется установить байт 0xE4000040 в 0xCE, шоб точку на экране S>> показать. Как это сделать, принимая во внимание, что "вопрос "...менять S>> содержимое памяти, принадлежащей другому приложению" не имеет S>> физического смысла, поскольку в языке нет способа узнать что-либо про S>> память, нельзя получить численное значение указателя (указатель — вещь S>> в себе, его численное значение, если бы его можно было бы получить, S>> оказалось бы вовсе не константой, а то и дело изменялось бы благодаря S>> стараниям сборщика мусора)."?
A> Такой проблемы в Обероне нет, как и в Модуле не было. A> Неужели единственный способ обратиться к видеобуферу — это A>
A> (* ((unsigned char *) 0xE4000000)) = 0xCE;
A>
A> Чем хуже, скажем, A>
A> VideoBuffer.SetPoint(0, 0, 0xCE));
A>
A> или A>
A> P[0][0] := 0xCE;
A>
A> где P — указатель на видеобуфер?
Ты мне для начала покажи код, где ты присвоишь указателю на видеобуфер
значение 0xE4000000 и объясни заодно, как это согласуется с высказыванием
Губанова, которое я процитировал.
А потом можно будет перейти к обсуждению строгой типизации и взаимодействия
с внешним миром.
With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Сергей Губанов пишет:
> C>NEW(obj) создает блок в памяти, который ничего не делает. > а если obj — активный объект, то делает. Активный объект живет своей > жизнью (проявляет активность) параллельно с остальными активными > объектами. Вот, например, в виндосе если взглянуть в Windows Task > Manager в закладку Processes, то Вы увидите список работающих > процессов, аналогично в Aos BlueBottle можно наблюдать список активных > объектов.
Прекрасно. Мы уже выяснили, что потоки называются в Обероне "активными
объектами". Следующий вопрос: они образуют иерархию?
Сергей Губанов пишет:
> СГ>>Естественно что невозможно перенести на safe систему unsafe язык > программирования. Никаких Си/Си++ под оберонами никогда не будет и > ассемблеров тоже, по тойже причине. > Д>И драйверов к железу тоже никогда не будет? > Какая связь между языками Си/Си++ и драйверами? > Драйверы под оберон-системы пишутся на самих оберонах.
А как суперзащищенный Оберон-драйвер будет работать с портами, IRQ и, не
побоюсь этого слова, указателями?
Сергей Губанов пишет:
> C>И по той же причине такая система никому нужна не будет. > Ну вот и договорились. На этом у Вас, надеюсь, все? > C>ЗЫ: поищи в гугде по слову JavaOS — будешь удивлен. > Посмотрел: > Результаты 1 — 10 из примерно 29 400 для JavaOS. > Результаты 1 — 10 из примерно 82 300 для Oberon OS. > Чему удивиться?
Извиняюсь, нужно заменить JavaOS на "Java OS". Получим 14800000 результатов.
А вывод: есть мощные коммерческие Java OS'ы, которым BlueBottle и в
подметки не годится, но все они крайне нераспространены.
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>Результаты 1 — 10 из примерно 29 400 для JavaOS. СГ>>Результаты 1 — 10 из примерно 82 300 для Oberon OS. WH>Можно еще посмотреть для WH>Результаты 1 — 10 из примерно 14 300 000 для java os WH>Результаты 1 — 10 из примерно 285 000 000 для windows WH>Результаты 1 — 10 из примерно 222 000 000 для linux
Результаты 1 — 10 из примерно 14 600 для porshe 911.
Результаты 1 — 10 из примерно 2 940 000 для volkswagen golf.
Здравствуйте, Privalov, Вы писали:
AVC>>IMHO, "коллеги" пока что демонстрируют только свое непреклонное убеждение, что любая ОС должна быть клоном UNIX или Windows, везде и во все времена. P>IMHO, OS/360 не похожа ни на Windows, ни на UNIX. Кстати, та же OS/2 тоже. И возможности защищенного режима она, AFAIR, использует лучше Windows. Не похожа она на клон. Речь шла о том, какой должна быть многозадачная ОС. О том, что нормальная ОС должна уметь защищать себя от криво написанных приложений.
Увы, я практически не знаком с устройством OS/360.
Теперь по существу дела.
В принципе, я согласен с Вами в том, что "центр тяжести" обсуждения сместился к многозадачным ОС. Еще точнее, достаточно ли в многозадачной ОС загрузить каждый используемый модуль однократно, или требуется дублировать код по соображениям безопасности.
На мой взгляд, противники Оберон-систем игнорируют факт существования многозадачных Оберон-систем, который вряд ли оспорим. Посему аргументы варьируются от "я не могу себе этого представить" до "черт побери, КАК это работает?!".
Должен признать, что и наши аргументы иногда неубедительны.
Я думаю, все это по причине плохой информированности. Ведь по Windows, UNIX и Linux доступно море литературы, а вот книг по Оберону у нас в продаже нет.
Это совсем не означает, что Windows или Linux — хорошо, а Оберон — плохо. Это всего лишь политика издательств.
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, Sergey, Вы писали:
S>Ты мне для начала покажи код, где ты присвоишь указателю на видеобуфер S>значение 0xE4000000 и объясни заодно, как это согласуется с высказыванием S>Губанова, которое я процитировал. S>А потом можно будет перейти к обсуждению строгой типизации и взаимодействия S>с внешним миром.
Указатель на видеобуфер, скорее всего, устанавливается в пользовательском модуле, а в одном из модулей ядра. Ядро может быть написано как на Обероне, так и на ассемблере. Важно, чтобы модули расширения писались на Обероне. Поэтому вопрос, на самом деле, не слишком актуален.
На всякий случай, напомню, что в Обероне, как и раньше в Модуле, существуют средства низкого уровня (low-level facilities), используемые для подобных целей.
Они могут варьироваться от
как это было предложено делать в старой книге Вирта "Программирование на Модуле".
А что такого страшного написал Губанов?
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, Трурль, Вы писали:
Т>Результаты 1 — 10 из примерно 14 600 для porshe 911. Т>Результаты 1 — 10 из примерно 2 940 000 для volkswagen golf.
Результаты 1 — 10 из примерно 3 760 для горбатый запорожец
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Я хотел написать:
AVC>Указатель на видеобуфер, скорее всего, устанавливается не в пользовательском модуле, а в одном из модулей ядра. Ядро может быть написано как на Обероне, так и на ассемблере. Важно, чтобы модули расширения писались на Обероне. Поэтому вопрос, на самом деле, не слишком актуален.
"Не" куда-то пропало...
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Hello, AVC!
You wrote on Mon, 24 Jan 2005 15:35:13 GMT:
A> Указатель на видеобуфер, скорее всего, устанавливается в A> пользовательском модуле, а в одном из модулей ядра. Ядро может быть A> написано как на Обероне, так и на ассемблере.
Нестыковка номер раз — утверждается, что ядро может быть написано только на
обероне.
A> самом деле, не слишком актуален. На всякий случай, напомню, что в A> Обероне, как и раньше в Модуле, существуют средства низкого уровня A> (low-level facilities), используемые для подобных целей.
Нестыковка номер два — утверждалось, что низкоуровневых средств нет.
A> А что такого страшного написал Губанов?
Цитирую еще раз:
1) "Драйверы под оберон-системы пишутся на самих оберонах"
2) "...в языке нет способа узнать что-либо про память, нельзя получить
численное
значение указателя (указатель — вещь в себе, его численное значение, если бы
его можно было бы получить, оказалось бы вовсе не константой, а то и дело
изменялось бы благодаря стараниям сборщика мусора)"
Соответственно, либо эти утверждения являются истиной, либо для
Оберон-систем в принципе возможны драйвера
Соответственно, если у нас низкоуровневый доступ, вопрос о защищенности
переходит из качественного в количественный — скока там реально получится
багов, роняющих систему. То, что такие баги будут в принципе возможны, уже
очевидно.
With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.