diff --git "a/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223\346\212\245\345\221\212-Shl.md" "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223\346\212\245\345\221\212-Shl.md" new file mode 100644 index 00000000000..89f24821404 --- /dev/null +++ "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\346\200\273\347\273\223\346\212\245\345\221\212-Shl.md" @@ -0,0 +1,16 @@ +--- +title: <2023秋冬季开源操作系统训练营总结报告-Shl> +date: 2024-01-07 15:09:48 +tags: +--- + +#Unikernel 总结报告 + +经过若干天关于unikernel的学习,对于单一特权级的操作系统有了全新认识完成了练习1-5,练习分别为:支持彩色打印、支持HashMap、修改内存分配算法、增加一个axdtb的模块组件、修改fifo算法通过ex5测试应用 +## 练习心得 + +练习了修改代码、不断检错纠错能力和熟悉了unikernel启动流程、单一特权级、单一应用、单一地址空间的操作系统的工作流程、练习一完成了`axstd::println`的修改、练习二;通过阅读标准库HashMap加以修改、连续三实现earlyallocator的内存分配方法、修改协作式调度为抢占式调度运行ex5程序、 + +##实验心得 + +实验一和二,将程序数据按照一定格式保存到app.bin文件中修改汇编指令,加载外部应用,实现app loader的外部应用加载器;实验三为公国ABI调用ArceOS功能,两个医用一个是`nop`、一个是`wfi`;实验四、实现`sys_hello`和`sys_putchar`、`sys_terminate`功能调用,通过std::process::exit退出ArceOS;实验五为改造应用hello_app,建立独立页表,把系统调用包装成函数,通过初始化和切换函数实现程序