图书 | LINUX 用户态 C 语言编程原理与实践 |
内容 | 编辑推荐 Linux用户态编程已经变成了服务器、云平台、AI开发者推荐的技能之一。通过本书,我们将为读者提供全面的指导和实用的知识,帮助读者在Linux平台上进行高效的C语言编程。作者肖威轩老师有多年KDE开发经验,用生动形象的方式,系统并深入地阐述了C语言程序设计入门、Linux操作系统的构造,以及系统级API的使用方法,让广大读者能够很好地掌握并灵活使用C语言进行Linux 开发。因此,编辑认为本书是开源项目开发的相关从业者很值得拥有的一本书。 内容推荐 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操作系统及其编程的内部机制和实践技巧。本书提供了全面的指导和实用的知识,也可作为初学者的自学参考书。 目录 前言 第1章Linux操作系统概述/ 1.1用户态与内核态/ 1.1.1硬件特权级、运行模式(x86)/ 1.1.2Linux的用户态与内核态/ 1.2用户态的优势/ 1.2.1用户态的速度优势/ 1.2.2受限的高级功能(中断、DMA)/ 1.2.3更优的内核稳定性/ 1.2.4高吞吐量网络设备/ 1.2.5内核态的copyleft开源协议/ 第2章C语言程序设计与标准库编程/ 2.1桌面Linux使用的glibc简介/ 2.2其他C语言标准库/ 2.2.1uClibc/ 2.2.2musl libc/ 2.2.3BSD libc/ 2.2.4Android Bionic/ 第3章系统调用与Linux系统调用的实现/ 3.1什么是系统调用/ 3.1.1计算机架构、特权级与硬件资源访问/ 3.1.2内核中的系统调用/ 3.1.3系统调用open的实现/ 3.2Linux系统调用的实现(内核态)/ 3.2.1系统调用的通用处理/ 3.2.2x86架构的系统调用实现/ 第4章系统调用与C语言标准库/ 4.1如何基于Linux系统调用实现C语言标准库/ 4.1.1实现标准库的原理与方法/ 4.1.2glibc中的标准库实例/ 4.2基于Linux sysfs在用户态下编写程序控制硬件/ 4.2.1什么是Linux sysfs/ 4.2.2使用C语言标准库文件读写函数控制键盘LED/ 4.2.3使用标准库中提供的系统调用或Shell脚本调节屏幕背光/ 第5章Linux系统用户态驱动API/ 5.1用户态驱动与内核态驱动/ 5.1.1内核中的驱动与字符设备驱动/ 5.1.2内核中的块设备驱动/ 5.1.3内核中的网络设备驱动/ 5.1.4用户态驱动的原理/ 5.1.5在用户态实现驱动的优劣/ 5.2用户态驱动接口Userspace I/O(UIO)/ 5.2.1硬件设备的内存映射/ 5.2.2UIO的用户态API/ 5.2.3基于UIO实现的PCI设备用户态驱动/ 5.3用户态驱动接口VFIO/ 5.3.1VFIO与硬件无关IOMMU的重映射/ 5.3.2使用VFIO实现PCI设备的用户态驱动/ 第6章Linux系统用户态高性能网卡驱动分析/ 6.1Intel网卡用户态驱动的架构/ 6.2Intel网卡用户态驱动ixy的核心实现/ 第7章Linux系统用户态文件系统FUSE分析/ 7.1FUSE在内核中的实现模块/ 7.2FUSE在用户态中的API与基础示例/ 第8章用户态线程——协程/ 8.1Linux内核中线程与进程切换的实现/ 8.1.1线程与进程切换的算法与原理/ 8.1.2线程与进程上下文切换实现/ 8.2Linux环境用户态中含栈协程的实现/ 8.2.1协程的上下文切换实现/ 8.2.2基于用户态的栈实现协程状态 / 第9章基于Android HAL硬件抽象层的用户态驱动/ 9.1Android HAL简介/ 9.1.1Android HAL的作用/ 9.1.2Android HAL的分类/ 9.2HAL中的内核态隔离/ 9.2.1HAL中灯光Light的实现分析/ 9.2.2HAL中内核态部分的实现/ 9.2.3HAL实现内核态GPL隔离的原理/ |
标签 | |
缩略图 | ![]() |
书名 | LINUX 用户态 C 语言编程原理与实践 |
副书名 | |
原作名 | |
作者 | 肖威轩 |
译者 | |
编者 | |
绘者 | |
出版社 | 机械工业出版社 |
商品编码(ISBN) | 9787111754855 |
开本 | 16开 |
页数 | 396 |
版次 | 1 |
装订 | |
字数 | 615 |
出版时间 | 2024-07-01 |
首版时间 | |
印刷时间 | 2024-06-01 |
正文语种 | |
读者对象 | |
适用范围 | |
发行范围 | |
发行模式 | 实体书 |
首发网站 | |
连载网址 | |
图书大类 | 教育考试-考试-计算机类 |
图书小类 | |
重量 | |
CIP核字 | |
中图分类号 | TP316.89;TP312.8 |
丛书名 | |
印张 | |
印次 | 1 |
出版地 | |
长 | |
宽 | |
高 | |
整理 | |
媒质 | |
用纸 | |
是否注音 | |
影印版本 | |
出版商国别 | |
是否套装 | |
著作权合同登记号 | |
版权提供者 | |
定价 | |
印数 | |
出品方 | |
作品荣誉 | |
主角 | |
配角 | |
其他角色 | |
一句话简介 | |
立意 | |
作品视角 | |
所属系列 | |
文章进度 | |
内容简介 | |
作者简介 | |
目录 | |
文摘 | |
安全警示 | 适度休息有益身心健康,请勿长期沉迷于阅读小说。 |
随便看 |
|
兰台网图书档案馆全面收录古今中外各种图书,详细介绍图书的基本信息及目录、摘要等图书资料。