19/09/22 09:05:10.69 ELqtVYPs.net
うまく貼れていない
URLリンク(docs.microsoft.com)(v=technet.10)
通常グラフィックボードとのやりとりはメモリマップドIOで行うんだけど、昔のLinuxの
Xサーバの場合、ユーザモードではrootでないとアクセスができなかったので
Xサーバがrootで動いていた
それだとリモートからの接続が可能なXサーバに問題があるとセキュリティホールに
なってしまうので、一般ユーザでもアクセスできるようにするための仕組みが
カーネルモードで動くDRM
カーネルモードで動くDRMはグラフィックボードにアクセスできる最小限の部分だけで、
あとはXサーバ側にアクセラレーション用のドライバコードを置くようにしている
OpenGLやVulkanも同様にユーザーモードで動作する*.soがドライバで、DRMを
使ってハードウェアにアクセスする形になっている
NT 3.51までも同じで、カーネルモードで動作するミニポートがグラフィックボード
へのアクセスを提供し、CSRSS.EXEがユーザーモードで動作するグラフィック
ドライバを使ってグラフィック機能を提供していて、GDI32.DLLやUSER32.DLLから
プロセス間通信でCSRSS.EXEにアクセスしてグラフィック機能を提供していた
Waylandの場合、weston等のユーザーモードで動作するWayland Compositorが
OpenGL経由でグラフィックボードにアクセスし、ウィンドウ管理等も行っている
Windows Vista以降もユーザーモードで動作するDWM.EXEがWayland Compositorと
同じようなことをしているんだけど、グラフィックドライバは全部カーネルモードで
動いているはず