登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書

『簡體書』Linux 用户态 C 语言编程原理与实践 肖威轩

書城自編碼: 4008647
分類:簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: 肖威轩
國際書號(ISBN): 9787111754855
出版社: 机械工业出版社
出版日期: 2024-07-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 171.4

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
20世纪40年代以来中国大陆海岸线演变特征
《 20世纪40年代以来中国大陆海岸线演变特征 》

售價:HK$ 423.2
更好的行为:给教师的指南(教师成长系列)
《 更好的行为:给教师的指南(教师成长系列) 》

售價:HK$ 78.2
闽南佛教寺庙建筑艺术与景观研究
《 闽南佛教寺庙建筑艺术与景观研究 》

售價:HK$ 181.7
烧掉你的船:将焦虑转化为积极行动的9个策略
《 烧掉你的船:将焦虑转化为积极行动的9个策略 》

售價:HK$ 68.8
虚无主义与崇高的后现代:从浪漫主义到后现代主义一段艰难关系的历史(故事)
《 虚无主义与崇高的后现代:从浪漫主义到后现代主义一段艰难关系的历史(故事) 》

售價:HK$ 90.9
图解昆虫学
《 图解昆虫学 》

售價:HK$ 572.7
银幕艳史:都市文化与上海电影(1896-1937)(典藏本)
《 银幕艳史:都市文化与上海电影(1896-1937)(典藏本) 》

售價:HK$ 147.2
淮南子的思想世界
《 淮南子的思想世界 》

售價:HK$ 78.2

 

編輯推薦:
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操作系统及其编程的内部机制和实践技巧。本书提供了全面的指导和实用的知识,也可作为初学者的自学参考书。
關於作者:
肖威轩,本科毕业于上海大学,硕士毕业于法国贡比涅技术大学,从法国克莱蒙-奥弗涅大学综合理工学院获得计算机专业的哲学博士学位。
曾在法国电力公司从事Linux环境中的智能电网充电桩协议栈开发等工作,现于法国巴黎初创公司进行人工智能伦理的研究与应用,包括在Linux环境中的人工智能模型运行环境和监控等。
长期致力于开源贡献、包括Linux应用程序与内核开发,对Linux驱动、嵌入式Linux和实时系统等有诸多了解与实践,并持续参与KDE社区的Linux桌面环境社区的开发与维护。
已于SCI索引刊物上发表多篇文章,于IEEE会议发表会议论文数篇。
目錄
前言
第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 语言编程原理与实践》,在本书中,我们将探索Linux操作系统下用户态的C语言编程,并从用户态技术在内核态中的实现过程里,深入了解其原理和实践技巧。在Linux操作系统问世三十多年之际,开源的服务器操作系统也被越来越多的人所接受,而世界上各科技公司对开源的Linux操作系统也更为广泛地接受。比如微软的态度,从鲍尔默任CEO时期的“Linux是癌症”,变为了纳德拉时期的拥抱移动和云,在微软的Azure云平台上也可以看到大量开箱即用的Linux发行版镜像。因此,Linux用户态编程已经变成了服务器、云平台、AI开发者的技能之一。通过本书,我们将为您提供全面的指导和实用的知识,帮助您在Linux平台上进行高效的C语言编程。
笔者作为开源软件的拥趸,从初中就开始尝试接触和使用桌面版Linux发行版,此后通过参与各种开源项目成为KDE桌面开源软件社区的长期贡献者、开发者和维护者。笔者在高中开始自学C语言,由于其是一门偏向底层的、与硬件联系紧密的语言,在教学与应用之间存在着巨大的鸿沟,往往与理工科专业的就业需求脱节。在与他人交流C语言学习过程的感受时,笔者得到最多的评价就是“C语言无法写出有用的程序”,这是因为C语言的教学过程中往往只能教授C语言的语法,于是在此过程中只能编译出“黑漆漆”的控制台程序,无法为写代码的人带来成就感的正反馈。笔者在当时的学习期间也有类似的感受。在越来越多地接触到嵌入式C语言开发、各开源社区使用C语言编写的软件后,笔者认识到C语言其实是一个极其方便的底层操作工具,可以和操作系统无缝衔接。基本上所有操作系统都有一套C语言编程接口,例如微软Windows操作系统的WIN32接口、Linux和UNIX家族操作系统的POSIX C接口和macOS的Cocoa接口,因此非常适合编写系统软件。而C语言教学与应用之间的鸿沟其实来自对C语言之外的概念的了解,如操作系统中的概念、文件系统和硬件驱动等。
恰逢笔者正在攻读博士、大量产出文本期间,因此笔者决定结合自身经历和经验,调研并尝试编写本书,对现今已存在的Linux用户态编程的一些极具代表性的应用及其原理,以及在Linux内核中的实现进行讲解。代表性的应用包括用户态网卡硬件驱动、用户态文件系统、用户态线程(或称协程)和在移动设备上运行的Android Linux中的用户态实现的硬件抽象层等。本书的开始部分会先回顾Linux和C语言的一些基础知识,然后介绍Linux中的用户态和内核态之间的桥梁——系统调用,以及基于系统调用实现的C标准库。紧接着对Linux内核中的硬件驱动部分进行简要介绍,进而从用户态网卡硬件驱动开启应用部分的讲解。经过用户态文件系统和用户态线程部分对Linux内核中的接口的实现以及用户态中对接口使用的讲解,最后以Android操作系统的硬件抽象层作为结束。
本书的创作源于机械工业出版社李晓波老师的邀请,首先在这里对李老师表达笔者诚挚的谢意。在本书创作过程中,家人、朋友和同事的支持也是必不可少的,在本书编写和修改期间发生了各种各样的事情,遇到了形形色色的人,在此感谢陪我一路走来的妻子黄茜,以及父母肖战军和刘艳枝,谨以此书献给因病不幸去世的妹妹刘嘉涵,感谢在日本交换期间和最困难的时候陪伴了笔者的Arts Yang博士。
通过阅读本书,您将深入了解Linux操作系统和获得用户态C语言编程的宝贵知识和实践技巧。无论是初学者还是有经验的开发者,相信本书都将成为您在Linux平台上进行“有用”的开发与编程的指南和良师益友。
最后,感谢您的阅读和支持。衷心希望本书能够满足您的学习需求,启发您的思考,并成为您在Linux用户态甚至内核态编程领域的伙伴和引路人。祝愿您阅读愉快,愿本书能够帮助您在Linux用户态C语言编程的旅程中取得成功。
肖威轩

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.