Бредовые мысли об оконной подсистеме
Posted: Tue May 25, 2010 10:04 am
Время от времени в течении пяти-семи лет на форуме обсуждают, что пора бы вынести GUI из ядра.
Возможно, я не первый, у кого появились подобные мысли, но все-таки, мне очень интересно мнение сообщества - имеет ли смысл переходить к экспериментам, или затея не будет стоить и выеденого яйца?
Идея такая. Драйвер для Колибри - по сути, библиотека с немного другим API, выполняющаяся в ring 0 и имеющая только одну копию в памяти для всех запущенных программ, так?
Если функции GUI будет выполнять некоторый "драйвер", то:
1) Код ядра станет проще и легче
2) Код gui-части системы тоже станет "изолирован" и более удобен для правок
3) Потерь в скорости работы оконной подсистемы быть не должно, потому что работает все в ring 0
4) Если не исключать некоторое время (допустим, пару релизов) старый код gui из ядра, то никаких проблем с совместимостью не предвидится - исправленные программы будут работать через "драйвер" оконной системы, неисправленные - обращаться к ядру (а ядро вполне может редиректить их к "драйверу")
Однако, если вся эта ерундовина будет крутиться в ring 0, можно возразить, что это приведет к ослаблению системы в плане безопасности (допустим, замена драйвера оконной подсистемы на вредоносный код). Но сейчас же никто не мешает программам писать напрямую хоть в kernel.mnt?
Вот такие бредовые мысли.
Возможно, я не первый, у кого появились подобные мысли, но все-таки, мне очень интересно мнение сообщества - имеет ли смысл переходить к экспериментам, или затея не будет стоить и выеденого яйца?
Идея такая. Драйвер для Колибри - по сути, библиотека с немного другим API, выполняющаяся в ring 0 и имеющая только одну копию в памяти для всех запущенных программ, так?
Если функции GUI будет выполнять некоторый "драйвер", то:
1) Код ядра станет проще и легче
2) Код gui-части системы тоже станет "изолирован" и более удобен для правок
3) Потерь в скорости работы оконной подсистемы быть не должно, потому что работает все в ring 0
4) Если не исключать некоторое время (допустим, пару релизов) старый код gui из ядра, то никаких проблем с совместимостью не предвидится - исправленные программы будут работать через "драйвер" оконной системы, неисправленные - обращаться к ядру (а ядро вполне может редиректить их к "драйверу")
Однако, если вся эта ерундовина будет крутиться в ring 0, можно возразить, что это приведет к ослаблению системы в плане безопасности (допустим, замена драйвера оконной подсистемы на вредоносный код). Но сейчас же никто не мешает программам писать напрямую хоть в kernel.mnt?
Вот такие бредовые мысли.