登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

『簡體書』深入Linux内核架构

書城自編碼: 3767614
分類: 簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: [德]Wolfgang Mauerer 著
國際書號(ISBN): 9787115227430
出版社: 人民邮电出版社
出版日期: 2022-03-01

頁數/字數: /
釘裝: 平装

售價:NT$ 895

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
南宋行暮:宋光宗宋宁宗时代(增订本)
《 南宋行暮:宋光宗宋宁宗时代(增订本) 》

售價:NT$ 458.0
算力芯片——高性能 CPU/GPU/NPU 微架构分析
《 算力芯片——高性能 CPU/GPU/NPU 微架构分析 》

售價:NT$ 671.0
漫长的调查:重走营造学社川康古建筑调查之路
《 漫长的调查:重走营造学社川康古建筑调查之路 》

售價:NT$ 406.0
历史的温度1-7(典藏版套装全7册)
《 历史的温度1-7(典藏版套装全7册) 》

售價:NT$ 3110.0
如何建立适合自己的交易系统(一本金融初学者建立交易系统的实用工具书)
《 如何建立适合自己的交易系统(一本金融初学者建立交易系统的实用工具书) 》

售價:NT$ 302.0
中国古代文体学研究(中华学术·有道  精装)
《 中国古代文体学研究(中华学术·有道 精装) 》

售價:NT$ 770.0
美器:中国古代物质文化九讲
《 美器:中国古代物质文化九讲 》

售價:NT$ 874.0
谜托邦:故事新编
《 谜托邦:故事新编 》

售價:NT$ 411.0

建議一齊購買:

+

NT$ 806
《 奔跑吧Linux内核(第2版)卷1:基础架构 》
+

NT$ 690
《 鸿蒙HarmonyOS应用开发从入门到精通 柳伟卫著 》
+

NT$ 435
《 鸿蒙生态——开启万物互联的智慧新时代 》
+

NT$ 1572
《 BPF之巅:洞悉Linux系统和应用性能 》
+

NT$ 568
《 Vert.x实战 》
+

NT$ 405
《 Linux是怎样工作的 》
內容簡介:
本书讨论了Linux内核的概念、结构和实现。主要内容包括多任务、调度和进程管理,物理内存的管理以及内核与相关硬件的交互,用户空间的进程如何访问虚拟内存,如何编写设备驱动程序,模块机制以及虚拟文件系统,Ext文件系统属性和访问控制表的实现方式,内核中网络的实现,系统调用的实现方式,内核对时间相关功能的处理,页面回收和页交换的相关机制以及审计的实现等。此外,本书借助内核源代码中**关键的部分进行讲解,帮助读者掌握重要的知识点,从而在运用中充分展现Linux系统的魅力。 本书适合Linux内核爱好者阅读。
目錄
目 录第 1章 简介和概述 11.1 内核的任务 21.2 实现策略 21.3 内核的组成部分 31.3.1 进程、进程切换、调度 31.3.2 UNIX进程 41.3.3 地址空间与特权级别 61.3.4 页表 91.3.5 物理内存的分配 111.3.6 计时 131.3.7 系统调用 131.3.8 设备驱动程序、块设备和字符设备 141.3.9 网络 141.3.10 文件系统 141.3.11 模块和热插拔 151.3.12 缓存 161.3.13 链表处理 161.3.14 对象管理和引用计数 171.3.15 数据类型 201.3.16 本书的局限性 221.4 为什么内核是特别的 231.5 行文注记 231.6 小结 27第 2章 进程管理和调度 282.1 进程优先级 282.2 进程生命周期 302.3 进程表示 322.3.1 进程类型 372.3.2 命名空间 372.3.3 进程ID号 432.3.4 进程关系 492.4 进程管理相关的系统调用 502.4.1 进程复制 502.4.2 内核线程 622.4.3 启动新程序 632.4.4 退出进程 662.5 调度器的实现 672.5.1 概观 672.5.2 数据结构 692.5.3 处理优先级 742.5.4 核心调度器 792.6 完全公平调度类 842.6.1 数据结构 852.6.2 CFS操作 852.6.3 队列操作 892.6.4 选择下一个进程 912.6.5 处理周期性调度器 922.6.6 唤醒抢占 932.6.7 处理新进程 932.7 实时调度类 942.7.1 性质 942.7.2 数据结构 952.7.3 调度器操作 962.8 调度器增强 972.8.1 SMP调度 972.8.2 调度域和控制组 1012.8.3 内核抢占和低延迟相关工作 1022.9 小结 106第3章 内存管理 1073.1 概述 1073.2 (N)UMA模型中的内存组织 1093.2.1 概述 1093.2.2 数据结构 1113.3 页表 1233.3.1 数据结构 1243.3.2 页表项的创建和操作 1293.4 初始化内存管理 1293.4.1 建立数据结构 1303.4.2 特定于体系结构的设置 1353.4.3 启动过程期间的内存管理 1533.5 物理内存的管理 1593.5.1 伙伴系统的结构 1593.5.2 避免碎片 1613.5.3 初始化内存域和结点数据结构 1673.5.4 分配器API 1723.5.5 分配页 1773.5.6 释放页 1923.5.7 内核中不连续页的分配 1953.5.8 内核映射 2013.6 slab分配器 2053.6.1 备选分配器 2063.6.2 内核中的内存管理 2073.6.3 slab分配的原理 2093.6.4 实现 2123.6.5 通用缓存 2263.7 处理器高速缓存和TLB控制 2283.8 小结 230第4章 进程虚拟内存 2314.1 简介 2314.2 进程虚拟地址空间 2314.2.1 进程地址空间的布局 2324.2.2 建立布局 2344.3 内存映射的原理 2374.4 数据结构 2384.4.1 树和链表 2384.4.2 虚拟内存区域的表示 2394.4.3 优先查找树 2414.5 对区域的操作 2444.5.1 将虚拟地址关联到区域 2454.5.2 区域合并 2464.5.3 插入区域 2474.5.4 创建区域 2484.6 地址空间 2504.7 内存映射 2514.7.1 创建映射 2514.7.2 删除映射 2534.7.3 非线性映射 2544.8 反向映射 2574.8.1 数据结构 2584.8.2 建立逆向映射 2594.8.3 使用逆向映射 2594.9 堆的管理 2614.10 缺页异常的处理 2634.11 用户空间缺页异常的校正 2684.11.1 按需分配 调页 2694.11.2 匿名页 2714.11.3 写时复制 2714.11.4 获取非线性映射 2724.12 内核缺页异常 2724.13 在内核和用户空间之间复制数据 2744.14 小结 276第5章 锁与进程间通信 2775.1 控制机制 2775.1.1 竞态条件 2775.1.2 临界区 2785.2 内核锁机制 2795.2.1 对整数的原子操作 2805.2.2 自旋锁 2825.2.3 信号量 2835.2.4 RCU机制 2845.2.5 内存和优化屏障 2865.2.6 读者 写者锁 2875.2.7 大内核锁 2885.2.8 互斥量 2885.2.9 近似的per-CPU计数器 2905.2.10 锁竞争与细粒度锁 2915.3 System V进程间通信 2925.3.1 System V机制 2925.3.2 信号量 2925.3.3 消息队列 3005.3.4 共享内存 3035.4 其他IPC机制 3035.4.1 信号 3035.4.2 管道和套接字 3105.5 小结 311第6章 设备驱动程序 3126.1 I O体系结构 3126.2 访问设备 3166.2.1 设备文件 3166.2.2 字符设备、块设备和其他设备 3176.2.3 使用ioctl进行设备寻址 3196.2.4 主从设备号的表示 3206.2.5 注册 3216.3 与文件系统关联 3246.3.1 inode中的设备文件成员 3246.3.2 标准文件操作 3256.3.3 用于字符设备的标准操作 3256.3.4 用于块设备的标准操作 3256.4 字符设备操作 3266.4.1 表示字符设备 3266.4.2 打开设备文件 3266.4.3 读写操作 3286.5 块设备操作 3296.5.1 块设备的表示 3306.5.2 数据结构 3316.5.3 向系统添加磁盘和分区 3386.5.4 打开块设备文件 3396.5.5 请求结构 3416.5.6 BIO 3436.5.7 提交请求 3456.5.8 I O调度 3506.5.9 ioctl的实现 3526.6 资源分配 3536.6.1 资源管理 3536.6.2 I O内存 3556.6.3 I O端口 3576.7 总线系统 3586.7.1 通用驱动程序模型 3586.7.2 PCI总线 3636.7.3 USB 3706.8 小结 376第7章 模块 3777.1 概述 3777.2 使用模块 3787.2.1 添加和移除 3787.2.2 依赖关系 3807.2.3 查询模块信息 3817.2.4 自动加载 3827.3 插入和删除模块 3847.3.1 模块的表示 3857.3.2 依赖关系和引用 3897.3.3 模块的二进制结构 3917.3.4 插入模块 3967.3.5 移除模块 4037.4 自动化与热插拔 4047.4.1 kmod实现的自动加载 4047.4.2 热插拔 4057.5 版本控制 4087.5.1 校验和方法 4087.5.2 版本控制函数 4117.6 小结 412第8章 虚拟文件系统 4138.1 文件系统类型 4138.2 通用文件模型 4148.2.1 inode 4158.2.2 链接 4168.2.3 编程接口 4168.2.4 将文件作为通用接口 4178.3 VFS的结构 4178.3.1 结构概观 4188.3.2 inode 4198.3.3 特定于进程的信息 4238.3.4 文件操作 4278.3.5 目录项缓存 4318.4 处理VFS对象 4368.4.1 文件系统操作 4368.4.2 文件操作 4508.5 标准函数 4568.5.1 通用读取例程 4578.5.2 失效机制 4598.5.3 权限检查 4618.6 小结 463第9章 Ext文件系统族 4649.1 简介 4649.2 Ext2文件系统 4659.2.1 物理结构 4659.2.2 数据结构 4709.2.3 创建文件系统 4849.2.4 文件系统操作 4859.3 Ext3文件系统 5079.3.1 概念 5089.3.2 数据结构 5099.4 小结 511第 10章 无持久存储的文件系统 51210.1 proc文件系统 51210.1.1 proc的内容 51310.1.2 数据结构 51910.1.3 初始化 52210.1.4 装载proc文件系统 52310.1.5 管理 proc数据项 52510.1.6 读取和写入信息 52810.1.7 进程相关的信息 53010.1.8 系统控制机制 53510.2 简单的文件系统 54210.2.1 顺序文件 54210.2.2 用libfs编写文件系统 54610.2.3 调试文件系统 54710.2.4 伪文件系统 54910.3 sysfs 54910.3.1 概述 55010.3.2 数据结构 55010.3.3 装载文件系统 55410.3.4 文件和目录操作 55610.3.5 向sysfs添加内容 56210.4 小结 564第 11章 扩展属性和访问控制表 56511.1 扩展属性 56511.1.1 到虚拟文件系统的接口 56611.1.2 Ext3中的实现 57011.1.3 Ext2中的实现 57611.2 访问控制表 57711.2.1 通用实现 57711.2.2 Ext3中的实现 58011.2.3 Ext2中的实现 58511.3 小结 585第 12章 网络 58612.1 互联的计算机 58612.2 ISO OSI和TCP IP参考模型 58712.3 通过套接字通信 58912.3.1 创建套接字 59012.3.2 使用套接字 59112.3.3 数据报套接字 59512.4 网络实现的分层模型 59512.5 网络命名空间 59712.6 套接字缓冲区 59912.6.1 使用套接字缓冲区管理数据 60012.6.2 管理套接字缓冲区数据 60212.7 网络访问层 60312.7.1 网络设备的表示 60312.7.2 接收分组 60812.7.3 发送分组 61412.8 网络层 61512.8.1 IPv4 61512.8.2 接收分组 61712.8.3 交付到本地传输层 61812.8.4 分组转发 61912.8.5 发送分组 62012.8.6 netfilter 62312.8.7 IPv6 62712.9 传输层 62812.9.1 UDP 62812.9.2 TCP 63012.10 应用层 64012.10.1 socket数据结构 64012.10.2 套接字和文件 64312.10.3 socketcall系统调用 64412.10.4 创建套接字 64512.10.5 接收数据 64612.10.6 发送数据 64712.11 内核内部的网络通信 64712.11.1 通信函数 64812.11.2 netlink机制 64912.12 小结 654第 13章 系统调用 65513.1 系统程序设计基础 65513.1.1 追踪系统调用 65613.1.2 支持的标准 65813.1.3 重启系统调用 65913.2 可用的系统调用 66013.3 系统调用的实现 66313.3.1 系统调用的结构 66413.3.2 访问用户空间 67013.3.3 追踪系统调用 67013.4 小结 676第 14章 内核活动 67814.1 中断 67814.1.1 中断类型 67814.1.2 硬件IRQ 68014.1.3 处理中断 68014.1.4 数据结构 68214.1.5 中断电流处理 68814.1.6 初始化和分配IRQ 69214.1.7 处理IRQ 69314.2 软中断 70114.2.1 开启软中断处理 70214.2.2 软中断守护进程 70314.3 tasklet 70414.3.1 创建tasklet 70414.3.2 注册tasklet 70414.3.3 执行tasklet 70514.4 等待队列和完成量 70614.4.1 等待队列 70614.4.2 完成量 71014.4.3 工作队列 71114.5 小结 713第 15章 时间管理 71415.1 概述 71415.1.1 定时器的类型 71415.1.2 配置选项 71615.2 低分辨率定时器的实现 71715.2.1 定时器激活与进程统计 71715.2.2 处理jiffies 71915.2.3 数据结构 72015.2.4 动态定时器 72115.3 通用时间子系统 72515.3.1 概述 72615.3.2 配置选项 72715.3.3 时间表示 72715.3.4 用于时间管理的对象 72815.4 高分辨率定时器 73615.4.1 数据结构 73615.4.2 设置定时器 74015.4.3 实现 74015.4.4 周期时钟仿真 74515.4.5 切换到高分辨率定时器 74615.5 动态时钟 74715.5.1 数据结构 74715.5.2 低分辨率系统下的动态时钟 74915.5.3 高分辨率系统下的动态时钟 75115.5.4 停止和启动周期时钟 75215.6 广播模式 75515.7 定时器相关系统调用的实现 75615.7.1 时间基准 75615.7.2 alarm和setitimer系统调用 75715.7.3 获取当前时间 75815.8 管理进程时间 75915.9 小结 760第 16章 页缓存和块缓存 76116.1 页缓存的结构 76216.1.1 管理和查找缓存的页 76216.1.2 回写修改的数据 76316.2 块缓存的结构 76416.3 地址空间 76616.3.1 数据结构 76616.3.2 页树 76816.3.3 地址空间操作 77116.4 页缓存的实现 77416.4.1 分配页 77416.4.2 查找页 77516.4.3 在页上等待 77616.4.4 对整页的操作 77716.4.5 页缓存预读 77816.5 块缓存的实现 78116.5.1 数据结构 78216.5.2 操作 78316.5.3 页缓存和块缓存的交互 78316.5.4 独立的缓冲区 78716.6 小结 792第 17章 数据同步 79317.1 概述 79317.2 pdflush机制 79517.3 启动新线程 79617.4 线程初始化 79617.5 执行实际工作 79817.6 周期性刷出 79817.7 相关的数据结构 79917.7.1 页状态 79917.7.2 回写控制 80017.7.3 可调参数 80217.8 中央控制 80217.9 超级块同步 80417.10 inode同步 80417.10.1 遍历超级块 80517.10.2 考察超级块inode 80517.10.3 回写单个inode 80717.11 拥塞 80917.11.1 数据结构 80917.11.2 阈值 81017.11.3 拥塞状态的设置和清除 81117.11.4 在拥塞队列上等待 81217.12 强制回写 81317.13 膝上模式 81417.14 用于同步控制的系统调用 81517.15 完全同步 81517.15.1 inode的同步 81617.15.2 单个文件的同步 81817.15.3 内存映射的同步 81917.16 小结 820第 18章 页面回收和页交换 82118.1 概述 82118.1.1 可换出页 82218.1.2 页颠簸 82218.1.3 页交换算法 82318.2 Linux内核中的页面回收和页交换 82418.2.1 交换区的组织 82418.2.2 检查内存使用情况 82518.2.3 选择要换出的页 82518.2.4 处理缺页异常 82618.2.5 缩减内核缓存 82618.3 管理交换区 82618.3.1 数据结构 82718.3.2 创建交换区 83018.3.3 激活交换区 83118.4 交换缓存 83418.4.1 标识换出页 83518.4.2 交换缓存的结构 83818.4.3 添加新页 83918.4.4 搜索一页 84318.5 数据回写 84418.6 页面回收 84518.6.1 概述 84518.6.2 数据结构 84718.6.3 确定页的活动程度 85018.6.4 收缩内存域 85318.6.5 隔离LRU页和集中回收 85618.6.6 收缩活动页链表 85918.6.7 回收不活动页 86218.7 交换令牌 86718.8 处理交换缺页异常 87018.8.1 换入页 87018.8.2 读取数据 87218.8.3 交换预读 87318.9 发起内存回收 87318.9.1 用kswapd进行周期性内存回收 87318.9.2 在严重内存不足时换出页 87718.10 收缩其他缓存 87818.10.1 数据结构 87818.10.2 注册和删除收缩器 87918.10.3 收缩缓存 87918.11 小结 880第 19章 审计 88219.1 概述 88219.2 审计规则 88319.3 实现 88419.3.1 数据结构 88419.3.2 初始化 88919.3.3 处理请求 89019.3.4 记录事件 89119.3.5 系统调用审计 89319.4 小结 898附录A 体系结构相关知识 899A.1 概述 899A.2 数据类型 900A.3 对齐 900A.4 内存页面 900A.5 系统调用 901A.6 字符串处理 901A.7 线程表示 902A.8 位操作和字节序 914A.9 页表 916A.10 杂项 916A.11 小结 918附录B 使用源代码 919B.1 内核源代码的组织 919B.2 用Kconfig进行配置 920B.3 用Kbuild编译内核 930B.4 有用的工具 935B.5 调试和分析内核 942B.6 用户模式Linux 945B.7 小结 946附录C 有关C语言的注记 947C.1 GNU C编译器如何工作 947C.2 内核的标准数据结构和技术 967C.3 小结 984附录D 系统启动 985D.1 IA-32系统上与体系结构相关的设置 985D.2 高层初始化 986D.3 小结 998附录E ELF二进制格式 999E.1 布局和结构 999E.2 内核中的数据结构 1006E.3 小结 1018附录F 内核开发过程 1019F.1 简介 1019F.2 内核代码树和开发的结构 1019F.3 补丁的结构 1024F.4 Linux和学术界 1030F.5 小结 1035参考文献 1036

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.