码迷,mamicode.com
首页 > 其他好文 > 详细

操作系统如何加载程序

时间:2020-01-04 10:52:35      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:代码   处理程序   上下   printf   数据   系统调用   操作   编译   像素   

操作系统如何加载程序

1.用户编写完代码后,通过编译器将编译为数据段、代码段、堆栈段、bss段,由链接器链接为装入模块

2.用户通知操作系统要运行的程序

3.操作系统根据路径找到对应的程序,检测程序的头部,找到代码段和数据段的位置

4.文件系统根据这些段的位置找到对应的磁盘块

5.操作系统创建进程(创建运行环境),并将要执行的程序的各个段映射到这个进程的空间

6.通过进程调度执行到了该进程,将CPU的上下文切换为该进程的上下文,然后执行程序的第一条指令。

7.执行指令发现指令并不在内存,于是产生缺页异常,从磁盘拷贝然后继续执行。

8.执行到printf,跳转到库函数执行,通过软中断发起系统调用,操作系统根据系统调用号跳转到对应的中断处理程序运行。

9.操作系统分配设备,并执行显示驱动程序

10.窗口系统将像素写入到存储映像区

11.视频硬件将像素表示成一组模拟信号输出的显示器

12.显示器发射电子束

13.屏幕看到hello world

操作系统如何加载程序

标签:代码   处理程序   上下   printf   数据   系统调用   操作   编译   像素   

原文地址:https://www.cnblogs.com/myguaiguai/p/12148034.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!