当前位置:首页 > 操作系统 >
《奔跑吧Linux内核:基于Linux4.x内核源代码问题分析》电子书封面

奔跑吧Linux内核:基于Linux4.x内核源代码问题分析

  • 发布时间:2020年05月06日 10:10:50
  • 作者:张天飞
  • 大小:139.5 MB
  • 类别:Linux电子书
  • 格式:PDF
  • 版本:清晰扫描版
  • 评分:9.6

    奔跑吧Linux内核:基于Linux4.x内核源代码问题分析 PDF 清晰扫描版

      给大家带来的一篇关于Linux相关的电子书资源,介绍了关于Linux内核、Linux4.x、内核源代码方面的内容,本书是由人民邮电出版,格式为PDF,资源大小139.5 MB,张天飞编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.7。

      内容介绍

      这书內容根据Linux4.x内核,关键选择了Linux内核中较为基础和常见的内存管理、进程管理、高并发与同歩,及其终断管理方法这4个内核控制模块开展叙述。本书共分成6章,先后详细介绍了ARM系统架构、Linux内存管理、进程调度管理方法、高并发与同歩、终断管理方法、内核调节方法等內容。这书的各节內容全是一个Linux内核的话题讨论或是技术性点,阅读者能够依据每小标题前的难题开展思索,从而紧紧围绕难题开展内核源码的剖析。

      这书主题鲜明,解读清楚深入,不但合适有一定Linux相关基本的工作人员,包含从业与Linux相关的开发人员、电脑操作系统的科学研究工作人员、内嵌式开发人员及Android最底层开发人员等学习和应用,并且合适做为对Linux很感兴趣的程序猿的学习用书,还可以做为大专学校相关技术专业老师学生的学习用书和培训机构的教材内容。

      目录

      • LINUX内核奔跑卷 1
      • 第1章 处理器体系结构 4
      • 本章思考题 4
      • 第2章 内存管理 32
      • 本章思考题 32
      • 2.1 物理内存初始化 36
      • 2.1.1 内存管理概述 36
      • 2.1.2 内存大小 37
      • 2.1.3 物理内存映射 38
      • 2.1.4 zone初始化 40
      • 2.1.5 空间划分 44
      • 2.1.6 物理内存初始化 45
      • 2.2 页表的映射过程 51
      • 2.2.1 ARM32页表映射 51
      • 2.2.2 ARM64页表映射 60
      • 2.3 内核内存的布局图 67
      • 2.3.1 ARM32内核内存布局图 67
      • 2.3.2 ARM64内核内存布局图 70
      • 2.4 分配物理页面 72
      • 2.4.1 伙伴系统分配内存 72
      • 2.4.2 释放页面 85
      • 2.4.3 小结 89
      • 2.5 slab分配器 90
      • 2.5.1 创建slab描述符 91
      • 2.5.2 分配slab对象 103
      • 2.5.3 释放slab缓冲对象 108
      • 2.5.4 kmalloc分配函数 111
      • 2.5.5 小结 112
      • 2.6 vmalloc 113
      • 2.7 VMA操作 120
      • 2.7.1 查找VMA 122
      • 2.7.2 插入VMA 124
      • 2.7.3 合并VMA 129
      • 2.7.4 红黑树例子 131
      • 2.7.5 小结 133
      • 2.8 malloc 133
      • 2.8.1 brk实现 134
      • 2.8.2 VM_LOCK情况 138
      • 2.8.3 小结 148
      • 2.9 mmap 150
      • 2.9.1 mmap概述 151
      • 2.9.2 小结 153
      • 2.10 缺页中断处理 155
      • 2.10.1 do_page_fault() 157
      • 2.10.2 匿名页面缺页中断 165
      • 2.10.3 文件映射缺页中断 169
      • 2.10.4 写时复制 175
      • 2.10.5 小结 183
      • 2.11 page引用计数 184
      • 2.11.1 struct page数据结构 185
      • 2.11.2 _count和_mapcount的区别 188
      • 2.11.3 页面锁PG_Locked 192
      • 2.11.4 小结 192
      • 2.12 反向映射RMAP 192
      • 2.12.1 父进程分配匿名页面 193
      • 2.12.2 父进程创建子进程 198
      • 2.12.3 子进程发生COW 200
      • 2.12.4 RMAP应用 201
      • 2.12.5 小结 202
      • 2.13 回收页面 204
      • 2.13.1 LRU链表 204
      • 2.13.2 kswapd内核线程 216
      • 2.13.3 balance_pgdat函数 219
      • 2.13.4 shrink_zone函数 228
      • 2.13.5 shrink_active_list函数 233
      • 2.13.6 shrink_inactive_list函数 238
      • 2.13.7 跟踪LRU活动情况 244
      • 2.13.8 Refault Distance算法 244
      • 2.13.9 小结 249
      • 2.14 匿名页面生命周期 251
      • 2.14.1 匿名页面的诞生 251
      • 2.14.2 匿名页面的使用 252
      • 2.14.3 匿名页面的换出 252
      • 2.14.4 匿名页面的换入 254
      • 2.14.5 匿名页面销毁 254
      • 2.15 页面迁移 254
      • migrate_pages()函数 255
      • 2.16 内存规整(memory compaction) 262
      • 2.16.1 内存规整实现 263
      • 2.16.2 小结 272
      • 2.17 KSM 273
      • 2.17.1 KSM实现 274
      • 2.17.2 匿名页面和KSM页面的区别 293
      • 2.17.3 小结 294
      • 2.18 Dirty COW内存漏洞 296
      • 2.19 总结内存管理数据结构和API 309
      • 2.19.1 内存管理数据结构的关系图 309
      • 2.19.2 内存管理中常用API 312
      • 2.20 最新更新和展望 315
      • 2.20.1 页面回收策略从zone迁移到node 315
      • 2.20.2 OOM Killer改进 316
      • 2.20.3 swap优化 317
      • 2.20.4 展望 318
      • 第3章 进程管理 319
      • 本章思考题 319
      • 3.1 进程的诞生 320
      • 3.1.1 init进程 321
      • 3.1.2 fork 325
      • 3.1.3 小结 344
      • 3.2 CFS调度器 345
      • 3.2.1 权重计算 346
      • 3.2.2 进程创建 358
      • 3.2.3 进程调度 369
      • 3.2.4 scheduler tick 379
      • 3.2.5 组调度 382
      • 3.2.6 PELT算法改进 386
      • 3.2.7 小结 387
      • 3.3 SMP负载均衡 389
      • 3.3.1 CPU域初始化 389
      • 3.3.2 SMP负载均衡 401
      • 3.3.3 唤醒进程 415
      • 3.3.4 调试 421
      • 3.3.5 小结 422
      • 3.4 HMP调度器 422
      • 3.4.1 初始化 423
      • 3.4.2 HMP负载调度 425
      • 3.4.3 新创建的进程 436
      • 3.4.4 小结 437
      • 3.5 NUMA调度器 438
      • 3.5.1 node和page的关系 439
      • 3.5.2 扫描进程 441
      • 3.5.3 NUMA缺页中断 442
      • 3.5.4 进程迁移 450
      • 3.5.5 小结 455
      • 3.6 EAS绿色节能调度器 457
      • 3.6.1 能效模型 459
      • 3.6.2 WALT算法 465
      • 3.6.3 唤醒进程 480
      • 3.6.4 CPU动态调频 491
      • 3.6.5 小结 494
      • 3.7 实时调度 496
      • 3.8 最新更新与展望 500
      • 3.8.1 进程管理更新 500
      • 3.8.2 展望 500
      • 第4章 并发与同步 501
      • 本章思考题 501
      • 4.1 原子操作与内存屏障 503
      • 4.1.1 原子操作 503
      • 4.1.2 内存屏障 506
      • 4.2 spinlock 508
      • 4.2.1 spinlock实现 509
      • 4.2.2 spinlock变种 511
      • 4.2.3 spinlock和raw_spin_lock 512
      • 4.3 信号量 513
      • 4.3.1 信号量 513
      • 4.3.2 小结 516
      • 4.4 Mutex互斥体 517
      • 4.4.1 MCS锁机制 518
      • 4.4.2 Mutex锁的实现 525
      • 4.4.3 小结 531
      • 4.5 读写锁 531
      • 4.5.1 读者信号量 532
      • 4.5.2 写者锁 538
      • 4.5.3 小结 544
      • 4.6 RCU 544
      • 4.6.1 经典RCU和Tree RCU 547
      • 4.6.2 Tree RCU设计 551
      • 4.6.3 小结 573
      • 4.7 内存管理中的锁 574
      • 4.8 最新更新与展望 584
      • 4.8.1 Queued Spinlock 584
      • 4.8.2 读写信号量优化 591
      • 4.8.3 展望 592
      • 4.8.4 推荐书籍 593
      • 第5章 中断管理 594
      • 本章思考题 594
      • 5.1 Linux中断管理机制 595
      • 5.1.1 ARM中断控制器 595
      • 5.1.2 硬件中断号和Linux中断号的映射 599
      • 5.1.3 注册中断 610
      • 5.1.4 ARM底层中断处理 618
      • 5.1.5 高层中断处理 626
      • 5.1.6 小结 636
      • 5.2 软中断和tasklet 637
      • 5.2.1 SoftIRQ软中断 638
      • 5.2.2 tasklet 642
      • 5.2.3 local_bh_disable/local_bh_enable 647
      • 5.2.4 小结 649
      • 5.3 workqueue工作队列 650
      • 5.3.1 初始化工作队列 652
      • 5.3.2 创建工作队列 659
      • 5.3.3 调度一个work 665
      • 5.3.4 取消一个work 675
      • 5.3.5 和调度器的交互 680
      • 5.3.6 小结 682
      • 第6章 内核调试 684
      • 6.1 QEMU调试Linux内核 684
      • 6.1.1 QEMU运行ARM Linux内核 684
      • 6.1.2 QEMU调试ARM Linux内核 687
      • 6.1.3 QEMU运行ARMv8开发平台 688
      • 6.1.4 文件系统支持 690
      • 6.1.5 图形化调试 691
      • 6.1.6 实验进阶 693
      • 6.2 ftrace 694
      • 6.2.1 irqs跟踪器 695
      • 6.2.2 preemptoff跟踪器 696
      • 6.2.3 preemptirqsoff跟踪器 697
      • 6.2.4 function跟踪器 698
      • 6.2.5 动态ftrace 699
      • 6.2.6 事件跟踪 700
      • 6.2.7 添加tracepoint 702
      • 6.2.8 trace-cmd和kernelshark 705
      • 6.2.9 trace marker 707
      • 6.2.10 小结 709
      • 6.3 SystemTap 710
      • 6.4 内存检测 714
      • 6.4.1 slub_debug 714
      • 6.4.2 内存泄漏检测kmemleak 718
      • 6.4.3 kasan内存检测 720
      • 6.5 死锁检测 722
      • 6.6 内核调试秘籍 728
      • 6.6.1 printk 728
      • 6.6.2 动态打印 730
      • 6.6.3 RAM Console 731
      • 6.6.4 OOPS分析 731
      • 6.6.5 BUG_ON()和WARN_ON() 734

      学习笔记

      Linux平台php命令行程序处理管道数据的方法

      本文实例讲述了Linux平台php命令行程序处理管道数据的方法。分享给大家供大家参考,具体如下: linux下有一个强大的命令|(管道提示符).它的作用是将前一个命令的结果交给后一条命令并作为后一条命令的输入.而linux下的大多数命令 也都支持这种方式.可是当笔者写完一个php的命令行小程序以后,对于怎样获得前一个命令的结果却陷入了僵局.难道php不支持这样的操作? 于是又开始问google大叔.找来找去,都是说php的命令行模式是怎么回事儿,也没有和我想知道的问题相关的资料.难道是俺的关键字用的不对?或者是 传说的RP问题?google无果以后,开始想找人求助.我认识的做php的朋友中,谁可能会做过命令的程序呢……

      在win10和linux上分别安装Python虚拟环境的方法步骤

      很多初学者会使用windows作为开发机使用, 今天就来看下如何在win10和Linux下分别安装Python虚机环境。虚机环境有非常多的优点,今天我们用的虚拟环境是virtualenv。 virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够: 1. 在没有权限的情况下安装新套件 2. 不同应用可以使用不同的套件版本 3. 套件升级不影响其他应用 win10下安装 1. 打开cmd 安装虚拟环境包 pip install virtualenvwrapper-win 2. 配置环境变量 WORKON_HOME E:\Python_Envs 3. 打开新的cmd窗口 安装虚拟环境 建立两个纯净的虚拟环境 mkvirtualenv --python=C:\SoftWare\Python27\python.exe python27deactivatemkvirtualenv --python=C:\SoftWare\Python36\python.exe python36deactiv……

      python3的virtualenvwrapper在linux下配置的实例

      python版本管理virtualenv管理 virtualenvwrapper是用来管理virtualenv的扩展包,用着很方便。 注意,在python3中,pip的安装:sudo apt install python3-pip python2:sudo apt install python2-pip 1.virtualenvwrapper 安装: #安装virtualenv(sudo) pip install virtualenv#安装virtualenvwrapper(sudo) pip install virtualenvwrapper 2. 配置: 修改~/.bash_profile或其它环境变量相关文件(如 .bashrc(我的Ubuntu15.10 下的是这个) 或用 ZSH 之后的 .zshrc),添加以下语句: export WORKON_HOME=$HOME/.virtualenvsexport PROJECT_HOME=$HOME/workspacesource /usr/local/bin/virtualenvwrapper.sh 然后运行: source ~/.bash_profile 3. 用法: mkvirtualenv zqxt:创建运行环境zqxt workon zqxt: 工作在 zqxt 环境 或 从其它环境切换到 ……

      Linux下安装与使用MySQL详细介绍

      一、安装Mysql 1、下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-client-4.0.16-0.i386.rpm 下载地址为:http://dev.mysql.com/downloads/mysql-4.0.html,打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的上述两个rpm文件。 2、安装MySQL rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是 –ivh ,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。 1)安装服务器端 在有两个rmp文……

      Python下调用Linux的Shell命令的方法

      有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的。那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法: 1. os 模块 1.1. os模块的exec方法族 Python的exec系统方法同Unix的exec系统调用是一致的。这些方法适用于在子进程中调用外部程序的情况,因为外部程序会替换当前进程的代码,不会返回。( 这个看了点 help(os) -- search "exec" 的相关介绍,但是没太搞明白咋使用) 1.2. os模块的system方法 system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果。这个方法比较适用于外部程序没有输出结果的情况。 import os os.system("echo \"Hello World\"") # 直接……

      以上就是本次介绍的Linux电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:深度解析SDN:利益、战略、技术、实践

      下一篇:软件是这样“炼”成的:软件架构设计实现

      展开 +

      收起 -

      • 《奔跑吧Linux内核:基于Linux4.x内核源代码问题分析》PDF下载

      Linux相关电子书
      Linux哲学
      Linux哲学 超清原版 立即下载
      Linux KVM虚拟化架构实战指南
      Linux KVM虚拟化架构实战指南 高清版

      《Linux KVM虚拟化架构实战指南》 以红帽RHEV虚拟化架构为基础,分为11章,介绍如何使用开源KVM系统构建企业虚拟化应用平台。 《Linux KVM虚拟化架构实战指南》以实战为主,理论为辅助。通过搭

      立即下载
      Linux驱动程序开发实例
      Linux驱动程序开发实例 清晰第2版

      本书使用了较新的Linux内核,基于Linux4.5内核,提供了丰富的实例代码和详细的注释,实例丰富,讲解细致。强烈建议嵌入式开发人员阅读

      立即下载
      Kali Linux高级渗透测试
      Kali Linux高级渗透测试 影印第2版

      这本书介绍如何使用Kail Linux 对网络、系统、应用执行渗透测试,全面、系统阐释Kali Linuux网络渗透测试工具、方法和实践;从攻击者的角度来审视网络框架,详细介绍攻击者“杀链”采取的具体步骤,包含大量实例

      立即下载
      Linux内核设计与实现
      Linux内核设计与实现 清晰第3版 立即下载
      Linux高级程序设计
      Linux高级程序设计 超清第三版 立即下载
      Linux Shell编程与编辑器使用详解
      Linux Shell编程与编辑器使用详解 超清版 立即下载
      Linux性能优化
      Linux性能优化 完整超清版 立即下载
      Linux从入门到精通
      Linux从入门到精通 第2版

      《Linux典藏大系:Linux从入门到精通(第2版)》 共29章,分为7篇。内容包括Linux概述、Linux安装、Linux基本配置、桌面环境基本操作、Shell基本命令、文件和目录管理、软件包管理、磁盘管理、用

      立即下载
      Linux指令范例速查手册
      Linux指令范例速查手册 第2版

      Linux典藏大系自2010年陆续出版以来,因其内容丰富、讲解细腻、通俗易懂和实用性强等特色而深受广大读者的喜爱,长期位居同类图书销售排行榜的前列,累计销量近20万册。丛书中部分图书荣

      立即下载
      读者留言
      赖懿轩

      赖懿轩 提供上传

      资源
      47
      粉丝
      44
      喜欢
      155
      评论
      5

      Copyright 2018-2020 xz577.com 码农之家

      本站所有电子书资源不再提供下载地址,只分享来路

      版权投诉 / 书籍推广 / 赞助:QQ:520161757