深入理解计算机系统笔记 2020-10-19

2020-10-20  本文已影响0人  White夏天baby

1.4.2

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

从键盘上读取hello命令

当敲回车键时,shell知道已经结束了命令的输入。然后,shell执行一系列指令来加载可执行文件hello,这些指令将hello目标文件中的代码和数据从磁盘复制到主存。数据包括最终会被输出的字符串。

利用直接存取器存取(DMA)技术,数据可以不通过处理器而直接从磁盘到达主存。如下图所示

从磁盘加载可执行文件到主存

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

将输出字符串从存储器写到显示器
上一篇下一篇

猜你喜欢

热点阅读