CSAPP随笔:hello world到底是怎么运行的?
Posted fourmi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSAPP随笔:hello world到底是怎么运行的?相关的知识,希望对你有一定的参考价值。
通过命令行执行 ./test
拆分:
0. shell是干什么的?:shell输出提示符,等待输入一个命令行并执行,若该字符串的首个单词不是shell命令,就假设为一个可执行文件的名称,进行加载并执行。
1. 键盘敲入"./test"过程:shell将从键盘敲入的字符串一个个的读入寄存器,再由寄存器放到主存中。(键盘->寄存器->主存)
2. 按Enter键:进行加载执行文件的操作,按Enter表示结束命令行的输入,将hello目标文件中的代码和数据从磁盘复制到主存中。(这里通过DMA可以让数据不经过CPU(包含CPU执行的操作及存储的寄存器占用))。(磁盘->主存)
3. 执行显示:主存中的代码及数据有了后,处理器执行main中的机器指令。将“hello world\\n”字符串从主存复制到寄存器文件,再从寄存器文件复制到显示设备(屏幕)上。(主存->寄存器->屏幕)
以上是关于CSAPP随笔:hello world到底是怎么运行的?的主要内容,如果未能解决你的问题,请参考以下文章