当双击某程序到它显示运行界面时,操作系统都做了啥?

本文详细解析了从双击程序图标到显示运行界面时,操作系统所执行的一系列步骤,包括查找可执行文件、创建进程、设置CPU上下文、处理缺页异常、显示图标等。通过这个过程,读者可以深入理解操作系统的内部工作机制。
摘要由CSDN通过智能技术生成

每天早上七点三十,准时推送干货

假设:我们现在想要让操作系统运行「微信」,那么首先我们会怎么做嘞?在整个过程中,操作系统又做了啥?

如果这是一个面试题,你会怎么回答呢?来看看阿粉的解释~

1 ,双击微信图标。 

但是打开一个程序的方式不止一种,不要限制了自己,比如也可以通过命令行键入命令的方式将它打开(不过一般不会这么做吧; 

当我们双击了微信图标时,就告诉了操作系统,我希望你能帮我运行「微信」

2 ,此时操作系统接收到请求之后,就去磁盘上找到「微信」程序的相关信息,检测它的类型是不是可执行文件,同时通过程序首部信息确定代码和数据在可执行文件中的位置并且计算出对应的磁盘块地址。

看完上面的解释,你有没有疑问呢?操作系统怎么检测它是不是可执行文件呢?对于 Windows 系统来说,可执行文件是 PE(Portable Executable),对于 Linux 系统来说,可执行文件是 ELF(Executable and Linkable Format),对于 Mac 系统来说,可执行文件是Mach-O(Mach Object)

所以操作系统检测的时候,就看一下是否符合文件规范就能确定了

3 ,操作系统做完第 2 步之后,就会创建一个进程,并且将「微信」的可执行文件映射到该进程结构,意思就是,这个进程负责执行「微信」程序。

4 ,接下来操作系统会为「微信」程序设置 CPU 上下文环境,此时我们假设这个调度程序选中了「微信」程序,那么操作系统就会跳到程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值