我正在学习 OS 课程,我们需要扩展 XV6exit()
以支持退出状态,因此我们正在编写exit2(int)
.
为了保存被杀死进程的退出状态,我想到了两个候选者。
第一个选项是
struct proc
为退出状态添加一个变量。我对这个解决方案的问题是,它涉及到一个很小的原因改变操作系统的基本结构,而且这意味着我将为每个进程都有一个垃圾整数,这不是最好的主意。第二个想法是将退出状态保存在被杀死进程的陷阱帧寄存器中,但是我内心有一些东西说我不应该相信
eax
被杀死进程中的值。
有什么更好的主意?(或更糟)