首页 > 解决方案 > gem5 se模式如何执行具有操作系统依赖的程序?

问题描述

Gem5 se 模式是非 os 模式,但我能够在其上执行行锤代码,该代码具有具有 os 依赖关系的命令。但是如果 se 模式下没有 os,那么它们如何在 se 模式下执行。

标签: operating-systemgem5

解决方案


大多数用户态允许的指令只是做通常的事情,即稍微改变 CPU 的状态:触摸寄存器 + 缓存 + 内存。

然后当到达系统调用指令时,系统调用被转发到实际采取行动的主机。

但是,这也需要操作系统进行一些额外的记账,这就是为什么每个系统调用都必须单独实现的原因。

如果我想学习这个:-) 我会看看一个简单的系统调用的实现,比如 brk:

我也会研究 QEMU 用户模式,我认为这将是一个类似的概念,但可能有更多可用的材料。

也许有更好理解的人可以更详细地解释,并进一步注释代码的特定部分。


推荐阅读