Operating system gem5 se模式如何执行具有操作系统依赖关系的程序?

Operating system gem5 se模式如何执行具有操作系统依赖关系的程序?,operating-system,gem5,Operating System,Gem5,Gem5 se模式是非操作系统模式,但我能够在它上面执行具有操作系统依赖项的命令行hammer代码。但若在se模式下并没有操作系统,那个么它们在se模式下是如何执行的。大多数用户允许的指令只是做通常的事情,那个就是稍微改变CPU的状态:触摸寄存器+缓存+内存 然后,当到达syscall指令时,syscall被转发到实际执行操作的主机 然而,这也需要操作系统进行一些额外的簿记,这就是为什么每个系统调用都必须单独实现的原因 如果我想了解这一点:-)我将研究一个简单系统调用的实现,如brk:

Gem5 se模式是非操作系统模式,但我能够在它上面执行具有操作系统依赖项的命令行hammer代码。但若在se模式下并没有操作系统,那个么它们在se模式下是如何执行的。

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

然后,当到达syscall指令时,syscall被转发到实际执行操作的主机

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

如果我想了解这一点:-)我将研究一个简单系统调用的实现,如brk:

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


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

作为这方面的新手,我对syscall不太了解。事实上,我已经在fs和se模式下运行了row hammer代码来从DRAMSim2内存中收集日志。正如我所知,在fs模式下,日志将包括来自os的日志,在se模式下的日志是否只包含程序日志或其他因素的日志。@PrakharGurawa听起来很酷,当您在GitHub上运行PoC时,给我发送一个链接@PrakharGurawa您的问题得到答案了吗?>“se模式下的日志是否只包含程序日志或其他因素的日志”??我有同样的问题。ThanksIt值得注意的是,QEMU在linux上有一个KVM模式,它与普通模式不同。您是如何在gem5 SE模式下运行rowhammer代码的?我收到以下错误:
致命:克隆:系统中没有备用线程上下文
@parisa您需要通过gem5 CLI增加内核数量,每个分叉来宾进程至少一个。