VMware对挂起linux快照文件的进程分析

写作业,记录一下心得。致敬阳神。


以下内容都是我的个人理解,可能有各种偏差。。。orz

虚拟机在进行挂起时,为了在下一次打开时能够直接使用,它保存了当前状态的内存信息!

我猜是虚拟机突然剥夺了什么资源吧,然后整个系统就在等资源了,然后趁机拷贝内存。。。


内存拷贝好后是一个*.vmem文件,大小应该是等于你分配的内存大小。


把它复制到一个风水宝地,比如你外界的的c++工程目录。




然后就开始分析吧:



首先要看进程信息,就要知道进程的管理是靠PCB控制块,那么,内存里的PCB控制块放在哪里呢?

讲道理我是不知道的,但是,所有的总得有个头吧。也就是传说中的0号进程——init_task


0号进程是linux初始化的第一个进程,直接由系统生成,他被定义在Syetem.map里,这个文件在linux的boot里



无法直接查看的,只有用命令行,要root才能cat



这样你生成一个xxxx.txt的文件,其实就是把这个玩意复制了一份,现在你可以查看xxxx.txt了


通过简单的搜索,可以找到init_task的位置。

我的在56410行


我还是不太习惯linux,所以大部分操作都在windows(其实现在已经对linux有些好感了)



好了,我们找到了它对应的地址,就是c1863200,这个是个虚拟地址,映射到物理地址就是直接减去0

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值