20170626 Linux Window System infrastructure

来源:互联网 发布:欧莱雅 曼秀雷敦 知乎 编辑:程序博客网 时间:2024/06/07 18:37

第一次接触内核和操作系统,没太弄明白,就简单总结自己记得一点概念和知识
Linux视窗的基本概念
内核
Frame Butter ( 帧缓冲(framebuffer)是 Linux 为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。)
Direct Render Management (遇3D成像有关)
用户核心层及驱动层
X Window System
Mesa
用户应用层
GNOME
KDE

DRM
DRI 基础框架,直接与硬件进行操作
kernel/driver/gpn/drm 包含通用代码,相当于一套规范协议,实现具体定制。
I/O control 是文件结构体中的一个接口,调用时实现这个接口。

X Window System
这里写图片描述
X Server
客户端
协议端

X Server控制输入,输出,显示,维护字体,颜色
X Client 实现对应用程序计算的处理,最后返回X Server,由X Server完成操作

这里写图片描述

两者交流的实现 C/S通信协议
这里写图片描述

X Window System的一些概念
display 一套完整的输入输出(screen和输入设备),一个X Server可以多个display
screen
这里写图片描述
Window
这里写图片描述
Drawable
可画的区域
屏幕窗口Window和像素映射bitmap
Graphic Context
这里写图片描述
Drawable相当于画板,Graphic Context相当于画笔

Mesa
opeaGL实现
Direct X Window 3D图形编辑接口
GLU 实现渲染,显示视窗接口
GLUT 对外提供视窗交互的API
DRI
这里写图片描述
GLX
这里写图片描述
wayland的目的是作为一个简单的替代X,更容易发展 和维护。 GNOME和KDE将移植到它。X修补多次,代码太过于臃肿。

图片来自于刘周平学长的PPT。

原创粉丝点击