⽤户告诉操作系统执⾏ HelloWorld 程序(通过键盘输⼊等); 操作系统:找到 HelloWorld 程序的相关信息,检查其类型是否是可执⾏⽂件;并通过程序⾸部信息,确定代码和数据在可执⾏⽂件中的位置并计算出对应的磁盘块地址; 操作系统:创建⼀个新进程,将 HelloWorld 可执⾏⽂件映射到该进程结构,表示由该进程执⾏ HelloWorld程序; 操作系统:为 HelloWorld 程序设置 cpu 上下⽂环境,并跳到程序开始处;执⾏ HelloWorld 程序的第⼀条指令,发⽣缺⻚异常; 操作系统:分配⼀⻚物理内存,并将代码从磁盘读⼊内存,然后继续执⾏ HelloWorld 程序; HelloWorld 程序执⾏ puts 函数(系统调⽤),在显示器上写⼀字符串;
操作系统:找到要将字符串送往的显示设备,通常设备是由⼀个进程控制的,所以,操作系统将要写的字符串送给该进程; 操作系统:控制设备的进程告诉设备的窗⼝系统,它要显示该字符串,窗⼝系统确定这是⼀个合法的操作,然后将字符串转换成像素,将像素写⼊设备的存储映像区;
视频硬件将像素转换成显示器可接收和⼀组控制数据信号; 显示器解释信号,激发液晶屏; OK,我们在屏幕上看到了 HelloWorld;