Gem5 se模式是非os模式,但是我能够在其上执行具有与os依赖关系的命令的行锤代码。但是,如果se模式下没有os,那么它们如何在se模式下执行。 / p>
答案 0 :(得分:2)
大多数用户权限所允许的指令只是做平常的事情,即稍微改变CPU的状态:触摸寄存器+缓存+内存。
然后,当到达系统调用指令时,系统调用将转发到实际执行操作的主机。
但是,这也需要操作系统进行一些额外的记账,这就是为什么每个单独的syscall必须单独实现的原因。
如果我想学习这个:-)我将看一下像brk这样的简单syscall的实现:
我还将研究QEMU用户模式,我认为那里将是一个类似的概念,但是可能会有更多的可用材料。
也许有一个更好的了解的人可以更详细地解释,并进一步注释代码的特定部分。