登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2024年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年12月出版新書

2024年11月出版新書

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

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

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

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

售價:NT$ 760

我要買

share:

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



新書推薦:
谁是窃书之人 日本文坛新锐作家深绿野分著 无限流×悬疑×幻想小说
《 谁是窃书之人 日本文坛新锐作家深绿野分著 无限流×悬疑×幻想小说 》

售價:NT$ 254.0
一个经济杀手的自白 第3版
《 一个经济杀手的自白 第3版 》

售價:NT$ 505.0
8秒按压告别疼痛
《 8秒按压告别疼痛 》

售價:NT$ 398.0
津巴多时间心理学:挣脱束缚、改写命运的6种时间观
《 津巴多时间心理学:挣脱束缚、改写命运的6种时间观 》

售價:NT$ 352.0
大英博物馆东南亚简史
《 大英博物馆东南亚简史 》

售價:NT$ 806.0
纯粹·我只要少许
《 纯粹·我只要少许 》

售價:NT$ 367.0
经济史的趣味(全新增订版)(经济史与思想史丛书)
《 经济史的趣味(全新增订版)(经济史与思想史丛书) 》

售價:NT$ 383.0
中国古代鬼神录
《 中国古代鬼神录 》

售價:NT$ 866.0

建議一齊購買:

+

NT$ 862
《 鸿蒙操作系统设计原理与架构 》
+

NT$ 403
《 CCF CSP第一轮认证一本通 》
+

NT$ 454
《 Linux使用和管理指南:从云原生到可观测性 [奥]迈克尔·豪森布拉斯 》
+

NT$ 305
《 Ubuntu Linux操作系统标准教程(实战微课版) 》
+

NT$ 658
《 Ansys2024有限元分析从入门到精通 胡仁喜、康士廷等 》
+

NT$ 690
《 Windows内核编程 》
編輯推薦:
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.tw
Copyright (C) 2013 - 2025 (香港)大書城有限公司 All Rights Reserved.