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

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

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

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

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

售價:NT$ 775

我要買

share:

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



新書推薦:
美器:中国古代物质文化九讲
《 美器:中国古代物质文化九讲 》

售價:NT$ 874.0
谜托邦:故事新编
《 谜托邦:故事新编 》

售價:NT$ 411.0
百年“巨富长”——建筑中的人文与历史
《 百年“巨富长”——建筑中的人文与历史 》

售價:NT$ 374.0
鲁迅“传统”与余华的小说创作
《 鲁迅“传统”与余华的小说创作 》

售價:NT$ 458.0
性心理学(裸脊锁线装,一部剖析性心理的百科全书,一本好读实用的性学指南)
《 性心理学(裸脊锁线装,一部剖析性心理的百科全书,一本好读实用的性学指南) 》

售價:NT$ 291.0
抢人:数字时代如何快速吸纳精准人才(美国商业图书大奖AXIOM年度图书)
《 抢人:数字时代如何快速吸纳精准人才(美国商业图书大奖AXIOM年度图书) 》

售價:NT$ 302.0
给好奇者的黑洞简史
《 给好奇者的黑洞简史 》

售價:NT$ 307.0
债务机器:美国的银行政策与个人陷阱
《 债务机器:美国的银行政策与个人陷阱 》

售價:NT$ 359.0

編輯推薦:
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 - 2024 (香港)大書城有限公司 All Rights Reserved.