为了透彻理解Linux的工作机理,以及为何它在各种系统上能顺畅运行,你需要深入到内核的心脏。cPu与外部世界的所有交互活动都是由内核处理的,哪些程序会分享处理器的时间,以什么样的顺序来分享。内核不遗余力地管理有限的内存,以使数以千计的进程有效地共享系统资源。内核还精心组织数据传送,使得cPu不再受限于慢速硬盘。 《深入理解Linux内核》第三版将引领你畅游内核中用到的主要数据结构、算法和编程技巧。如果你的确想了解计算机内部的实现机理,那么作者透过现象探寻本质,提供了颇有价值的深入分析。本书针对具体的Intel平台,讨论了其重要特征,逐行剖析了相关的代码片段。但是,本书涵盖的内容不仅仅局限于代码的机理,还解释了Linux运作方式的理论支撑。 本书第三版涵盖Linux2.6,从中可以看到几乎内核每个子系统都有相当大的变化,首
本书是经典著作《Linux设备驱动程序》的第三版。如果您希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。本书描述了如何针对各种设备编写驱动程序,而在过去,这些内容仅仅以口头形式交流,或者零星出现在神秘的代码注释中。 本书的作者均是Linux社区的领导者。JonathanCorbet虽不是专职的内核代码贡献者,但他是备受关注的LWN.net新闻及信息网站的执行编辑。AlessandroRubini是一名Linux代码贡献者,也是活跃的意大利Linux社区的灵魂人物。GregKroah-Hartman是目前内核中USB、PCI和驱动程序核心子系统(本书均有讲述)的维护者。 本书的这个版本已针对Linux内核的2.6.10版本彻底更新过了。内核的这个版本针对常见任务完成了合理化设计及相应的简化,如即插即用、利用sysfs文件系统和用户
Linux如此的流行正是得益于它的特性丰富并有效的网络协议栈。如果你曾经惊叹于Linux能够实现如此复杂的工作,或者你只是想通过现实中的例子学习现代网络,《深入理解Linux网络内幕》将会给你指导。 同其他O'Reilly的流行书籍一样,《深入理解Linux网络内幕》清楚地阐述了网络的基本概念,并指导你如何用C语言实现。虽然早先的TCP/IP经验是有用的,但初学者通过本书仍然可以学习到协议本身和大量的应用信息。一旦彻底掌握了这些网络工具,你就可以使用本书所附的代码,准确地指出Linux内核中重要的部分如何工作。 网络功能的实现或破坏在不同的时候是由不同的代码块完成的,这正是理解网络和实现它的难点中的一部分。本书的成功之一就是描述这些代码块如何集成,以及众多的函数和数据结构之间的关系。《深入理解Linux网络内幕》不仅描述了Linux
学习用于网络堆栈和应用程序的压力测试工具。 执行网络侦查以确定攻击者可以使用的内容。 使用Metasploit等自动化漏洞利用工具进行渗透测试。 使用破解工具查看密码是否符合复杂性要求。 通过注入帧和破解密码来测试无线网络安全性。 使用自动化或基于代理的工具评估Web应用程序漏洞。 通过扩展Kali工具或开发自己的工具来创建高级攻击技术。 测试完毕后,通过Kali Linux生成报告。
本书针对各种具体问题,提出解决方案,并详细解释了涉及到的技术原理,z后还给出了参考资料以供深入学习。本书的主要内容有:学习使用全新的通用服务管理器systemd。利用firewalld构建简单或复杂的防火墙。保证Linux系统与移动设备间网络连接的安全。抢救无法引导的系统。重置Linux与Windows的用户密码。利用dnsmasq管理局域网名称服务。管理用户与组,控制文件的访问。探测计算机硬件,监控硬件健康。管理GRUB引导加载程序,设置Linux与Windows双启动。通过z新的工具同步网络上所有系统的时间。在树莓派上构建互联网路由器与防火墙。管理文件系统与分区。
和第2版相比,本版内容上的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下: ? 基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。 ? 处理器体系结构修改为支持64位字和操作的设计。 ? 引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。 ? 扩充关于用GOT和PLT创建与位置无关代码的讨论,描述了更加强大的链接技术(比如库打桩)。 ? 增加了对信号处理程序更细致的描述,包括异步信号安全的函数等。 ? 采用函数,更新了与协议无关和线程安全的网络编程。
本书描述了一种恰如其分的架构设计方法。作者建议根据项目面临的风险来调整架构设计的成本,并从多个视角阐述了软件架构的建模过程和方法,包括用例模型、概念模型、域模型、设计模型和代码模型等。本书不仅介绍方法,而且还对方法和概念进行了归类和阐述,将软件架构设计融入开发实践中,与敏捷开发方法有机地结合在一起,适合普通程序员阅读。
设备驱动程序是高级应用程序与硬件设备之间的桥梁。驱动程序开发是软硬件结合的技术。本书专门介绍Linux设备驅动程序开发,涵盖了Linux驱动程序基础、内核移植、I2C驱动程序、LCD驱动程序、网络驱动程序、USB驱动程序、输入子系统驱动程序、块设备驱动程序等内容。本书以实例为主线,是为Linux设备驱动程序开发人员量身打造的精品学习图书和实战指南。本书提供了丰富的实例代码和详细的注释,并附赠完整代码光盘一张。 本书主要面向各层次的嵌入式Linux开发工程师,也可以作为各类嵌入式系统培训机构的培训教材和高校计算机课程的教辅书籍。
1张好的图表能够节省1000句话,但我们见到的95%以上的图表都非常糟糕。为什么我们拥有具备各种先进功能的制图软件,却还是做不出一目了然的图表? 日本资深设计师告诉你,你不缺写作技巧,也不缺艺术性或创新,缺的只是一点点制图的基本知识!本书提供了制作清晰图表的3大步骤、5大制图要点、49组失败案例vs改善示例、100+制图小诀窍,手把手教你做出连专业人士都相形见绌的图表。无论是工作汇报、网站宣传,还是平面设计、数据分析,任何工作都适用! 翻开本书,成为会做图表的大牛人!
《安卓传奇:Android缔造团队回忆录》讲述了Android如何从一个无法引起投资者兴趣的相机软件发展成为安装在全球30亿台设备上的移动操作系统的故事。作者花了四年时间,采访了早期Android团队的大部分成员,让这些鲜为人知的精彩故事得以保存下来,并以幽默诙谐的笔风呈现给读者。 作者按照时间顺序讲述了这家初创公司是如何起步的,团队成员是如何走到一起的,以及他们是如何构建出这个操作系统的。这个雄心勃勃的项目从脆弱的低谷开始,这家初创公司最终被谷歌收购,并在激烈的行业竞争中披荆斩棘,成为席卷全球的移动操作系统。 《安卓传奇:Android缔造团队回忆录》讲述的是Android的故事,任何对这个行业或产品感兴趣的人都可以阅读它,包括软件技术开发者、手机用户、产品经理、市场人员和公司高层决策人员,等等。
本书结合大量实验程序和图表,通俗易懂地介绍了Linux操作系统的运行原理和硬件的基础知识,涉及进程管理、进程调度器、内存管理、存储层次、文件系统和外部存储器等。实验程序使用C语言和Python编写,读者可亲自动手运行程序,来确认系统的行为。另外,以图解的方式介绍各知识点,简明且直观,能够帮助读者加深理解。读者只需对Linux基本命令有所了解,即可轻松阅读。本书适合应用程序开发人员、系统设计师、运维管理人员和技术支持人员等人士阅读。
编写本书是为了向学生和专业人员提供在Linux内核中实现网络功能时所需的基础知识,本书也适合所有希望深入理解操作系统内部网络特定进程的人。本书介绍了Linux内核的关键网络组件及机制,同时也介绍了通信系统的设计。 本书详细地描述了新近Linux内核版本中的网络子系统。 这里解释了协议的工作方式,建立了Linux网络体系结构中的多种重要概念——从设备驱动程序概念一直到应用程序接口概念。 除了PPP、IP、防火墙、路由、TCP、NAT、UDP及套接字等核心问题外,本书还讨论了的协议及协议扩展,譬如各种DSL访问技术中用到的PPPoE协议、Bluetooth(蓝牙)?驱动程序及QoS(Quality-of-Service,服务质量)支持等。
本书是知名度颇高的Linux入门书《鸟哥的Linux私房菜基础学习篇》的新版,全面而详细地介绍了Linux操作系统。 全书分为五部分:部分着重说明计算机的基础知识、Linux的学习方法,如何规划和安装Linux主机以及CentOS 7.x的安装、登录与求助方法;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全很好重要的Linux账号的管理、磁盘配额、不错文件系统管理、计划任务以及进程管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 本书内容丰富全面,基本概念的讲解很好细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操
《新编操作系统习题与解析》按照操作系统教学大纲的要求,并参照全国联考大纲编写。全书共6章,主要内容包括:操作系统概述、处理器管理、进程同步、通信和死锁、存储器管理、文件管理及设备管理。每章按知识点分节,每节先总结核心概念和基本原理,然后通过大量习题及近年考研试题,对相关知识点进行了详细、深入、透彻地分析,使学生充分掌握求解操作系统问题的思想和方法,深化对基本概念的理解,提高分析与解决问题的能力。 《新编操作系统习题与解析》不仅可以作为计算机专业本、专科学生学习操作系统课程的参考书,也是报考计算机专业硕士研究生的参考资料,同时适合于操作系统课程自学者和计算机等级(三级或四级)考试者研习。
通过本书,你将会学习OpenEmbedded构建系统如何工作、如何编写菜谱来构建你自己的软件组件、如何使用和创建Yocto项目板支持包来支持不同的硬件平台以及如何调试构建失败。你将学习如何为应用开发构建软件开发包以及如何为无缝的往返做开发并将它们和流行的Eclipse集成开发环境(IntegratedDevelopmentEnvironment,IDE)集成起来。