在计算机中简单的hello程序的运行

我之前很好奇就是你所写的代码到底是如何在计算机中执行的,到底是怎样开始,从哪里开始,在哪里执行,到哪里结束,之间到底是怎么的一个过程,带着这些问题,逐渐看这方面的书籍,最近买的《深入理解计算机系统》这本书,刚开始看,把一些东西记录一下。这本书中主要是以C语言为基础进行讨论的。下面说一下在计算机中,hello world /n 是如何运行输出的。

1、初始

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

2、运行hello文件

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

3、显示结果

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

总结:这只是粗略的大概写出hello 程序的执行,其中还有很多细节上的知识点,没有写出来,以待整理。

时间: 2024-08-30 14:40:51

在计算机中简单的hello程序的运行的相关文章

通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的

实验一:通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的 学号:20135114 姓名:王朝宪 注: 原创作品转载请注明出处   <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1 1)实验部分(以下命令为实验楼64位Linux虚拟机环境下适用,32位Linux环境可能会稍有不同) 使用 gcc –S –o main.s main.c -m32 命令编译成汇编代码,如下代码中的数字请自行修改以防与

理解计算机的工作方式——通过汇编一个简单的C程序并分析汇编代码

Author: 翁超平 Notice:原创作品转载请注明出处 See also:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000  本文通过汇编一个简单的C程序,并分析汇编代码,来理解计算机是如何工作的.整个过程都在实验楼上完成,感兴趣的读者可以通过上面给出的课程链接自行动手学习.以下是实验过程和结果. 一.操作步骤 1.首先在通过vim程序建立main.c文件.代码如下: 图1 2.使用如下命令将main.c编

httpd 系统错误 无法启动此程序,因为计算机中丢失VCRUNTIME140.dll

说来话长的搭了一个discuz论坛,服务器是apache,我本地的是直接从官网下的(值得吐槽的是官网居然拿不提供编译版本么要从第三方网站获取,不知道为何....),对应apache之前是搭bug管理系统 mantis用过一下,一看文件目录跟tomcat很是相似,怪不得都是http服务器,QAQ.apache阿里云linux主机安装的就简单多了,几句apt-get install 就搞定了. 进入正题,windows CMD安装apache压缩版本下如下错误 “系统错误 无法启动此程序,因为计算机

安装apache服务出错,无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题

错误信息:无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题 错误场景:在使用["D:\Program Files\httpd-2.4.20-x64-vc14-r2\Apache24\bin\httpd.exe" -k install -n apache]命令,在DOS命令行窗口下安装 apache服务时报错. 错误分析: 解决办法:下载vc++2015 并安装 链接如下:https://www.microsoft.com/zh-cn/do

64位win7 安装apache 无法启动此程序 因为计算机中丢失 MSVCR100.dll

点击链接下载: Microsoft Visual C++ 2010 SP1 Redistributable Package (x64) 安装后就好了 64位win7 安装apache 无法启动此程序 因为计算机中丢失 MSVCR100.dll,布布扣,bubuko.com

OpenCV 无法启动此程序,因为计算机中丢失opencv_core249.dll。请尝试重新安装改程序已解决此问题

换了64位的系统,配置好之后运行之前的程序,竟然给我抛出这个错误.应该是我的opencv没有安装对吧.系统报错 无法启动此程序,因为计算机中丢失opencv_core249.dll.请尝试重新安装改程序已解决此问题 那就是缺少opencv_core249.dll动态链接库了. [解决方法] 1 在安装目录下找到这个链接库 (但是不知道为什么我引用的库还是要x86下的才行,郁闷中) 2 复制到指定的目录下 64位系统 C:\Windows\SysWOW64 32位系统 C:\Windows\Sys

在启动php时,无法启动此程序,由于计算机中丢失MSVCR110.dll的解决方法

在启动php时,运行RunHiddenconsole.exe php-cgi.exe -b 127.0.0.1:9000 -c时,出现错误:无法启动此程序,由于计算机中丢失MSVCR110.dll 方法/步骤 首先进入 http://www.microsoft.com/zh-CN/download/details.aspx? id=30679 这个网址来进行相关程序的下载. 打开之后,在"选择语言"里选择"中文简体".然后点击右边的"下载"but

PB程序“无法启动此程序,因为计算机中丢失PBvm90.dll。尝试重新安装该程序以解决此问题”的解决方法

因为有计算机自考科目,要求使用PB程序做一个管理系统.昨天刚安装好了PB程序,今天使用的时候,当我打开一个PB程序时,出现了"无法启动此程序,因为计算机中丢失PBvm90.dll.尝试重新安装该程序以解决此问题"的提示,如图: 如果这个时候,真的重新安装该程序的话,估计安装多少遍都无济于事.因此,我上网查阅资料,找到了该问题的解决方法. 解决思路: 其实装完PB环境后,是有这个动态库的.我的系统是win8.1 64位的,装完PB后去c盘找了这个动态库,它的位置是这个C:\Program

因为计算机中丢失opencv_world310d.dll,导致opencv程序无法运行问题

运行opencv程序时,将代码从一台电脑移动到另一台电脑时,就提示如题目的问题:因为计算机中丢失opencv_world310d.dll,导致opencv程序无法运行问题 . 网上找了许多方式依然没用,说是64位电脑下  把自己opencv文件目录下的E:\openCV\opencv\build\x64\vc14\bin(本人的路径)中的三个dll文件,拷贝到 C:\window\SysWOW64 中.再去VS下运行即可,但发现依然没用. 用来又把这些dll文件拷贝到 C:\window\Sys