`
gelongmei
  • 浏览: 209919 次
  • 性别: 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了
分享到:
评论

相关推荐

    openwrt可用helloworld程序

    四、运行Hello, World程序 编译完成后,"Hello, World"程序会被打包成一个OpenWrt软件包。将该软件包通过`opkg`包管理器安装到OpenWrt设备后,就可以在设备上运行它了。打开终端,输入`/usr/bin/helloworld`,你应该...

    OpenWrt之helloworld程序

    在这个"OpenWrt之helloworld程序"中,我们将探讨如何在OpenWrt环境中编写、编译和运行一个简单的 HelloWorld 程序,这将帮助初学者了解OpenWrt的开发流程。 首先,`helloworld` 文件通常是一个C或C++源代码文件,...

    一个简单的qt版helloworld程序

    本压缩包包含的“一个简单的qt版helloworld程序”是初学者接触Qt编程的一个基础示例,旨在帮助理解Qt的基本语法和项目构建过程。 首先,让我们来理解一下Qt中的"Hello, World!"程序的基本结构。在Qt中,我们通常会...

    C++ Hello World程序

    在这个例子中,文件名可能是`hello_world.cpp`或`C++ Hello world程序.cpp`。 2. **代码结构**: C++程序通常由一个或多个函数组成,其中`main()`函数是程序执行的起点。"Hello, World!"程序的代码可能如下所示: ...

    Android HelloWorld程序

    为了运行HelloWorld程序,你需要在Android Studio中选择一个模拟器或连接真实设备,然后点击运行按钮。应用会启动,展示你在布局文件中定义的界面,即"Hello, World!"的文字。 总的来说,Android HelloWorld程序是...

    一个C语言的helloworld程序

    在IT领域,C语言是一种非常..."程序是学习C语言的第一步,它能帮助你理解基本的语法结构和程序执行流程。随着技能的提升,你将能够编写更复杂的程序,解决实际问题。而C语言作为计算机科学的基础,其学习价值不容忽视。

    C++ hello world 程序源码

    压缩包中的程序如果提供的是源码,用户需要自行编译运行,这也是学习C++过程中的一个重要实践环节。 最后,我们讨论一下学习C++的重要性。C++不仅被广泛应用于系统软件、游戏开发、嵌入式系统等领域,而且是许多...

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

    在这个“linux环境下用makefile编译简单的helloworld程序”的主题中,我们将深入理解如何创建并使用`Makefile`来编译一个基本的C或C++程序,例如“helloworld”。 首先,`helloworld`程序是一个经典的入门示例,...

    Hello world程序

    public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` 而在C++中,"Hello World"程序如下: ```cpp #include int main() { std::cout << "...

    Maven的HelloWorld程序

    总的来说,通过创建一个简单的Maven HelloWorld程序,我们可以初步了解Maven的基本概念和工作流程,这对于后续更复杂的项目构建将大有裨益。在实际开发中,Maven还能帮助我们管理各种依赖,自动化构建过程,并与持续...

    android helloWorld程序

    在Android开发领域,"HelloWorld"程序是每个初学者入门时的第一个项目,它标志着你在Android编程之旅的起点。这个简单的程序旨在教你如何在Android环境中创建并运行一个基本的应用。让我们详细了解一下这个过程以及...

    helloworld程序过程文件

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

    认识Android入门的HelloWorld程序

    ### 认识Android入门的HelloWorld程序 #### 程序构成详解 本文旨在通过剖析一个简单的`HelloWorld`程序,让读者深入了解Android应用程序的基本结构及其运行机制。这对于初次接触Android开发的学习者而言至关重要。...

    hello world hello world

    标题中的“hello world hello world”和描述中的“hello world”似乎是在引用计算机编程中的经典入门程序,通常用于演示一个语言的基本输出功能。在大多数编程语言中,“Hello, World!”是初学者编写的第一个程序,...

    最小的C语言Helloworld程序

    "最小的C语言Hello, world程序"是每个初学者接触C语言时的第一个示例,它展示了如何用最少的代码实现一个简单的输出功能。 这个最小的C语言程序通常只包含以下几行代码: ```c #include int main() { printf(...

    编写 hello world web 程序

    ### 编写 Hello World Web 程序 #### 任务目标 本任务旨在通过一系列步骤指导初学者如何创建一个简单的 Node.js 程序,并在命令行中输出 "Hello World!" 文本。此过程不仅涉及基本的文件系统操作,还包括了 Node.js...

    Helloworld_helloworld_

    "程序是一个经典的起点,用于教授新手如何在特定的编程语言中编写并运行他们的第一个程序。这个简单的程序通常只包含一行代码,用于在控制台上打印出 "Hello, World!" 这个字符串。在这个场景中,我们看到的"Hello...

    OpenHarmony 树莓派 3B+ helloworld程序

    在这个"OpenHarmony 树莓派 3B+ helloworld程序"项目中,我们将深入探讨如何在树莓派上搭建OpenHarmony环境,并运行一个基础的helloworld应用程序,以理解操作系统的基本工作原理和开发流程。 1. **OpenHarmony简介...

    QT4的HelloWorld程序

    QT4的HelloWorld程序是初学者接触QT框架的典型起点,它通过一个简单的应用程序展示了如何在QT环境中构建和运行代码。QT是一个流行的开源C++图形用户界面库,广泛用于开发跨平台的应用软件,包括Windows、Linux、Mac ...

    C#编写17种Hello_World程序

    在`Main`方法中,创建了一个`HelloWorld`类的新实例,并调用了`helloWorld`方法来执行输出操作。 #### 6. From Another Class从另一个类调用 此示例介绍了如何在一个类中定义方法,并在另一个类中调用这些方法。 ...

Global site tag (gtag.js) - Google Analytics