LINUX.ORG.RU

Критика X.org/XFree


0

0

Немного запоздавшая новость, но всё же. Основатель OpenBSD Theo de Raadt в жёсткую критикует разработчиков X.org/XFree за то, что последние создали огромную брешь в безопасности всех Unix систем в связи с тем, что X сервер напрямую работает с железом, а в угоду разработчиков проприетарных драйверов от nVidia и ATI API/ABI интерфейсы уже не меняются десять с лишним лет.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Ответ на: комментарий от anonymous

>В защищенном i386 режиме процессора? Только из нулевого уровня исполнения, но никак не из userspace. Твой процесс может писать тольк в пул памяти, выделенный конкретно для твоей задачи. Как ты собираешься писать в пространство памяти ядра?

В защищенном i386 режиме процессора можно писать в любые порты из любого уровня, достаточно в TSS это прописать

anonymous
()
Ответ на: комментарий от anonymous

>>>то все таки нельзя считать прямым доступом

if it walks like a duck, quacks like a duck and looks like a duck, then it’s a duck

geekkoo
()
Ответ на: комментарий от anonymous

>Неужели? В защищенном i386 режиме процессора? Только из нулевого уровня исполнения, но никак не из userspace. Твой процесс может писать тольк в пул памяти, выделенный конкретно для твоей задачи. Как ты собираешься писать в пространство памяти ядра?

Про т. н. битовую карту ввода-вывода что-нибудь слышали?

Zenom ★★★
()
Ответ на: комментарий от Zenom

Пардон, здесь уже ответили

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

Zenom ★★★
()

просто Тео выгодно привлечь в свою "епархию" дополнительные сферы влияния.

anonymous
()
Ответ на: комментарий от anonymous

А Линус Т. сейчас сам патчи присылает? А то в 1997 не получалость запустить стандартное ядро в мультипроцессорном режиме, видело только 1 процессор. Послали ему письмо, он через 2 дня он патч прислал.

anonymous
()
Ответ на: комментарий от mrdeath

> где я сказал, что зависание -- это нормально? Просто я уже года 4 не видел, что бы у меня линух завис. А их у меня немало, поверь.

А у меня вис неоднократно. От supermount, от fglrx, от saa7134 дров. С виндой проблем меньше.

anonymous
()
Ответ на: комментарий от AS

>> Таки Microsoft эту проблему ведь как-то решила и UI в Windows работает на два порядка быстрее, чем в X.org > Зато X-приложение может быть запущено и не на твоём хосте. Тормоза, в основном, в этом месте.

Открой для себя службу терминалов и RDP.

anonymous
()
Ответ на: комментарий от anonymous

> Открой для себя службу терминалов и RDP.

Ты совсем ничего не понял. X-Window не нужны такие вещи, совсем не нужны. Это обычный режим работы системы, она по-другому просто не умеет. А всякие службы терминалов и т.д. - это довески. Их, кстати, ещё купить надо.

AS ★★★★★
()
Ответ на: комментарий от no-dashi

> Открой для себя службу терминалов и RDP.
>Тебе было же сказано - ПРИЛОЖЕНИЕ а не весь десктоп.
Оне не в теме. Сейчас будут рассказы о том, как квака через RDP работает :-)

anonymous
()
Ответ на: комментарий от no-dashi

> Тебе было же сказано - ПРИЛОЖЕНИЕ а не весь десктоп.

И, кстати, да. Это тоже. Вот тут, со службой терминалов, сбой в графической подсистеме вынесет именно сервер приложений, не не клиента. :-)

AS ★★★★★
()
Ответ на: комментарий от AS

А апликуха напрямую с железом на клиенте не взаимодействует, напрямую с железом взаимодействует X Server на тонком клиенте, но на тонком клиенте нечего и ломать!

anonymous
()
Ответ на: комментарий от anonymous

>Во вторых, это все таки нельзя считать прямым доступом, потому как осуществляется с помощью отображения портов средствами ядра.

o_O А что же это тогда? Как не прямой, если инструкциями in/out делается?

AsphyX ★★★
()
Ответ на: комментарий от anonymous

>но на тонком клиенте нечего и ломать!
О! К тому же тонкий клиент может быть вообще полностью железным хытерминалом %-)

anonymous
()
Ответ на: комментарий от AS

> Вот тут, со службой терминалов, сбой в графической подсистеме вынесет именно сервер приложений

Совсем не обязательно. На виндовом терминальном сервере каждому сеансу создается свой виртуальный десктоп, достаточно большая часть виндового гуя работает в юзерспейсе, и в юзерском сеансе рисует на этот самый виртуальный десктоп (типа virtual frame-buffer, или Xvnc) - то есть с железом практически не общается, на самом деле.

no-dashi ★★★★★
()
Ответ на: комментарий от anonymous

> напрямую с железом взаимодействует X Server на <не важно> клиенте, но на тонком клиенте нечего и ломать!

А я про что ?

AS ★★★★★
()
Ответ на: комментарий от no-dashi

