欢迎来到相识电子书!

标签:内核

  • Linux设备驱动开发详解

    作者:宋宝华

    本书是一本介绍Linux设备驱动开发理论、框架与实例的书,本书以Linux 2.6版本内核为蓝本,详细介绍自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和I/O映射以及异步通知、阻塞I/O、非阻塞I/O等Linux 设备驱动理论;字符设备、块设备、TTY设备、IC设备、LCD设备、音频设备、USB设备、网络设备、PCI设备等Linux设备驱动的架构和框架中各个复杂数据架构和函数的关系,并讲解了Linux驱动开发的大量实例,使读者能够独立开发各类Linux设备驱动。本书内容全面,实例丰富,操作性强,语言通俗易懂,适合广大Linux开发人员、嵌入式工程师参考使用。 目录 第1篇 Linux设备驱动入门 第1章 设备驱动概述 1.1 设备驱动的作用 1.2 无操作系统时的设备驱动 1.3 有操作系统时的设备驱动 1.4 Linux设备驱动 1.4.1 设备的分类及特点 1.4.2 Linux设备驱动与整个软硬件系统的关系 1.4.3 编写Linux设备驱动的技术基础 1.4.4 Linux设备驱动的学习方法 1.5 设备驱动的HelloWorld:LED驱动 1.5.1 无操作系统时的LED驱动 1.5.2 Linux系统下的LED驱动 第2章 驱动设计的硬件基础 2.1 处理器 2.1.1 通用处理器 2.1.2 数字信号处理器 2.2 存储器 2.3 接口与总线 2.3.1 串口 2.3.2 I2C总线 2.3.3 USB 2.3.4 以太网接口 2.3.5 ISA总线 2.3.6 PCI和cPCI 2.4 CPLD和FPGA 2.5 原理图分析 2.5.1 原理图分析的内容 2.5.2 原理图的分析方法 2.6 硬件时序分析 2.6.1 时序分析的概念 2.6.2 典型硬件时序 2.7 仪器仪表使用 2.7.1 万用表 2.7.2 示波器 2.7.3 逻辑分析仪 2.8 总结 第3章 Linux内核及内核编程 3.1 Linux内核的发展与演变 3.2 Linux2.6内核的特点 3.3 Linux内核的组成 3.3.1 Linux内核源代码目录结构 3.3.2 Linux内核的组成部分 3.3.3 Linux内核空间与用户空间 3.4 Linux内核的编译及加载 3.4.1 Linux内核的编译 3.4.2 Kconfig和Makefile 3.4.3 Linux内核的引导 3.5 Linux下的C编程 3.5.1 Linux程序命名习惯 3.5.2 GNUC与ANSIC 3.5.3 do{}while(0) 3.5.4 goto 3.6 总结 第2篇 Linux设备驱动核心理论 第4章 Linux内核模块 4.1 Linux内核模块简介 4.2 Linux内核模块的程序结构 4.3 模块加载函数 4.4 模块卸载函数 4.5 模块参数 4.6 导出符号 4.7 模块声明与描述 4.8 模块的使用计数 4.9 模块的编译 4.10 模块与GPL 4.11 总结 第5章 Linux文件系统与设备文件系统 5.1 Linux文件操作 5.1.1 文件操作的相关系统调用 5.1.2 C库函数的文件操作 5.2 Linux文件系统 5.2.1 Linux文件系统目录结构 5.2.2 Linux文件系统与设备驱动 5.3 devfs设备文件系统 5.4 udev设备文件系统 5.4.1 udev与devfs的区别 5.4.2 sysfs文件系统与Linux设备模型 5.4.3 udev的组成 5.4.4 udev规则文件 5.4.5 创建和配置udev 5.5 总结 第6章 字符设备驱动 6.1 Linux字符设备驱动结构 6.1.1 cdev结构体 6.1.2 分配和释放设备号 6.1.3 file_operations结构体 6.1.4 Linux字符设备驱动的组成 6.2 globalmem虚拟设备实例描述 6.3 globalmem设备驱动 6.3.1 头文件、宏及设备结构体 6.3.2 加载与卸载设备驱动 6.3.3 读写函数 6.3.4 seek()函数 6.3.5 ioctl()函数 6.3.6 使用文件私有数据 6.4 globalmem驱动在用户空间的验证 6.5 总结 第7章 Linux设备驱动中的并发控制 7.1 并发与竞态 7.2 中断屏蔽 7.3 原子操作 7.3.1 整型原子操作 7.3.2 位原子操作 7.4 自旋锁 7.4.1 自旋锁的使用 7.4.2 读写自旋锁 7.4.3 顺序锁 7.4.4 读-拷贝-更新 7.5 信号量 7.5.1 信号量的使用 7.5.2 信号量用于同步 7.5.3 完成量用于同步 7.5.4 自旋锁vs信号量 7.5.5 读写信号量 7.6 互斥体 7.7 增加并发控制后的globalmem驱动 7.8 总结 第8章 Linux设备驱动中的阻塞与非阻塞I/O 8.1 阻塞与非阻塞I/O 8.1.1 等待队列 8.1.2 支持阻塞操作的globalfifo设备驱动 8.1.3 在用户空间验证globalfifo的读写 8.2 轮询操作 8.2.1 轮询的概念与作用 8.2.2 应用程序中的轮询编程 8.2.3 设备驱动中的轮询编程 8.3 支持轮询操作的globalfifo驱动 8.3.1 在globalfifo驱动中增加轮询操作 8.3.2 在用户空间验证globalfifo设备的轮询 8.4 总结 第9章 Linux设备驱动中的异步通知与异步I/O 9.1 异步通知的概念与作用 9.2 Linux异步通知编程 9.2.1 Linux信号 9.2.2 信号的接收 9.2.3 信号的释放 9.3 支持异步通知的globalfifo驱动 9.3.1 在globalfifo驱动中增加异步通知 9.3.2 在用户空间验证globalfifo的异步通知 9.4 Linux2.6异步I/O 9.4.1 AIO概念与GNUC库函数 9.4.2 使用信号作为AIO的通知 9.4.3 使用回调函数作为AIO的通知 9.4.4 AIO与设备驱动 9.5 总结 第10章 中断与时钟 10.1 中断与定时器 10.2 Linux中断处理程序架构 10.3 Linux中断编程 10.3.1 申请和释放中断 10.3.2 使能和屏蔽中断 10.3.3 底半部机制 10.3.4 实例:S3C2410实时钟中断 10.4 中断共享 10.5 内核定时器 10.5.1 内核定时器编程 10.5.2 实例:秒字符设备 10.6 内核延时 10.6.1 短延迟 10.6.2 长延迟 10.6.3 睡着延迟 10.7 总结 第11章 内存与I/O访问 11.1 CPU与内存和I/O 11.1.1 内存空间与I/O空间 11.1.2 内存管理单元MMU 11.2 Linux内存管理 11.3 内存存取 11.3.1 用户空间内存动态申请 11.3.2 内核空间内存动态申请 11.3.3 虚拟地址与物理地址关系 11.4 设备I/O端口和I/O内存的访问 11.4.1 LinuxI/O端口和I/O内存访问接口 11.4.2 申请与释放设备I/O端口和I/O内存 11.4.3 设备I/O端口和I/O内存访问流程 11.4.4 将设备地址映射到用户空间 11.5 I/O内存静态映射 11.6 DMA 11.6.1 DMA与Cache一致性 11.6.2 Linux下的DMA编程 11.7 总结 第12章 Linux字符设备驱动综合实例 第3篇 Linux设备驱动实例 第13章 Linux块设备驱动 第14章 Linux终端设备驱动 ……
  • Linux Device Drivers

    作者:Jonathan Corbet,Ales

    Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O'Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information you'll need to write drivers for a wide range of devices. Over the years the book has helped countless programmers learn: * how to support computer peripherals under the Linux operating system * how to develop and write software for new hardware under Linux * the basics of Linux operation even if they are not expecting to write a driver The new edition of Linux Device Drivers is better than ever. The book covers all the significant changes to Version 2.6 of the Linux kernel, which simplifies many activities, and contains subtle new features that can make a driver both more efficient and more flexible. Readers will find new chapters on important types of drivers not covered previously, such as consoles, USB drivers, and more. Best of all, you don't have to be a kernel hacker to understand and enjoy this book. All you need is an understanding of the C programming language and some background in Unix system calls. And for maximum ease-of-use, the book uses full-featured examples that you can compile and run without special hardware. Today Linux holds fast as the most rapidly growing segment of the computer market and continues to win over enthusiastic adherents in many application areas. With this increasing support, Linux is now absolutely mainstream, and viewed as a solid platform for embedded systems. If you're writing device drivers, you'll want this book. In fact, you'll wonder how drivers are ever written without it.
  • 深度探索Linux操作系统

    作者:王柏生

    《深度探索linux操作系统:系统构建和原理解析》是探索linux操作系统原理的里程碑之作,在众多的同类书中独树一帜。它颠覆和摒弃了传统的从阅读linux内核源代码着手学习linux操作系统原理的方式,而是基于实践,以从零开始构建一个完整的linux操作系统的过程为依托,指引读者在实践中去探索操作系统的本质。这种方式的妙处在于,让读者先从宏观上全面认清一个完整的操作系统中都包含哪些组件,各个组件的作用,以及各个组件间的关系,从微观上深入理解系统各个组件的原理,帮助读者达到事半功倍的学习效果,这是作者潜心研究linux操作系统10几年的心得和经验,能避免后来者在学习中再走弯路。此外,本书还对编译链接技术(尤其是动态加载和链接技术)和图形系统进行了原理性的探讨,这部分内容非常珍贵。 全书一共8章:第1章介绍了如何准备工作环境。在第2章中构建了编译工具链,这是后面构建操作系统各个组件的基础。在这一章中,不仅详细讲解了工具链的构建过程,而且还通过对编译链接过程的探讨,深入讨论了工具链的组成及各个组件的作用,理解工具链的工作原理对理解操作系统至关重要。第3~4章,从零开始构建了一个具备用户字符界面的最小操作系统,详细讲解了构建的过程以及涉及的技术细节。第5章从理论的角度探讨了这一过程,从内核的加载、解压一直讨论到用户进程的加载,包括用户空间的动态链接器为加载程序所作的努力。第6~7章首先构建了操作系统的基础图形系统,然后在此基础上构建了桌面环境。第8章深入探讨了计算机图形的基础原理,包含2d和3d程序的渲染、软件渲染、硬件渲染等内容,同时也从操作系统的角度审视了pipeline。
  • Linux网络体系结构

    作者:威尔

    编写本书是为了向学生和专业人员提供在Linux内核中实现网络功能时所需的基础知识,本书也适合所有希望深入理解操作系统内部网络特定进程的人。本书介绍了Linux内核的关键网络组件及机制,同时也介绍了通信系统的设计。 本书详细地描述了新近Linux内核版本中的网络子系统。 这里解释了协议的工作方式,建立了Linux网络体系结构中的多种重要概念——从设备驱动程序概念一直到应用程序接口概念。 除了PPP、IP、防火墙、路由、TCP、NAT、UDP及套接字等核心问题外,本书还讨论了最新的协议及协议扩展,譬如各种DSL访问技术中用到的PPPoE协议、Bluetooth(蓝牙)?驱动程序及QoS(Quality-of-Service,服务质量)支持等。
  • 天书夜读

    作者:谭文,邵坚磊

    从貌似天书的汇编代码中,一探Windows底层的核心实现。. 在开发中出现的问题,能从Windows自身找到答案!... 本书从基本的Windows程序与汇编指令出发,深入浅出地讲解了Windows内核的编程、调试、阅读,以及自行探索的方法。读者在使用C/C++ 开发Windows程序的基础上,将熟练掌握汇编和C语言的应用,深入了解Windows底层,并掌握阅读Windows内核的基本方法,以及 Windows内核的基本编程方法。 本书适合使用C/C++在Windows上编程的读者,尤其适合希望加深自己技术功底的Windows应用程序员、计算机专业的有志于软件开发的大中院校学生;专业的Windows内核程序员,亦可从本书得到超越一般内核程序开发的启发。
  • Linux内核完全剖析

    作者:赵炯

    本书对早期Linux内核(v0.12)全部代码文件进行了详细、全面的注释和说明,旨在帮助读者用较短的时间对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux打下坚实的基础。虽然选择的版本较低,但该内核已能够正常编译运行,并且其中已包括了Linux工作原理的精髓。书中首先以Linux源代码版本的变迁为主线,介绍了Linux的历史,同时着重说明了各个内核版本的主要区别和改进,给出了选择0.12版内核源代码作为研究对象的原因。在正式描述内核源代码之前,概要介绍了运行Linux的PC的硬件组成结构、编制内核使用的汇编语言和C语言扩展部分,并且重点说明了80x86处理器在保护模式下运行的编程方法。接着详细介绍了Linux内核源代码目录树组织结构,并依据该结构对所有内核程序和文件进行了注释和详细说明。有关代码注释的章节安排基本上都分为具体研究对象的概述、每个文件的功能介绍、代码内注释、代码中难点及相关资料介绍等部分。为了加深读者对内核工作原理的理解,书中最后一章给出了围绕Linux 0.12系统的多个试验。试验中所使用的相关程序均可从本书配套网站(www.oldlinux.org)上下载。. 本书适合Linux爱好者作为学习内核工作原理的自学参考书籍,也适合作为高校计算机专业学生学习操作系统课程的辅助和实践教材,还可供一般技术人员作为开发嵌入式系统的参考书使用。...
  • Linux内核完全剖析

    作者:赵炯

    本书对早期Linux操作系统内核全部代友文件进行了详细的剖析,旨在让读者在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础。虽然选择的版本较低,但该内核已能够正常编译运行,并且其中已包括了Linux工作原理的精髓。书中首先以Linux源代码版本的变迁为主线,简要介绍了Lin-ux系统的发展历史,同时着重说明了各个内核版本之间的主要区别和改进方面给出了选择0.11版内核源代码作为研究对象的原因。然后概要介绍了PC机的硬件组成结构、编制内核使用的汇编语言和C语言扩展部分,并且重点说明了80X86处理器在保护模下运行的编程方法。接着详细介绍了Linux内核源代码目录树组织结构,并依据该组织结构对所有内核程序和文件进行了注释和详细说明。为了加深读者的内核工作原理的理解,书中最后一章给出了围绕Linux 0.11系统的多个试验。试验中使用的相关程序均可从本书配套网站(www.oldinux.org)上下载。
  • Linux 内核设计的艺术(第2版)

    作者:新设计团队

    本书的第1版广获好评,版权被中国台湾和美国两家大型出版社引进,第2版根据读者的反馈和作者对操作系统的最新研究成果对第1版进行了大幅优化和重写,使其内容质量更上一层楼。本书在众多关于Linux内核的书中独树一帜,它在世界范围内首次提出并阐述了操作系统设计的核心指导思想主奴机制,这是所有操作系统研究者的一笔宝贵财富。它也是一本能真正引导我们较为容易地、极为透彻地理解Linux内核的经典之作,也可能是当前唯一能从本质上指引我们去设计和开发拥有自主知识产权的操作系统的著作。 本书的最大特点是它的写作方式和内容组织方式与同类书完全不同。它在深刻地分析了传统讲解方法的利弊之后,破旧立新,从认知学的角度开创了一种全新的方式。以操作系统的真实运行过程为主线,结合真实的内核源代码、300余幅精确的内核运行时序图和具有点睛之妙的文字说明,对操作系统从开机加电到系统完全准备就绪,及运行用户程序的整个过程进行了系统而完整地分析,深刻地揭示了其间每一个动作的设计意图和实现原理,完美地再现了操作系统设计者的设计思路。阅读本书就如同跟随着操作系统设计者一起去思考,我们会在阅读的过程中发现Linux内核设计的精妙,会发现原来处处都“暗藏玄机”,哪怕是一行很短的代码。 本书在所有细节上都力求完美。为了保证知识的准确性,操作系统运行过程中的每个动作都经过了严格的考证;为了让我们真正理解Linux内核的原理,它突破传统,以Linux的真实运行过程为主线进行讲解;为了做到真正易于理解,创新性地使用了图解的方式,精心绘制了300余幅分辨率600dpi的时序图,图中表现的运行时结构和状态与操作系统实际运行时的真实状态完全吻合;为了提高阅读体验,本书采用了双色印刷,以便于我们更清楚地观察每一幅图中的细节。
  • Linux内核源代码情景分析(下册)

    作者:毛德操,胡希明

    下册的内容包括设备驱动、多处理器SMP系统结构以及系统引导和初始化四章。
  • 深入理解LINUX内核(第二版)

    作者:博韦 (Bovet Daniel P.)

    为了彻底理解GNU/Linux的内部构造以及它为何能在各种系统之上工作得如此这好,那就需要你深入研究操作系统的心脏——Linux内核本身。内核处理各种请求或已完成的I/O操作,并判断哪些程序将分享它的处理时间,会以什么顺序分享。Linux内核肩负着中国管理整个系统的职责,是神奇的Linux高效之根源。 本书将引导你畅游Linux内核中使用的最主要的数据结构、算法和编程技巧,讨论了具体的Intel平台的重要特点。但是本书涵盖的内容绝不限于代码所起的作用,它还阐明了Linux为什么如此运作的理论基础。 本书涵盖Linux 2.4, ●网络 ●内存管理,包括文件缓冲、进程交换以及直接内存访问 ●虚拟文件系统层和第二及第三扩展文件系统 ●进程创建及调度 ●信号、中断及对设备驱动程序的主要接口 ●定时 ●内核中的同步 ●进程间通信 ●程序执行 本书将使读者熟悉Linux所有的内在工作机制,但本书不仅仅是一种学术训练,读者还将知道什么样的条件使Linux产生最好的性能,你会看到Linux如何得以满足(在各种环境下)进程调度、文件访问及内存管理期间提出的快速响应要求。
  • 现代体系结构上的UNIX系统

    作者:希梅尔

    本书首先回顾了与全书其他内容切实相关的UNIX系统内幕。回顾的目的是增进读者对UNIX操作系统概念的了解,并且定义随后使用的术语。本书接下来的内容分为3个部分。第一部分“高速缓存存储系统”介绍了高速缓存体系结构、术语和概念,详细考察了4种常见的高速缓存实现——3种虚拟高速缓存的变体和物理高速缓存。第二部分“多处理机系统”讨论了调整单处理机内核的实现,使之适合于紧密耦合、共享存储多处理机上运行时所面
  • 寒江独钓

    作者:谭文,杨潇,邵坚磊 著

    本书从Windows内核编程出发,全面系统地介绍了串口、键盘、磁盘、文件系统、网络等相关的Windows内核模块的编程技术,以及基于这些技术实现的输入密码保护、防毒引擎、文件加密、网络嗅探、网络防火墙等信息安全软件的核心组件的具体编程。主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及3类NDIS驱动),以及最新的WDF驱动开发模型。有助于读者熟悉Windows内核驱动的体系结构,并精通信息安全类的内核编程技术。本书的大部分代码具有广泛的兼容性,适合从Windows 2000一直到目前最新的Windows 7 Beta版。 本书适合大专院校计算机系的学生、普通Windows程序员、Windows内核程序员、信息安全行业的程序员,以及希望了解Windows系统底层知识的计算机编程爱好者使用。阅读本书,需要读者有C语言、数据结构、操作系统和计算机网络的基础知识。
  • Windows内核情景分析

    作者:毛德操

    本书通过分析ReactOS的源代码介绍了Windows内核各个方面的结构、功能、算法与具体实现。全书从“内存管理”、“进程”、“进程间通信”、“设备驱动”等多个方面进行分析介绍,所有的分析都有ReactOS的源代码(以及部分由微软公开的源代码)作为依据,使读者能深入理解Windows内核的方方面面,也可以使读者的软件开发能力和水平得到提高。. 本书可供大学有关专业的高年级学生和研究生用做教学参考,也可供广大的软件工程师,特别是从事系统软件研发的工程师用于工作参考或用做进修教材。...
  • Linux Kernel Development

    作者:Robert Love

    The third edition of the authoritative, practical introduction to the Linux kernel for programmers who want to better understand the Linux kernel and write and develop kernel code. Authored by a well-known member of the Linux kernel development team, with a reputation for a highly readable and focused writing style, this edition has been thoroughly updated and includes improved coverage of all the major subsystems and features of the latest version of the Linux 2.6.xx kernel. Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code. While the book discusses topics that are theoretical, it does so with the goal of assisting programmers so they better understand the topics and become more efficient and productive in their coding. The book discusses the major subsystems and features of the Linux kernel, including design and implementation, their purpose and goals, and their interfaces. Important computer science and operating system design details are also addressed. The book covers the Linux kernel from both angles -- theoretical and applied -- which should appeal to both types of readers. The author, a core kernel developer, shares valuable knowledge and experience on the very latest Linux kernel. Specific topics covered will include: all the important algorithms, relevant subsystems, process management, scheduling, time management and timers, system call interface, memory addressing, memory management, paging strategies, caching layers, VFS, kernel synchronization, and signals. An authoritative, practical guide that helps programmers better understand the Linux kernel, and to write and develop kernel code. * Authored by core Linux kernel developers. * In-depth coverage of all the major subsystems and features of the new Linux 2.6 kernel. * Targeted audience includes programmers interested in gaining relevant and timely information so they may further their kernel development skills. --This text refers to an out of print or unavailable edition of this title.
  • 深入理解LINUX内核(第三版)

    作者:(美)博韦,西斯特

    为了彻底理解是什么使得Linux能正常运行以及其为何能在各种不同的系统中运行良好,你需要深入研究内核最本质的部分。内核处理CPU与外界间的所有交互,并且决定哪些程序将以什么顺序共享处理器时间。它如此有效地管理有限的内存,以至成百上千的进程能高效地共享系统。它熟练地统筹数据传输,这样CPU 不用为等待速度相对较慢的硬盘而消耗比正常耗时更长的时间。 《深入理解Linux内核,第三版》指导你对内核中使用的最重要的数据结构、算法和程序设计诀窍进行一次遍历。通过对表面特性的探究,作者给那些想知道自己机器工作原理的人提供了颇有价值的见解。书中讨论了Intel特有的重要性质。相关的代码片段被逐行剖析。然而,本书涵盖的不仅仅是代码的功能,它解释了Linux以自己的方式工作的理论基础。 本书新版涵盖2.6版本,其在内核的几乎每个子系统中都有重要的变化,尤其是在内存管理和块设备领域。本书侧重于以下主题: ●内存管理,包括文件缓存、进程交换和直接内存存取(DMA) ●虚拟文件系统层和第二、第三扩展文件系统 ●进程创建和调度 ●信号、中断和设备驱动程序的主要接口 ●定时 ●内核中的同步 ●进程间通信(IPC) ●程序的执行 《深入理解Linux内核》将使你了解Linux的所有内部工作,它不仅仅是一个理论上的练习。你将学习到哪些情况下Linux性能最佳,并且你将看到,在大量的不同环境里进行进程调度、文件存取和内存管理时它如何满足提供良好的系统响应的需要。这本书将帮助你充分利用Linux系统。
  • Linux内核设计与实现

    作者:拉芙

    《Linux内核设计与实现》基于Linux2.6内核系列详细介绍Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。主要内容包括:进程管理、系统调用、中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等。本书理论联系实践,既介绍理论也讨论具体应用,能够带领读者快速走进Linux内核世界,真正开发内核代码。 本书适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。
  • 深入Linux内核架构

    作者:Wolfgang Mauerer

    众所周知,Linux操作系统的源代码复杂、文档少,对程序员的要求高,要想看懂这些代码并不是一件容易事。本书结合内核版本2.6.24源代码中最关键的部分,深入讨论Linux内核的概念、结构和实现。具体包括进程管理和调度、虚拟内存、进程间通信、设备驱动程序、虚拟文件系统、网络、时间管理、数据同步等方面的内容。本书引导你阅读内核源代码,熟悉Linux所有的内在工作机理,充分展现Linux系统的魅力。 本书适合Linux的系统编程人员、系统管理者以及Linux爱好者学习使用。
  • Linux内核源代码情景分析(上册)

    作者:毛德操,胡希明

    这本书采取类似于英语教学中行之有效的情景会话的教学方法,全面深入地剖析了Linux最新版本核心源代码,并对Linux核心的独特优点和需要进一步改进的问题作了精辟的评述。上册的内容包括预备知识、存储管理、中断和系统调用、进程和进程调度、文件系统以及传统的Unix进程通讯六章。
  • Linux设备驱动程序

    作者:科波特

    本书是经典著作《Linux设备驱动程序》的第三版。如果您希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。本书描述了如何针对各种设备编写驱动程序,而在过去,这些内容仅仅以口头形式交流,或者零星出现在神秘的代码注释中。 本书的作者均是Linux社区的领导者。Jonathan Corbet虽不是专职的内核代码贡献者,但他是备受关注的LWN.net新闻及信息网站的执行编辑。Alessandro Rubini是一名Linux代码贡献者,也是活跃的意大利Linux社区的灵魂人物。Greg Kroah-Hartman是目前内核中USB、PCI和驱动程序核心子系统(本书均有讲述)的维护者。 本书的这个版本已针对Linux内核的2.6.10版本彻底更新过了。内核的这个版本针对常见任务完成了合理化设计及相应的简化,如即插即用、利用sysfs文件系统和用户空间交互,以及标准总线上的多设备管理等等。 要阅读并理解本书,您不必首先成为内核黑客;只要您理解C语言并具有Unix系统调用的一些背景知识即可。您将学到如何为字符设备、块设备和网络接口编写驱动程序。为此,本书提供了完整的示例程序,您不需要特殊的硬件即可编译和运行这些示例程序。本书还在单独的章节中讲述了PCI、USB和tty(终端)子系统。对期望了解操作系统内部工作原理的读者来讲,本书也深入阐述了地址空间、异步事件以及I/O等方面的内容。
  • 深入理解LINUX内核

    作者:Daniel P.Bovet,Marco

    为了彻底理解是什么使得Linux能正常运行以及其为何能在各种不同的系统中运行良好,你需要深入研究内核最本质的部分。内核处理CPU与外界间的所有交互,并且决定哪些程序将以什么顺序共享处理器时间。它如此有效地管理有限的内存,以至成百上千的进程能高效地共享系统。它熟练地统筹数据传输,这样CPU不用为等待速度相对较慢的硬盘而消耗比正常耗时更长的时间。 《深入理解Linux内核,第三版》指导你对内核中使用的最重要的数据结构、算法和程序设计诀窍进行一次遍历。通过对表面特性的探究,作者给那些想知道自己机器工作原理的人提供了颇有价值的见解。书中讨论了Intel特有的重要性质。相关的代码片段被逐行剖析。然而,本书涵盖的不仅仅是代码的功能,它解释了Linux以自己的方式工作的理论基础。 本书将使你了解Linux的所有内部工作,它不仅仅是一个理论上的练习。你将学习到哪些情况下Linux性能最佳,并且你将看到,在大量的不同环境里进行进程调度、文件存取和内存管理时,它如何满足提供良好的系统响应的需要。这本书将帮助你充分利用Linux系统。