谁能解释一下“你好世界!”相对于现代Linux或Unix机器上的现代软件和硬件栈而言?在遵循helloworld.c程序生成的二进制文件上执行$ strace,以write()系统调用结束。我希望有人能引导我们的专家了解操作系统、加载的设备驱动程序和硬件(如CPU、GPU、PCIe和USB端口(连接到外部显示器)之间发生的所有交互,而字节"Hello!“从helloworld程序的虚拟内存中复制。最好知道各种软件和硬件事务的发起者是谁,他们是如何交互的,比如中断、总线事务等等。
#include<stdlib.h>
#include<stdio.h>
int m
/*
* The below -8 is to reserve 8 bytes on top of the ring0 stack.
* This is necessary to guarantee that the entire "struct pt_regs"
* is accessible even if the CPU haven't stored the SS/ESP registers
* on the stack (interrupt gate does not save these registers
* when switching to t