> На виндовом терминальном сервере каждому сеансу создается свой виртуальный десктоп, достаточно большая часть виндового гуя работает в
> юзерспейсе,

Хорошо, если это помогает...

AS ★★★★★
()
Ответ на: комментарий от anonymous

>Оне не в теме. Сейчас будут рассказы о том, как квака через RDP работает :-)

А оно тебе надо, в кваку с удалённой машины играть? Вся фишка в том, что в 99% случаев (для работы) сетевые возможности иксов не нужны, а когда нужны (для удалённого админа или ещё чего), то там OpenGL и прозрачность нафиг не впилась. Т.е. в режиме локальной работы хочется выжать их железа все, что можно, а в удалённом - минимум необходимого. В иксах получается ни себе, ни людям: для локальной работы сетевая работа создаёт массу проблем, так и не обеспечивая тех возможностей, что даёт та же винда, работая локально. А для сетевой работы реализуется куча вещей, которые особо и не нужны, opengl всякий. Давно пора разделить графическую подсистему на локальную и сетевую.

Eugene_Korobko
()
Ответ на: комментарий от Eugene_Korobko

>Вся фишка в том, что в 99% случаев (для работы) сетевые возможности иксов не нужны

тебе не нужны

>для локальной работы сетевая работа создаёт массу проблем, так и не обеспечивая тех возможностей, что даёт та же винда, работая локально

конкретнее, плз

geek ★★★
()
Ответ на: комментарий от AS

> Ты совсем ничего не понял. X-Window не нужны такие вещи, совсем не нужны. Это обычный режим работы системы, она по-другому просто не умеет. А всякие службы терминалов и т.д. - это довески. Их, кстати, ещё купить надо.

Я совсем все понял. Если удаленно не играть в кваку, а работать, то разницы нет, в вот когда иксы вешают намертво систему, а винда не вешает, то разница есть. Кстати вендовые winstations, которые отображаются через RDP, с железом напрямую не работают, ибо им нахрен рисовать на реально железо не нужно, поэтому и завалить систему не могут.

anonymous
()
Ответ на: комментарий от anonymous

>>>Кстати вендовые winstations, которые отображаются через RDP, с железом напрямую не работают

Ты это в исходниках посмотрел или подсказал кто?

geekkoo
()
Ответ на: комментарий от geek

>тебе не нужны

Ты собираешься спорить с тем, что 99% рабочего времени иксы работают в локальном режиме? Конечно, у кого-то тонкие клиенты, кто-то на серваки без видюх ставит драйвера с GUI интерфейсом. Но в основном - локально. Кстати, зачем тонким клиентам openGL?

>конкретнее, плз Тормоза! Оно и понятно - если по сокетам работать.

Eugene_Korobko
()
Ответ на: комментарий от Eugene_Korobko

>>>Кстати, зачем тонким клиентам openGL?

Отключите на X-сервере GLX extension и не будет у вас OpenGL на тонком клиенте, если оно вам так мешает. Что за дурацкая постановка вопроса - "Зачем ..."

geekkoo
()
Ответ на: комментарий от Eugene_Korobko

>>99% рабочего времени иксы работают в локальном режиме

Блин, зря только флеймил. По-твоему, Х сервер может работать либо в локальном, либо в не локальном режиме? Какое время ты мерять собрался?

geekkoo
()
Ответ на: комментарий от geekkoo

Речь о том, что зачем при реализации поддержки openGL закладываться на возможность сетевой работы (что привносит ограничения и усложнения), если эта фича не нужна? Нужна фича поддержки openGL локально, и если в поддержке openGL ограничиться ситуацией локальной работы, то это позволит упростить и ускорить код.

Eugene_Korobko
()
Ответ на: комментарий от geekkoo

>Х сервер может работать либо в локальном, либо в не локальном режиме?

Да! Либо клиент и сервер на одной машине, либо на разных. У вас есть третий вариант?

Eugene_Korobko
()
Ответ на: комментарий от anonymous

> а винда не вешает,

Вот только сказки не надо рассказывать, что под Win не виснет ничего. Вон, Star Raingers возьми. Хоря SR не вешает, вгоняет XP в ступор минут на 15. Но многое и вешает.



AS ★★★★★
()
Ответ на: комментарий от Eugene_Korobko

>>если эта фича не нужна?

Как это не нужна?
Рассчётная задача на удаленном кластере c 3D визуализацией результатов на локальной машине...
CAD запущенный удаленно...
...
>>если в поддержке openGL ограничиться ситуацией локальной работы, то это позволит упростить и ускорить код.

Ну нету в Х-ах локальной и нелокальной работы как класса. Добавлением лишней сущности ты код не упростишь.

geekkoo
()
Ответ на: комментарий от Eugene_Korobko

> Либо клиент и сервер на одной машине, либо на разных. У вас есть третий вариант?

Естественно есть. Часть приложений запущена локально, часть нет.

AS ★★★★★
()
Ответ на: комментарий от Eugene_Korobko

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

geekkoo
()
Ответ на: комментарий от Eugene_Korobko

