hello程序的运行过程-从计算机系统角度

1、gcc编译器驱动程序读取源程序文件hello.c,并将它翻译成一个可执行目标文件hello。翻译过程分为四个阶段:预处理阶段,编译阶段,汇编阶段,链接阶段。

2、初始时,shell程序执行它的指令,等待我们输入一个命令。当我们在键盘上输入字符串“./hello”后,shell程序将字符读入CPU的寄存器中,再把它存放到主存中。

3、当我们敲回车键时,结束命令的输入,然后shell程序执行一系列指令来加载可执行的hello文件,这些指令将hello目标文件中的代码和数据从磁盘复制到主存。(数据通过DMA直接存储器存取计算,直接从磁盘到达内存)。

4、一旦目标文件hello中的代码和数据都加载到主存中,处理器就开始执行main程序中的机器语言指令,将输出结果从主存复制到寄存器中,然后再从寄存器中复制到显示设备,最终显示到屏幕上。

最新文章

  1. TID大会学习心得之软技能
  2. C#中==与Equals方法的区别
  3. ubuntu中maven建的web项目不能将project facet设置为 dynamic web module 3.0
  4. struct和union分析实例
  5. Thinkpad E430 Ubuntu 14.04 无线网卡驱动
  6. Unity3d 无网络权限下打开网站
  7. flume学习安装
  8. 单片机C语言基础编程源码六则
  9. 图片处理类 类库--C#
  10. Socket网络编程(二)
  11. swiper默认显示三个,中间放大且显示全部图片两边显示部分图片的实现方法
  12. 腾讯云centos7.2安装jdk1.7 tomcat7.0部署项目示例
  13. 文件上传:swfupload.js、blueimp-file-upload
  14. [转帖] infiniband的协议速度
  15. ibatis的缓存机制
  16. HttpServer发送数据到kafka
  17. linux 下各个4K区块文件大小测试速度对比 机械硬盘性能 64K性价比收益最高
  18. 利用VS2015开发python版本的caffe应用
  19. Java之IO流(字节流,字符流)
  20. python笔记2-冒泡排序

热门文章

  1. 19年读100本书之第二本--《OKR工作法》-克里斯蒂娜 沃特克
  2. [转]Shell编程
  3. 报错PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"
  4. oracle SQL 练习
  5. A*算法和K短路(A*)
  6. linux#自启动脚本
  7. 源码安装openldap(转)
  8. autoit 《FAQ 大全》
  9. win7/10获取本地wifi密码明文
  10. VUE 动态切换列表active样式