add documents & optimize code
基于CRIU技术(Checkpoint/Restore In Userspace),实现dbus服务的冻结、恢复功能。在冻结时,保存该dbus服务上下文位置关系,进程以CRIU固有形式或其他状态冻结于系统磁盘上;在恢复后,dbus服务可基于原流程继续执行。
1)dbus服务类型为SYSTEM BUS,可自己新建或利用系统原有的dbus服务组件,dbus服务需具备method及signal。 2)在dbus服务被冻结、恢复后,其他dbus服务可接收到dbus-daemon发出的对应操作信号,表明该服务进入冻结状态,退出冻结状态。 3)在dbus服务被冻结时,对该服务的访问需有报错提示,当恢复后,访问可正常进行。 4)dbus服务在恢复后与冻结前的程序上下文位置保持一致。 5)支持在系统重启后的进程正常恢复功能。 6)额外功能:支持同架构下跨设备的冻结与恢复。 7)支持基于wayland图形化应用的冻结与恢复。 8)进程恢复耗时需远优于直接启动该进程耗时。
zhangtingting@kylinos.cn
1)https://man.archlinux.org/man/criu.8.en 2)https://criu.org/Main_Page
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
基于CRIU技术实现dbus服务的冻结与恢复
作品完成和提交方式:选择本赛题的参赛队伍需要首先复刻(Fork)本项目,然后在复刻的项目中添加参赛队员、合作完成作品开发即可,无需提交PR到赛题项目。如果作品为文档形式,也请将作品文档提交到项目代码库中。在作品完成过程中,围绕作品的相关讨论等可以以疑修(Issue)形式发布和讨论,也可使用里程碑对整个任务进行规划管理。
1. 赛题说明
基于CRIU技术(Checkpoint/Restore In Userspace),实现dbus服务的冻结、恢复功能。在冻结时,保存该dbus服务上下文位置关系,进程以CRIU固有形式或其他状态冻结于系统磁盘上;在恢复后,dbus服务可基于原流程继续执行。
2. 赛题要求
1)dbus服务类型为SYSTEM BUS,可自己新建或利用系统原有的dbus服务组件,dbus服务需具备method及signal。 2)在dbus服务被冻结、恢复后,其他dbus服务可接收到dbus-daemon发出的对应操作信号,表明该服务进入冻结状态,退出冻结状态。 3)在dbus服务被冻结时,对该服务的访问需有报错提示,当恢复后,访问可正常进行。 4)dbus服务在恢复后与冻结前的程序上下文位置保持一致。 5)支持在系统重启后的进程正常恢复功能。 6)额外功能:支持同架构下跨设备的冻结与恢复。 7)支持基于wayland图形化应用的冻结与恢复。 8)进程恢复耗时需远优于直接启动该进程耗时。
3. 赛题导师
zhangtingting@kylinos.cn
4. 参考资料
1)https://man.archlinux.org/man/criu.8.en 2)https://criu.org/Main_Page