Understanding the Linux Kernel (2nd Edition)

 To thoroughly understand what makes Linux tick and why it's so efficient, you need to delve deep into the heart of the operating system--into the Linux kernel itself. The kernel is Linux--in the case of the Linux operating system, it's the only bit of software to which the term "Linux" applies. The kernel handles all the requests or completed I/O operations and determines which programs will share its processing time, and in what order. Responsible for the sophisticated memory management of the whole system, the Linux kernel is the force behind the legendary Linux efficiency. The new edition of Understanding the Linux Kernel takes you on a guided tour through the most significant data structures, many algorithms, and programming tricks used in the kernel. Probing beyond the superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Relevant segments of code are dissected and discussed line by line. The book covers more than just the functioning of the code, it explains the theoretical underpinnings for why Linux does things the way it does. The new edition of the book has been updated to cover version 2.4 of the kernel, which is quite different from version 2.2: the virtual memory system is entirely new, support for multiprocessor systems is improved, and whole new classes of hardware devices have been added. The authors explore each new feature in detail. Other topics in the book include: Memory management including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem and the Second Extended Filesystem Process creation and scheduling Signals, interrupts, and the essential interfaces to device drivers Timing Synchronization in the kernel Interprocess Communication (IPC) Program execution Understanding the Linux Kernel, Second Edition will acquaint you with all the inner workings of Linux, but is more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. If knowledge is power, then this book will help you make the most of your Linux system. O'Reilly Media, Inc.; 2 edition | ISBN: 0596002130 | 816 pages | December 2002 | CHM | 2 Mb Download: http://rapidshare.com/files/88044707/Understanding_The_Linux_Kernel__2nd_Edition__2002_.chm
 前言   第一章绪论   Linux与其他类Unix内核的比较   硬件的依赖性   Linux版本   操作系统基本概念   Unix文件系统概述   Unix内核概述   第二章内存寻址   内存地址   硬件中的分段   Linux中的分段   硬件中的分页   Linux中的分页   第三章进程   进程、轻量级进程和线程   进程描述符   进程切换   创建进程   撤消进程   第四章中断和异常   中断信号的作用   中断和异常   中断和异常处理程序的嵌套执行   初始化中断描述符表   异常处理   中断处理   软中断及tasklet   工作队列   从中断和异常返回   第五章内核同步   内核如何为不同的请求提供服务   同步原语   对内核数据结构的同步访问   避免竞争条件的实例   第六章定时测量   时钟和定时器电路   Linux计时体系结构   更新时间和日期   更新系统统计数   软定时器和延迟函数   与定时测量相关的系统调用   第七章进程调度   调度策略   调度算法   调度程序所使用的数据结构   调度程序所使用的函数   多处理器系统中运行队列的平衡   与调度相关的系统调用   第八章内存管理   页框管理   内存区管理   非连续内存区管理   第九章进程地址空间   进程的地址空间   内存描述符   线性区   缺页异常处理程序   创建和删除进程的地址空间   堆的管理   第十章系统调用   POSIXAPI和系统调用   系统调用处理程序及服务例程   进入和退出系统调用   参数传递   内核封装例程   第十一章信号   信号的作用   产生信号   传递信号   与信号处理相关的系统调用   第十二章虚拟文件系统   虚拟文件系统(VFS)的作用   VFS的数据结构   文件系统类型   文件系统处理   路径名查找   VFS系统调用的实现   文件加锁   第十三章I/O体系结构和设备驱动程序   I/O体系结构   设备驱动程序模型   设备文件   设备驱动程序   字符设备驱动程序   第十四章块设备驱动程序   块设备的处理   通用块层   I/O调度程序   块设备驱动程序   打开块设备文件   第十五章页高速缓存   页高速缓存   把块存放在页高速缓存中   把脏页写入磁盘   sync()、fsync()和fdatasync()系统调用   第十六章访问文件   读写文件   内存映射   直接I/O传送   异步I/O   第十七章回收页框   页框回收算法   反向映射   PFRA实现   交换   第十八章Ext2和Ext3文件系统   Ext2的一般特征   Ext2磁盘数据结构   Ext2的内存数据结构   创建Ext2文件系统   Ext2的方法   管理Ext2磁盘空间   Ext3文件系统   第十九章进程通信   管道   FIFO   SystemVIPC   POSIX消息队列   第二十章程序的执行   可执行文件   可执行格式   执行域   exec函数   附录一系统启动   附录二模块   参考文献
为了透彻理解Linux的工作机理,以及为何它在各种系统上能顺畅运行,你需要深入到内核的心脏。cPu与外部世界的所有交互活动都是由内核处理的,哪些程序会分享处理器的时间,以什么样的顺序来分享。内核不遗余力地管理有限的内存,以使数以千计的进程有效地共享系统资源。内核还精心组织数据传送,使得 cPu不再受限于慢速硬盘。 《深入理解Linux内核》第三版将引领你畅游内核中用到的最主要数据结构、算法和编程技巧。如果你的确想了解计算机内部的实现机理,那么作者透过现象探寻本质,提供了颇有价值的深入分析。本书针对具体的Intel平台,讨论了其重要特征,逐行剖析了相关的代码片段。但是,本书涵盖的内容不仅仅局限于代码的机理,还解释了Linux运作方式的理论支撑。 本书第三版涵盖Linux 2.6,从中可以看到几乎内核每个子系统都有相当大的变化,首当其冲的是内存管理和块设备部分。本书集中讨论了如下内容: 内存管理,包括文件缓冲、进程交换以及直接内存访问(DMA) 虚拟文件系统层和第二及第三扩展文件系统 进程创建及调度   信号、中断及设备驱动程序的主要接口   定时   内核中的同步   进程间通信(IPC)   程序执行   本书将使你熟悉Linux所有的内在工作机理,但本书不仅仅是一种学术演练。你将了解到什么条件会促使Linux产生最佳性能,你还会看到,Linux 在各种环境下如何满足进程调度、文件访问及内存管理期间系统提出的快速响应要求。本书有助于你充分展现Linux系统的魅力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值