在Linux中的非GUI环境中,一个带有printf函数的简单c++程序在必须在显示器上写东西时,实际上使用‘写’系统调用调用内核。
Linux中的GUI环境会发生什么?我不敢相信这么多的图形是通过系统调用完成的!
我的猜测是,GUI应用程序在运行时访问opengl库,该库通过设备驱动程序访问GPU,而不调用内核中的任何系统调用。是这样的吗?如果不是,请您解释一下GUI应用程序在运行时如何在屏幕上创建图形?
发布于 2014-03-08 09:24:12
我刚刚了解到x窗口直接访问显示设备的I/O端口,而不使用内核的设备驱动程序。它使用iopl()和ioperm()系统调用来寻求访问I/O端口的权限。OpenGL无法直接访问显示设备。它通过设备驱动程序访问它。
x直接访问硬件。OpenGL需要设备驱动程序
https://stackoverflow.com/questions/22258072
复制相似问题