#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