`
gelongmei
  • 浏览: 198208 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

hello world程序执行过程

阅读更多
以linux系统为例
hello world程序执行过程
在linux系统终端中输入一条命令:echo hello world! 显示字符”hello world!”
用户在输入echo hello world!时,shell程序会将键盘输入的每一个字符逐一读入CPU寄存器中,然后再保存到主存储器中,在主存储器中形成字符串”echo hello world!”,当按下Enter键时,shell将调出linux系统的API接口函数”echo”,hello、world!作为echo函数的参数被使用,此时系统通过80端口:int 80产生一个软中断,由父进程通过fork(),创建一个子进程,需要申请空白PCB,为进程分配所需的资源,并初始化PCB,将其加入就绪队列。当该进程的时间片到达时,操作系统设置CPU上下文环境,并跳到程序开始处。
linux系统采用页式存储管理,程序的第一条指令执行,失败,缺页中断发生,此时操作系统需要分配一页内存,并通过软终端的方式调用磁盘驱动程序将代码从磁盘读入,读入之前需要保存现场,中断完成恢复现场,linux将外设认为是文件,数据将通过读接口调入内存。以后发生更多的缺页中断,读入更多的页面,若命中则无需产生中断。字符的显示同样需要系统调用,产生中断,调用设备驱动程序。将字符发送到窗口系统的缓冲区,告诉窗口系统它要显示字符串,窗口系统将字符串转成像素,写入存储映像区,视频硬件将成像素表示转换成一组模拟信号,接下来我们就能看到输出的hello world了
分享到:
评论

相关推荐

    Hello world程序

    Hello world程序 Hello world程序 Hello world程序 Hello world程序 Hello world程序 Hello world程序

    helloworld程序过程文件

    helloworld.c编译为可执行文件helloworld的过程文件 helloworld.c helloworld.i helloworld.s helloworld.o helloworld

    编写 hello world web 程序

    • 在命令行打印 hello world! 字符 //mkdir nodejs-demo //cd nodejs-demo // https://sample.wangding.in/nodejs/tern-project //mv tern-project .tern-project //mkdir 01-introduction //touch 01-hello-world....

    hello world 程序

    hello world 程序 hello world 程序 hello world 程序 hello world 程序 hello world 程序

    linux环境下用makefile编译简单的helloworld程序

    linux环境下用makefile编译简单的helloworld程序,里面有详细的编译步骤,有写makefile文件时需要注意的一些细节,读者只需按照说明,按部就班地执行就可以成功,欢迎下载!

    认识Android入门的HelloWorld程序

    本文目标有二:一是讲解从Android Studio角度看,一个Android应用程序的项目由哪几部分构成;二是剖析程序是怎么运行的。

    深入浅出hello world

    从一个简单的hello,world程序开始,经过预处理、编译、汇编、链接、加载各个步骤详细介绍程序从编辑到执行的过程。深入的讲解了linux下程序的编译过程,并且讲解了linux kernel系统调用的相关知识。

    Java零基础 - HelloWorld程序.md

    本文详细介绍了Java零基础的HelloWorld程序的源码和运行过程。通过学习本文,您将了解以下内容: HelloWorld程序的基本结构和语法; 如何编写和运行简单的Java程序; 如何使用System.out.println方法输出文本信息。...

    一个HelloWorld界面程序例子

    一个HelloWorld界面程序例子,关于界面设计的,通过学习来提升自己

    Java语言简介+JDK安装+配置+第一个程序HelloWorld编译运行

    Java语言简介+JDK安装+配置+第一个程序HelloWorld编译运行

    Java开发-HelloWorld程序源码

    只要java程序配置完之后即可运行此源码

    MDK5.15版本的HelloWorld

    这是我自己在MDK5.15环境写的一个STM32F103RCT6运行的HelloWorld程序,用的固件库版本是V3.5.0。固件库也包含在里面。使用的串口是USART1。分享给大家,希望可以为大家节省一点开发时间。

    android实战 开发HelloWorld程序(android studio源程序工程)

    包括Android 移动开发基础案例教程课本中第一章实战演练——开发HelloWorld程序的源代码,可用Android studio运行,适合初学者学习。

    HelloWorld.java

    java编写的helloword程序。通过javac命令编译文件,然后通过java HelloWorld运行即可

    Java最开始的helloworld

    Java最开始的Hello World程序是一个简单的输出语句,用于展示Java程序的基本结构和语法。以下是一个经典的Java Hello World程序的示例代码: public class HelloWorld { public static void main(String[] args) {...

    Android手机上的HelloWorld程序源代码

    不懂你是ASP/PHP或是VB/VC,如果你看一些与此相关的专业书籍的话,几乎都会说到HelloWorld程序,带你领略各自编程语言的艺术殿堂。本代码是与Android手机编程有关的,运行于Java环境,最近Android手机软件开发搞的很...

    CORBA Hello World 实例

    CORBA的入门级实例代码,Hello World程序。 包括CORBA的一般开发书写过程以及执行步骤(简单英文)。

    QT初学 第二课时 编写helloworld

    2.1 编写HelloWorld程序(第1课时) 2.2 程序的运行与发布(第1课时) 2.3 helloworld程序源码与编译过程详解(第2课时) 2.4 项目模式和项目文件介绍(第2课时) 2.5 小结(第2课时)

    OSGi HelloWorld实例

    采用OSGi框架设计 一个简单的HelloWorld程序 在EclipseSDK中运行

    使用openWrt SDK开发第一个HelloWorld应用程序

    详细介绍了如何通过源码编译出openWrt SDK,如何编写和使用SDK编译应用程序,然后在平台上运行的步骤,附有代码和编译出的SDK文件,将SDK放在自己的虚拟机下就可以直接使用

Global site tag (gtag.js) - Google Analytics