内容简介
Linux操作系统上的用户态编程是通过系统调用提供的接口,将原本需要在Linux内核中或者对Linux内核进行多次系统调用才能实现的功能,放到内核之外来实现,从而保证内核的稳定性,获得更强的可拓展性,并且可以将Linux内核的传染性开源协议隔离。
全书共分9章,第1、2章从用户态与内核态的基本概念入手,简要介绍C语言标准库编程以及各种C语言标准库。第3章深入介绍系统调用的概念和计算机架构、特权级与硬件资源访问限制的关系,以及内核中系统调用的处理方式。第4章涵盖了系统调用与C语言标准库的关系,介绍如何基于Linux系统调用实现C语言标准库。第5章深入介绍了Linux系统用户态驱动API的使用和分析,包括Userspace I/O (UIO)接口的使用和VFIO等用户态驱动接口的使用。第6~9章涵盖了高性能网卡Linux用户态驱动分析、用户态文件系统FUSE分析、用户态线程——协程和基于Android HAL硬件抽象层的用户态驱动,介绍了操作系统中各个关键组件在用户态中的实现方法。
本书主要适合中高级应用程序开发者、内核开发者、Linux云服务器开发者阅读,有助于读者深入了解Linux操作系统及其编程的内部机制和实践技巧。本书提供了全面的指导和实用的知识,也可作为初学者的自学参考书。
全书共分9章,第1、2章从用户态与内核态的基本概念入手,简要介绍C语言标准库编程以及各种C语言标准库。第3章深入介绍系统调用的概念和计算机架构、特权级与硬件资源访问限制的关系,以及内核中系统调用的处理方式。第4章涵盖了系统调用与C语言标准库的关系,介绍如何基于Linux系统调用实现C语言标准库。第5章深入介绍了Linux系统用户态驱动API的使用和分析,包括Userspace I/O (UIO)接口的使用和VFIO等用户态驱动接口的使用。第6~9章涵盖了高性能网卡Linux用户态驱动分析、用户态文件系统FUSE分析、用户态线程——协程和基于Android HAL硬件抽象层的用户态驱动,介绍了操作系统中各个关键组件在用户态中的实现方法。
本书主要适合中高级应用程序开发者、内核开发者、Linux云服务器开发者阅读,有助于读者深入了解Linux操作系统及其编程的内部机制和实践技巧。本书提供了全面的指导和实用的知识,也可作为初学者的自学参考书。