LINUX.ORG.RU

UNIX альтернативная реализация иксам


0

0

Многие ругают клиент серверную архитектуру иксов, дескать много ресурсов жрет.

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

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

★★★★

>не вынося ничего в ядро

Уже выносят ) Тот же kms, page-flipping ioctl итд.

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

Я имею в виду вызов процедур. Т.е сейчас чтобы нарисовать окошко надо отправить что-то чрезе сокет. Если убрать сокет (как узкое место), то надо придумтаь как взаимодействовать ;)

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

В wayland рисованием занимается сам клиент? А это не плохо для безопасности? Бажная программа может нарисовать черти что, или занять весь экран.

OxiD ★★★★
() автор топика

> А как еще реализовать подобное в юниксе/линуксе не вынося ничего в ядро?

А зачем не выносить в ядро работу с видео_устройством_?

Какие есть альтернативные архитектуры графической системы


win32

и где можно почитать об этом?


http://www.google.com

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

Нет, не работу с видео устройством, а более прикладные вещи, рисование окошек, скажем. Это же не жрайвер делает.

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

А разве он не шлет команды на сервер по протоколу glx ? как это будет работать, если клиент на другой машине стоит?

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

В win32 видео сервер находится в ядре как раз.

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

Блин, видеокарта не перетаскивает сама окошки по координатам от мышки, и понятия не имеет какие должны быть кнопки на окошке, и какие окошки под окошком находится, и кто список программ по альт-таб рисует?

Это должен делать некий видео сервер, а не видеокарта же, и он должен быть один на всех (имхо, если можно сделать надежную децентрализованную граф. систему - это будет ответ на мой вопрос).

В винде его вынесли в ядро, и там хорошая производительность, т.к для обращения к графике юзаются быстрые АПИ вызовы.

В Иксах для обращения юзаются сокеты. Которые медленные.

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

Если сетевое взаимодействие нафиг не нужно? (кому нужно - поставят обычные иксы).



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

Ну, не из серьезных исследований, жто точно ;)

А я не прав? Если нет, то где тогда узкое место?

OxiD ★★★★
() автор топика

> Многие ругают клиент серверную архитектуру иксов, дескать много ресурсов жрет.

Ругают, но убедительных обоснований для своей ругани (что якобы во всём виновата клиент-серверная архитектура) привести не могут.

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

Да собственно я не критиковать иксы сюда написал. Мне было интересно послушать про альтренативные реализации.

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

Наверное, не совсем в тему будет, но мне доставляет безмерно вот такая штука: http://home.comcast.net/~fbui/

Доставляет тот момент, что окно на экране чем-то аналогично файлу на диске, либо же виртуальному адресному пространству внутри физической оперативной памяти. Следовательно менеджить окна - задача ОС.

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

> Доставляет тот момент, что окно на экране чем-то аналогично файлу на диске, либо же виртуальному адресному пространству внутри физической оперативной памяти. Следовательно менеджить окна - задача ОС.

прям как в Plan 9 и Inferno... =)

korvin_ ★★★★★
()

Просто как shared library, с рядом syscall-ов для взаимодействия с драйверами, зачем какие то серверы придумывать.

Legioner ★★★★★
()

Х вообще ужасный тормоз. Кто виноват - сейчас уже сложно сказать

namezys ★★★★
()

>...и где можно почитать об этом?

да хотябы про xv extension почитай на википедии. все вопросы отпадут.

Можно ещё исходники иксов почитать ;)

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

Если убрать сокет (как узкое место), то надо придумтаь как взаимодействовать ;)

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

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