操作系统为什么可以管理所有的应用程序

操作系统通过BIOS和bootloader逐步接管硬件资源,并通过系统调用管理应用程序。由于操作系统先于应用程序启动,因此拥有高权限,应用程序必须依赖操作系统进行执行和资源访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

``操作系统为什么可以管理所有应用程序运行
从你开机的那一刻起,你的硬件资源就开始运转了,那么这些资源归谁来管呢?决定的方法其实简单粗暴:哪个程序最先运行就归谁管。就比如一块空白的油田,谁先开发就归谁管。
那么哪个程序是第一个运行的呢?BIOS中的固件程序。BIOS中集成了硬件厂商预先刷入的一段小代码,机器开机一启动,这段代码就被立刻执行(这是由硬件控制的),因此在这个阶段,计算机资源被BIOS霸占。然而,BIOS中的程序对于掌管计算机资源并没有太大的兴趣(其实是BIOS存储的程序太小,无力掌管),所以BIOS程序就自觉的说我不管了,我把资源交给磁盘上的bootloader程序了。
从这里开始硬件资源归bootloader程序管理。bootloader程序运行之后了,发现自己对掌管计算机资源还是没有太大的兴趣(其实是bootloader程序也太小了,想管也管不了),就说那好我把操作系统程序加载进来运行,让它来管。就这样操作系统程序就开始运行了。
这个过程具体的细节你可能不太明白,但是我想说明白的就是一点,油田谁先开采就归谁管,除非开采商自动转让权限,否则后续的人都只能跟开采商买油,不能直接去油田取油。那么接下来牵扯到另外一个问题,操作系统接管硬件资源之后,怎么保证它自己的主导权。
事实上,所有的应用程序都是通过操作系统提供的系统调用来执行的。那你问可不可以不通过系统调用来运行啊,这样不就绕过操作系统了吗?答案是不可以。最简单的解释,放在外存上的程序,想要加载到内存并让CPU来执行,总要有一个负责加载你并且让出CPU的人吧。
现在操作系统霸占着CPU,你说除了它还有谁可以加载程序并且执行呢?讲到这儿就是一句话:为什么操作系统具有高权限,因为它比应用程序先启动先控制资源;为什么应用程序不能绕过操作系统,因为应用要依赖它加载执行。所以呢,所有的应用程序都要乖乖地听操作系统的话,它说不能访问的东西就不能访问。我们这时候就说,操作系统掌管了硬件。不知道我说明白了没

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值