>при реализации поддержки openGL закладываться на возможность сетевой работы (что привносит ограничения и усложнения), если эта фича не нужна?
При реализации поддержки DirectX MS закладывается на возможность сетевой работы. Тебя это не смущает? Фича то ненужная, исходя из твоих слов.
>Нужна фича поддержки openGL локально, и если в поддержке openGL ограничиться ситуацией локальной работы, то это позволит упростить и ускорить код.
Дык вперед, с барабанами, бубнами и попутным ветром в локальную спину. Исходники открыты, напиши свою реализацию GLX без поддержки сети, хехе, можно вообще сетевую поддержку от Х-ов оторвать, интересно посмотреть на сие действо :-)
Чувак, ты не в теме, причем явно :-)

anonymous
()
Ответ на: комментарий от Eugene_Korobko

> Кстати, зачем тонким клиентам openGL

Чтобы рисовать UI у программ, "мудрые" авторы которых тоже решили, что интерфейс всегда локальный, и поэтому наделали кульных кнопочек на OpenGL.

execve
()
Ответ на: комментарий от Eugene_Korobko

>Да! Либо клиент и сервер на одной машине, либо на разных. У вас есть третий вариант?
Есть?
X -nolisten tcp - работаем через сокеты
ssh -X user@host prog_name - работаем через сеть :-)
Есть даже 4-й вариант :-)

anonymous
()
Ответ на: комментарий от anonymous

>> в виндовсе переключалка раскладок банально тормозит

>В эстонской локализации - возможно. Ну и на твоем кривом железе тоже. А >у нормальных людей - не тормозит :)

привет нормальный... ;) в Вантуз ХРюше тормозит... и на свежую ставленное и ещё больше после установки МСофиса какого-нить ХР 2003, похоже если тебе оно не тормозит, то значит ты не видел как оно в иксах происходит.... я когда в винды сажусь, постоянно такая телега... контрол шифт и если не посмотрю вовремя, то пару слов точно набросаю английскими буквами вместо русских...

G_Luck
()
Ответ на: комментарий от Eugene_Korobko

>Кстати, зачем тонким клиентам openGL?
X -extension GLX удовлетворит требования "отца локальной демократии, непризнающего сетевой OpenGL" :-)

anonymous
()
Ответ на: комментарий от anonymous

> Кстати вендовые winstations, которые отображаются через RDP, с железом напрямую не работают, ибо им нахрен рисовать на реально железо не нужно, поэтому и завалить систему не могут.

Ты дурак или учишься? Х-приложения завалить систему также принципиально не могут. У моего знакомого xscreensaver иногда зависает, залочив клавиатуру и ни на что не реагирую - caps/scroll/num локи не работают, реакции на кнопки нет, мыши не видно. Однако если зайти по сети и сказать killall X - то X-сервер замечательно прибивается, перестартовывается, и система снова готова к работе. Без всяких перезагрузок.

> вот когда иксы вешают намертво систему, а винда не вешает, то разница есть

Виндовый гуй кладет нафиг всю систему в разы чаще, чем X-ы. Если ты не способен осознать, что зависший X-сервер <> зависшая система, то бегом читать умные книжки. Если осилишь, конечно.

P.S.: книжки microsoft press & умные книжки == 0

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

> Если ты не способен осознать, что зависший X-сервер <> зависшая система,

Это не просто осознать, если у тебя единственный компьютер. Или "killall X" на кнопке, скажем, джойстика, не висит... :-)

AS ★★★★★
()
Ответ на: комментарий от anonymous

Ха-ха ! Дружно все вспоминаем тов. Митника и его визит в Шимомуру.

anonymous
()
Ответ на: комментарий от anonymous

> А апликуха напрямую с железом на клиенте не взаимодействует, напрямую с железом > взаимодействует X Server на тонком клиенте, но на тонком клиенте нечего и ломать!

Ха-ха ! Дружно все вспоминаем тов. Митника и его визит в Шимомуру.

anonymous
()
Ответ на: комментарий от no-dashi

>Однако если зайти по сети и сказать killall X - то X-сервер замечательно прибивается

на этот случай ещё можно юзать специальный хоткей. Какой именно - не помню, потому что по чьему-то недосмотру у меня иксы не виснут :)

geek ★★★
()
Ответ на: комментарий от Eugene_Korobko

>Речь о том, что зачем при реализации поддержки openGL закладываться на возможность сетевой работы (что привносит ограничения и усложнения), если эта фича не нужна? Нужна фича поддержки openGL локально, и если в поддержке openGL ограничиться ситуацией локальной работы, то это позволит упростить и ускорить код.

"когда вы говорите - такое впечатление, что вы бредите"

ну-ка, расскажи, в чём принципиальное отличие между очередью gdi-драйвера и потоком сообщений x-серверу :) И что откуда вырезать, чтобы упростить код

geek ★★★
()
Ответ на: комментарий от anonymous

>Ха-ха ! Дружно все вспоминаем тов. Митника и его визит в Шимомуру.
А еще вспоминаем Морриса и говорим, что *nix системы прям изначально созданы для вирусов, троянов и червей :-)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.