如果我使用c编写操作系统,我将如何制作桌面?我可以实现Java,还是有办法做到这一点是C编程语言?我从未在C中使用任何类型的图形做任何事情。是否有人知道答案,更不用说教程或入门方法以及如何编写桌面环境了?
答案 0 :(得分:4)
Linux上的Gnome桌面是用C语言编写的(主要是)。
但如果您编写操作系统,桌面不是您的首选;获得正确的重要事项,如流程,日程安排,线程,驱动程序,保护,身份验证......更重要,也更耗时。
请勿将desktop environment与operating system混淆。大多数计算机(可能是stackoverflow
的Web服务器为您提供这个答案,在某个数据中心运行)没有任何桌面环境。他们确实有一个操作系统。
关于操作系统,请阅读Operating Systems: Three Easy Pieces。您可能正在编写一些kernel,因此请查看osdev.org以获取指导。
关于桌面环境,它们特定于您的操作系统提供和使用的display server。在2019年的Linux机器上,该服务器为Xorg(但您可能正在使用Wayland),与桌面环境相关的规则包括ICCCM& EWMH。 GNOME(以及Xorg
)正在user-mode和user space中投放。