
包邮LINUX 用户态 C 语言编程原理与实践

- ISBN:9787111754855
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:396
- 出版时间:2024-07-01
- 条形码:9787111754855 ; 978-7-111-75485-5
本书特色
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环境中的智能电网充电桩协议栈开发等工作,现于法国巴黎初创公司进行人工智能伦理的研究与应用,包括在Linux环境中的人工智能模型运行环境和监控等。
长期致力于开源贡献、包括Linux应用程序与内核开发,对Linux驱动、嵌入式Linux和实时系统等有诸多了解与实践,并持续参与KDE社区的Linux桌面环境社区的开发与维护。
已于SCI索引刊物上发表多篇文章,于IEEE会议发表会议论文数篇。
-
硅谷之火-人与计算机的未来
¥13.7¥39.8 -
造神:人工智能神话的起源和破除 (精装)
¥49.4¥88.0 -
专业导演教你拍好短视频
¥13.8¥39.9 -
数学之美
¥41.0¥69.0 -
系统性创新手册(管理版)
¥42.6¥119.0 -
计算机网络技术
¥24.1¥33.0 -
Excel函数.公式与图表
¥16.4¥48.0 -
.NET安全攻防指南(下册)
¥89.0¥129.0 -
.NET安全攻防指南(上册)
¥89.0¥129.0 -
人工智能的底层逻辑
¥55.3¥79.0 -
数据挖掘技术与应用
¥52.0¥75.0 -
计算
¥92.2¥128.0 -
MIDJOURNEY AI绘画从入门到精通
¥71.5¥98.0 -
商业产品分析:从用户数据获得商业洞见的数据科学方法
¥89.0¥129.0 -
老年人学电脑
¥34.9¥49.9 -
超简单:用python+ ChatGPT让excel飞起来
¥48.4¥79.0 -
人工智能AI摄影与后期修图从小白到高手:MIDJOURNEY+PHOTOSHOP
¥56.9¥98.0 -
人月神话(纪念典藏版)
¥68.6¥98.0 -
十堂极简人工智能课
¥31.9¥49.0 -
精益数据分析 珍藏版
¥69.5¥119.8