puts("Hello world!")系统做了什么?

#include <stdio.h>
 int main(int argc, char *argv[])
 {
          puts("hello world");
          return 0;
 }

让计算机显示 “hello world” 执行流程

1、用户
告诉操作系统执行hello程序,即在shell中敲入运行指令
2、操作系统找到该程序,检查其文件类型
3、检查程序首部,找出正文和数据的地址
4、文件系统找到相应的磁盘块
5、父进程需要创建一个新的子进程,执行hello程序
6、操作系统需要将执行文件映射到进程结构中
7、操作系统设置CPU上下文环境,并跳到程序开始处
8、程序的第一条指令执行,失败,发生缺页中断
9、操作系统分配一页内存,并将代码从磁盘读入,继续执行
10、发生更多的缺页中断,读入更多的页面
11、程序执行系统调用,在文件描述符中写入以字符串
12、操作系统找到字符串被送往的设备
13、设备是一个伪终端,由一个进程控制的
14、操作系统将字符串送给该进程
15、该进程告诉窗口系统它要显示字符串
16、
窗口系统确定这是一个合法的操作,然后将字符串转换成像素
17、
窗口系统将像素写入存储映像区
18、
视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)
19、
显示器发射电子束
20、
在屏幕上看到hello world
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值