初始时:
shell程序执行它的指令,等待输入一个命令,当在键盘上输入”./hello”后,shell程序将字符逐一读入寄存器,再把它存入内存中。
从键盘上读取hello命令步骤如图:
当我们在键盘上敲入回车键时:
shell程序就知道我们结束了命令输入。然后shell执行一系列指令来加载可执行的helloworld文件,这些指令将helloworld目标文件中的代码和数据从磁盘复制到主存;
数据包括最终会被输出到”helloworld!n”。
利用直接存储器存取(DMA)技术,数据可以不通过CPU直接从磁盘到达主存。
从磁盘加载可执行文件到主存的步骤如图:
——————————————————————
一旦目标文件helloworld中的代码和数据被加载到主存,CPU便开始执行hello程序中的main程序中的机器语言指令。
这些指令将”helloworld!n”字符串中的字节从主存复制到寄存器文件,在从寄存器文件复制到显示设备,最终显示在显示在屏幕上.
将输出字符串从存储器写到显示器的步骤如图: