操作系统上运行代码的一般流程:
如下代码
# include 《stdio.h》
int main (int argc ,char * argv[]){
puts("hello world");
return 0;
}
1、首先,用户通过命令行告诉操作系统,要执行hello world 程序;(用户输入代码)
2、操作系统找到程序相关信息,并检查程序是否可执行,如果程序没有问题,那么就根据程序的头部信息确定代码和数据在可执行文件的位置和地址,并计算相应的磁盘块地址;(操作系统检测代码并确认位置)
3、操作系统创建进程,将hello world 可执行文件映射到该进程,并由该进程执行程序;(进程创建及文件映射)
4、操作系统为程序设置上下文环境,并调到程序开始处;(上下文环境)
5、执行一行程序,产生缺页异常;(中断)
6、分配物理内存页,将代码从磁盘读到内存;(加载数据到内存)
7、执行puts 函数,调用系统功能,在显示器上写字符串;(系统调用)
8、将字符串通过显示设备的进程,送到显示设备;(数据传输)
9、窗口进程判断操作合法性,并将字符串转换为像素,并存储在映像区;(数据变换与存储)
10、硬件设备将像素转化为数字信号;(数据信号化)
11、显示器接收信号,激发液晶屏,显示“hello world”;(物理显示)