欢迎来到相识电子书!

标签:kernel

  • 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.
  • 模式分析的核方法

    作者:肖-泰勒,克瑞斯天尼

    本书详细介绍基于核的模式分析的基本概念及其应用,主要内容包括:主要理论基础,若干基于核的算法,从最简单的到较复杂的系统,例如核偏序最小二乘法、典型相关分析、支持向量机、主成分分析等。还描述了若干核函数,从基本的例子到高等递归核函数,从生成模型导出的核函数(如HMM)到基于动态规划的串匹配核函数,以及用于处理文本文档的特殊核函数等。 本书适用于所有从事模式识别、机器学习、神经网络及其应甩的学生、教师和研究人员。
  • 深度探索Linux操作系统

    作者:王柏生

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

    作者:谭文,邵坚磊

    从貌似天书的汇编代码中,一探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设备驱动程序

    作者:科比特

    本书揭示了如何给大多数的设备编写驱动程序的信息,这些信息迄今仅通过口头或者隐晦的源代码注释被共享。你不必是一个内核高手就可以理解并享受本书,所需要的只是C以及Unix系统调用方面的背景知识。在不需要特殊的硬件设备就能编译和运行的详细示例的指引下,你将学会如何给字符设备、块设备和网络接口编写驱动程序。PCI、USB和tty(终端)子系统都单列一章。本书为那些对操作系统的工作机制好奇的人提供了地址空间、异步事件和I/O等方面的阐述。
  • Unix内核源码剖析

    作者:青柳隆宏

    为什么要阅读内核源代码 ● 对计算机系统的全貌有更深入的了解 ● 对学到的算法和思路举一反三 ● 加深对操作系统的理解 ● 提升自身的技术水平 为什么选择UNIX V6? ● 代码行数约为1 万行 ● 有充实的资料可参考 ● 网罗了操作系统的基本功能 ● 简化的设计 ● 便于读者对系统有完整的了解 ● 有模拟器可供参考 本书是一本Unix内核源代码的阅读指南。作者结合UNIX V6已公开的相关文档,对其内核源码进行详细剖析,旨在让读者更深入地理解进程、中断、块I/O系统、文件系统、字符I/O系统、启动系统等操作系统的基本原理。 本书适合操作系统的初中级学习者阅读,特别适合通过大学课程和其他入门书对操作系统有所了解,但是对具体细节缺乏深入理解的读者,以及那些对操作系统的具体实现有兴趣的读者。
  • 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 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网络内幕

    作者:Christian Benvenuti

    本书系统地阐述了网络的基本概念,并指导你如何用C语言实现。同时描述了Linux网络的全貌,解释了Linux代码是如何工作的,主要网络特性的目的,网络通信的主要问题,以及在不同解决方案间是如何抉择的。同时,本书还包含了大量的流程图和其他图表以帮助读者理解。