cpu如何维护自己控制权的

cpu如何维护自己控制权的

关键概念

用户模式:受限的指令。

内核模式:所有指令

有些操作需要用到特权指令,这个只有在内核模式下才可以运行。

操作系统重获控制权有3种方式:

  1. 进程进行系统调用
  2. 进程出错,如访问了非法内存等。(会trap 到 内核)
  3. 时钟中断。

其中时钟中断很重要,是硬件支持。如果没有时钟中断,然后进程又不进行系统调用,也不出错(譬如:啥也不干的无限循环),这样操作系统无法获得控制权。

受限直接运行

时钟中断

实践中的指导意义

记住1点: 系统调用其实是昂贵的。
为了减少系统调用,有下面2种经典的运用。

  1. 缓存数据。譬如I/O缓冲。 一般一次读取1024个字节,开辟一块内存,存下这1024个字节。。 用户程序读取时,先读取这个内存缓冲区。这样比直接I/O访问,1个字节一个字节调用1024个 系统调用性能高很多。

  2. 有的程序会封装内存管理。类似于I/O缓冲。 内存管理程序也是每次调用系统调用时尽量多申请点,自己拿个大内存空间。然后应用程序申请内存时,从这个托管的内存空间中分配出去。也就是 在 操作系统之外重新实现了1套内存分配管理。 目的其实也是为了降低系统调用的次数。

参考

[[操作系统导论]]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值