release: refresh v1.0.1 demo materials
██████╗ ██████╗ ██████╗ ████████╗███████╗███████╗███╗ ███╗ ██╔══██╗██╔═══██╗██╔═══██╗╚══██╔══╝██╔════╝██╔════╝████╗ ████║ ██████╔╝██║ ██║██║ ██║ ██║ ███████╗█████╗ ██╔████╔██║ ██╔══██╗██║ ██║██║ ██║ ██║ ╚════██║██╔══╝ ██║╚██╔╝██║ ██████╔╝╚██████╔╝╚██████╔╝ ██║ ███████║███████╗██║ ╚═╝ ██║ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝
BootSem 是面向 openKylin 桌面系统的可解释启动优化与证据审计工具:它把启动采集、关键路径分析、风险审查、可回滚优化和结果验证串成一条可复核的证据链。
BootSem 不把服务裁剪当作黑名单操作,而是综合启动时序、依赖关系、桌面语义、风险知识图谱和受控实验结果,区分可优化项、桌面核心能力、环境波动和需要人工确认的高风险建议。
Go TUI 默认展示冻结的 FORMAL Snapshot,也可以在只读约束下切换到本地 LIVE Results。正式快照和实时结果不会混合展示。
TUI 的数据来源、快捷键和安全模型见 Go TUI README。
以下流程适用于 Linux、Bash 和已安装 systemd-analyze 的环境。它只进行采集、分析和查看,不会修改系统配置。
git clone https://www.gitlink.org.cn/HpDE6ZqTPa/okczxtqdxnfxyyh.git cd okczxtqdxnfxyyh python3 -m venv .venv . .venv/bin/activate python -m pip install -r requirements.txt python -m unittest discover tests ./run.sh help ./run.sh analyze
如果需要 Go TUI,再执行 make go-tui,然后运行 ./run.sh tui。没有 Linux 或 systemd-analyze 时,可以先在开发机运行 Go TUI,使用内嵌只读 Formal Snapshot 查看界面;这条路径不能替代真实环境采集,也不会生成正式优化收益结论。
make go-tui
./run.sh tui
核心 Python 分析模块主要使用标准库。依赖清单见 requirements.txt。
Ubuntu、Debian 和 openKylin 可先安装基础工具:
sudo apt update sudo apt install -y python3 python3-venv bash systemd
Go 1.21+ 仅在重新构建 Go TUI 时需要;jq、bc 仅在运行部分基准脚本时需要。真实启动分析需要 systemd-analyze、systemctl 和可读取的系统日志;没有这些工具时只能运行模拟分析、单元测试和 Formal Snapshot 演示。
systemd-analyze
systemctl
python3 -m venv .venv . .venv/bin/activate python -m pip install -r requirements.txt
构建 Go TUI:
make go-tui go -C go-tui test ./...
构建产物放在 go-tui/dist/,不会提交到仓库。完整构建说明见 go-tui/README.md。
安装完成后可用以下命令进行基础验证:
python -m unittest discover tests ./run.sh analyze ./run.sh report
analyze、diagnose、report、verify 和 optimize --dry-run 默认不修改系统;实际应用优化需要人工确认和 sudo 权限:
analyze
diagnose
report
verify
optimize --dry-run
sudo
sudo ./run.sh optimize --yes
BootSem 的推荐工作流是五个可检查阶段,而不是一条命令直接删服务:
analyze → diagnose → review/plan → optimize → verify │ │ │ │ │ 原始证据 关键路径 风险审查 受控变更 功能与收益门禁
./run.sh analyze
读取启动时间、服务状态、依赖链和内核/系统日志,生成 analysis_result.json、HTML/Markdown 报告及因果诊断基础数据。
./run.sh diagnose ./run.sh causal-diagnose ./run.sh risk-knowledge
规则诊断负责定位启动瓶颈;反事实因果诊断区分“可优化、需解释、受保护”;风险知识图谱为桌面、网络、输入、账户、存储和硬件相关服务提供保护依据。
./run.sh plan ./run.sh evidence-manifest ./run.sh agent-gate
候选项必须绑定到分析证据、风险说明、依赖影响和回滚路径。agent-gate 会检查证据资格、来源哈希、正式快照和提交卫生规则。
sudo ./run.sh optimize --dry-run sudo ./run.sh optimize --yes sudo ./run.sh optimize --rollback
高风险内核参数不会默认选中;应用入口只接受项目定义的选择项和固定确认词,不提供自由 Shell 或密码入口。
./run.sh verify ./run.sh benchmark ./run.sh final-summary
验证先检查功能完整性,再检查证据完整性和统计门禁。正式结果要求有效样本数量、唯一 boot/session、前后协议一致和首用功能探针均满足要求。
默认结果目录是 tests/data/results/。运行时产物被 .gitignore 排除;正式提交只保留冻结快照和经审核的材料。
正式性能结论来自冻结的 Formal Snapshot,采用 5 轮有效冷启动样本的中位数,不使用单次最佳值。
两组冷启动样本均为 5/5 有效,均使用 systemd backend,记录 KARE not detected。优化后的正式桌面会话为独立 RC12 campaign,不替代 RC5→RC10 冷启动结果。
正式证据至少应能回答:样本是否来自真实 systemd 启动;每轮是否有唯一 boot/session ID;原始文件、摘要和报告能否通过来源哈希关联;优化前后是否使用同一采集协议;首用功能、网络、显示和桌面会话是否通过门禁。
Go TUI 默认打开只读 Formal Snapshot。切换 Live Results 只表示读取本地实时结果,不代表这些结果自动具备正式证据资格。
Ubuntu 和 Debian 的结果用于验证采集、分析、风险审计和功能检查能力;它们没有完成与 openKylin 相同的正式前后对照协议,因此不宣称跨发行版性能收益。
使用 Go TUI 的 Formal Snapshot 或运行测试夹具;不要把固定快照写成真实启动结果。
确认 Live Results 目录存在 analysis_result.json、benchmark_after.json、evidence_manifest.json 和 agent_gate_report.json,检查结果文件时间戳,然后重新运行 ./run.sh analyze 或 ./run.sh report。
先运行 sudo ./run.sh optimize –dry-run,检查候选项、风险等级、依赖影响和回滚路径。高风险项、保护项、未在优化目录中的项或缺少 BOOTSEM 确认都会被拒绝。
按顺序检查有效样本数、唯一 boot/session、来源 SHA-256、正式快照、桌面首用探针和功能验证报告。不要用修改报告文字的方式掩盖原始证据缺口。
python -m unittest discover tests go -C go-tui test ./... make test ./tests/verify.sh git diff --check
BootSem/ ├── analyzer/ Python 分析、诊断、风险和证据模块 ├── optimizations/ 优化目录和受控应用脚本 ├── scripts/ 桌面标记、测量和采集脚本 ├── tests/ 单元测试、行为测试和验证夹具 ├── tools/ 报告、摘要和辅助工具 ├── go-tui/ Go 终端证据控制台 ├── figures/ 说明图和演示图 ├── run.sh 统一命令入口 ├── Makefile 构建、测试和质量门禁 └── pyproject.toml Python 项目配置
提交前请确认测试通过、git diff –check 通过,并且没有把虚拟环境、VM/ISO、运行时结果、构建产物或审计解包目录加入提交。
BootSem 当前正式结果主要来自受控虚拟机重启和有限批次测量,不能直接等同于物理断电冷启动,也不能据此对所有发行版、硬件或桌面环境作普遍性能承诺。
本项目为中国研究生操作系统开源创新大赛参赛作品。Go TUI 子目录保留其随附许可证说明。使用或扩展 BootSem 时,请同时保留原始证据、实验协议和结果边界。
当前正式发行版为 v1.0.1。源码包仅包含可移植的代码、测试、构建脚本、README 和 MIT 许可证;项目说明书、汇报 PPT、演示视频和说明图片作为发行版材料单独提供。
v1.0.1
ecut
BootSem 面向 openKylin 桌面系统启动性能分析场景,通过桌面语义建模、systemd/D-Bus 环境适配和不可变证据链,定位影响桌面可用性的关键启动路径。项目提供 analyze → diagnose → review → optimize → verify 完整工作流,支持正式采集、统计分析、优化审查、安全门禁和回滚验证,并以 TUI 界面和结构化结果输出可复核的分析结论。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
BootSem:基于桌面语义建模的 openKylin 启动关键路径分析与可回滚优化
1. 项目定位
BootSem 是面向 openKylin 桌面系统的可解释启动优化与证据审计工具:它把启动采集、关键路径分析、风险审查、可回滚优化和结果验证串成一条可复核的证据链。
BootSem 不把服务裁剪当作黑名单操作,而是综合启动时序、依赖关系、桌面语义、风险知识图谱和受控实验结果,区分可优化项、桌面核心能力、环境波动和需要人工确认的高风险建议。
2. 界面与功能示例
Go TUI 默认展示冻结的 FORMAL Snapshot,也可以在只读约束下切换到本地 LIVE Results。正式快照和实时结果不会混合展示。
TUI 的数据来源、快捷键和安全模型见 Go TUI README。
3. 快速上手
以下流程适用于 Linux、Bash 和已安装 systemd-analyze 的环境。它只进行采集、分析和查看,不会修改系统配置。
如果需要 Go TUI,再执行
make go-tui,然后运行./run.sh tui。没有 Linux 或 systemd-analyze 时,可以先在开发机运行 Go TUI,使用内嵌只读 Formal Snapshot 查看界面;这条路径不能替代真实环境采集,也不会生成正式优化收益结论。4. 安装要求与依赖
核心 Python 分析模块主要使用标准库。依赖清单见 requirements.txt。
Ubuntu、Debian 和 openKylin 可先安装基础工具:
Go 1.21+ 仅在重新构建 Go TUI 时需要;jq、bc 仅在运行部分基准脚本时需要。真实启动分析需要
systemd-analyze、systemctl和可读取的系统日志;没有这些工具时只能运行模拟分析、单元测试和 Formal Snapshot 演示。构建 Go TUI:
构建产物放在 go-tui/dist/,不会提交到仓库。完整构建说明见 go-tui/README.md。
安装完成后可用以下命令进行基础验证:
analyze、diagnose、report、verify和optimize --dry-run默认不修改系统;实际应用优化需要人工确认和sudo权限:5. 标准工作流:采集、诊断、审查、优化与验证
BootSem 的推荐工作流是五个可检查阶段,而不是一条命令直接删服务:
5.1 采集与分析(Analyze)
读取启动时间、服务状态、依赖链和内核/系统日志,生成 analysis_result.json、HTML/Markdown 报告及因果诊断基础数据。
5.2 瓶颈诊断(Diagnose)
规则诊断负责定位启动瓶颈;反事实因果诊断区分“可优化、需解释、受保护”;风险知识图谱为桌面、网络、输入、账户、存储和硬件相关服务提供保护依据。
5.3 方案生成与审查(Review / Plan)
候选项必须绑定到分析证据、风险说明、依赖影响和回滚路径。agent-gate 会检查证据资格、来源哈希、正式快照和提交卫生规则。
5.4 受控优化与回滚(Optimize)
高风险内核参数不会默认选中;应用入口只接受项目定义的选择项和固定确认词,不提供自由 Shell 或密码入口。
5.5 功能与收益验证(Verify)
验证先检查功能完整性,再检查证据完整性和统计门禁。正式结果要求有效样本数量、唯一 boot/session、前后协议一致和首用功能探针均满足要求。
6. 命令参考与输出说明
默认结果目录是 tests/data/results/。运行时产物被 .gitignore 排除;正式提交只保留冻结快照和经审核的材料。
7. 证据协议与正式评测结果
正式性能结论来自冻结的 Formal Snapshot,采用 5 轮有效冷启动样本的中位数,不使用单次最佳值。
openKylin 2.0 SP2
两组冷启动样本均为 5/5 有效,均使用 systemd backend,记录 KARE not detected。优化后的正式桌面会话为独立 RC12 campaign,不替代 RC5→RC10 冷启动结果。
正式证据至少应能回答:样本是否来自真实 systemd 启动;每轮是否有唯一 boot/session ID;原始文件、摘要和报告能否通过来源哈希关联;优化前后是否使用同一采集协议;首用功能、网络、显示和桌面会话是否通过门禁。
8. 安全模型、权限控制与回滚机制
9. 实测数据与模拟数据边界
Go TUI 默认打开只读 Formal Snapshot。切换 Live Results 只表示读取本地实时结果,不代表这些结果自动具备正式证据资格。
10. 跨发行版兼容性矩阵
Ubuntu 和 Debian 的结果用于验证采集、分析、风险审计和功能检查能力;它们没有完成与 openKylin 相同的正式前后对照协议,因此不宣称跨发行版性能收益。
11. 故障排查与常见问题
没有 systemd-analyze
使用 Go TUI 的 Formal Snapshot 或运行测试夹具;不要把固定快照写成真实启动结果。
TUI 没有显示最新结果
确认 Live Results 目录存在 analysis_result.json、benchmark_after.json、evidence_manifest.json 和 agent_gate_report.json,检查结果文件时间戳,然后重新运行 ./run.sh analyze 或 ./run.sh report。
Optimize 被拒绝
先运行 sudo ./run.sh optimize –dry-run,检查候选项、风险等级、依赖影响和回滚路径。高风险项、保护项、未在优化目录中的项或缺少 BOOTSEM 确认都会被拒绝。
正式门禁失败
按顺序检查有效样本数、唯一 boot/session、来源 SHA-256、正式快照、桌面首用探针和功能验证报告。不要用修改报告文字的方式掩盖原始证据缺口。
12. 开发指南、测试体系与目录结构
提交前请确认测试通过、git diff –check 通过,并且没有把虚拟环境、VM/ISO、运行时结果、构建产物或审计解包目录加入提交。
13. 研究结论边界与许可证
BootSem 当前正式结果主要来自受控虚拟机重启和有限批次测量,不能直接等同于物理断电冷启动,也不能据此对所有发行版、硬件或桌面环境作普遍性能承诺。
本项目为中国研究生操作系统开源创新大赛参赛作品。Go TUI 子目录保留其随附许可证说明。使用或扩展 BootSem 时,请同时保留原始证据、实验协议和结果边界。
14. 发行版与源码包
当前正式发行版为
v1.0.1。源码包仅包含可移植的代码、测试、构建脚本、README 和 MIT 许可证;项目说明书、汇报 PPT、演示视频和说明图片作为发行版材料单独提供。相关文档
ecut)