1.4.2
初始时,shell程序执行它的指令,等待我们输入一个命令。当我们输入“./hello"后,shell程序将字符逐一读如寄存器,再把它放入内存中。如下图所示:

当敲回车键时,shell知道已经结束了命令的输入。然后,shell执行一系列指令来加载可执行文件hello,这些指令将hello目标文件中的代码和数据从磁盘复制到主存。数据包括最终会被输出的字符串。
利用直接存取器存取(DMA)技术,数据可以不通过处理器而直接从磁盘到达主存。如下图所示

一旦目标文件中代码和数据被加载到主存,处理器就开始执行hello程序的main程序中的机器语言指令。这些指令将"hello,world\n"字符串中的字节从主存复制到寄存器文件,再从寄存器文件复制到显示设备,最终显示在屏幕上。

网友评论