深入理解计算机系统笔记 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"字符串中的字节从主存复制到寄存器文件,再从寄存器文件复制到显示设备,最终显示在屏幕上。
将输出字符串从存储器写到显示器