美文网首页
运行 hello 程序

运行 hello 程序

作者: Sun东辉 | 来源:发表于2022-07-28 11:00 被阅读0次

    前面简单描述了系统的硬件组成和操作,现在开始介绍当我们运行示例程序时到底发生了什么。在这里必须省略很多细节,稍后会做补充,但是现在我们将很满意于这种整体上的描述。

    初始时,shell 程序执行它的指令,等待我们输入一个命令。假设我们现在要运行一段 hello 程序,当我们在键盘上输入字符串 “./hello” 后,shell 程序将字符逐一读入寄存器,再把它存放到内存中。

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

    利用直接存储器存取(DMA,将在第 6 章中讨论)技术,数据可以不通过处理器而直接从磁盘到达主存。

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

    整个步骤如下图所示:


    相关文章

      网友评论

          本文标题:运行 hello 程序

          本文链接:https://www.haomeiwen.com/subject/apezirtx.html