- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于kexec菝呤迪
基于 kexec 的休眠实现
2008/ 1/2 1
黄瀛
2008 Linux 开发者研讨会 – 中国
议程
介绍
• Kexec
• Kdump
• 休眠
• 基于Kexec 的休眠
对kexec/kdump 的增强
• 保护内存内容
• 从辅 内核跳回
• 保存/ 恢复状态
• 写内存镜像
基于kexec 的唤醒
• 恢复内存镜像
ACPI 相关问题
结论
2
Kexec
Kexec 是什么?
• 在当前内核中载入另一个内核执行
实现
• 载入
– /sbin/kexec 把内核镜像(bzImage) 载入内存(source 页)
– 设置启动参数
• 执行
– 准备设备 (shutdown)
– 切换到物理地址模式 ( 关闭分页)
– 把内核镜像拷贝到目标位置 (destination 页)
– 跳转到载入的内核
3
Kexec – 续
Source pages
Memory contents of original
kernel is overwritten by
Destination pages
kexeced kernel
Memory range used
by kexeced kernel
Copy to destination
4
Kdump
kdump 是什么?
• 在crash 时,使用kexec 把原内核的内存内容写入磁盘
实现
• 在启动时保留一段内存区域
• /sbin/kexec 把辅 内核镜像载入保留的内存区域
• 辅 内核仅使用保留的内存区域 (memmap=exactmap ...)
• 使用/proc/vmcore 把原内核的内存内容写入磁盘。
/proc/vmcore 是一个E F 文件,其每个段对应原内核的每一个
内存区域
5
Kdump – 续
Memory contents of original
kernel is preserved
Used as both loaded and
destination location
Memory range used
by dumping kernel
文档评论(0)