• Android 系统图形栈(二):OpenGL ES 库和 EGL 库加载过程

    1. OpenGL ES 和 OpenGL ES 库的区别 OpenGL ES : 它本身只是一个协议规范,定义了一套可以供上层应用程序进行调用的 API,它抽象了 GPU 的功能,使应用开发者不必关心底层的 GPU 类型和具体实现。 OpenGL ES 库:OpenGL ES...


  • Android 系统图形栈(一): OpenGL ES 和 EGL 介绍

    OpenGL ES 什么是 OpenGL ES? OpenGL ES(OpenGL for Embedded Systems)是 OpenGL 三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计,各显卡制造商和系统制造商来实现这组 API。1 OpenGL 基本概念 因为 OpenGL ES 是 OpenGL...


  • Linux I/O 模型详解

    Linux I/O 模型 在 Linux/Unix 系统环境下进行 I/O 编程时,我们经常会遇到这些似懂非懂的名词: Synchronous I/O Asynchronous I/O Blocking I/O Non-blocking I/O 首先,这里讲的 I/O 指的是用户空间的 I/O,并且主要侧重于网络编程中的...


  • Linux 内核加载启动过程分析

    本文是基于 Linux Kernel 4.4.49 版本内核源码中的 x86 32 位体系结构进行分析。 BIOS 传统模式下的 X86 PC 启动过程 什么是 BIOS? 简单来说 BIOS 也是一段程序代码,但是它比较特殊,它是 CPU 启动后执行的第一段代码,存储在...


  • ramfs, tmpfs, rootfs, initramfs的区别

    什么是 ramfs? Ramfs 是一个空间大小动态可变的基于 RAM 的文件系统,它是Linux 用来实现磁盘缓存(page cache and dentry cache)的文件系统。 ramfs 是一个仅存在与内存中文件系统,它没有后备存储(例如磁盘),也就是说 ramfs 文件系统所管理的文件都是存放在内存中,而不存放在磁盘中,如果计算机掉电关闭,那么 ramfs 文件系统中所有文件也就都没有了。 当普通磁盘中的文件被操作系统加载到内存中并分配 page 来存储文件中的内容,然后进程通过读写内存中文件对应的...