操作系统笔记5-导论(五)

操作系统的执行

现代操作系统是由中断驱动的,在没有用户需要响应时,操作系统会等待直到某个事件的发生。事件总是由中断或陷阱引起的。陷阱(或者叫异常)是一种软件生成的中断,或源于出错,或源于请求系统调用。

由于操作系统和用户共享计算机系统的资源,而且用户一般有多个程序在运行,因此需要确保用户程序的出错仅影响自身,不会影响操作系统或其他用户程序。

双重模式和多重模式

为了确保操作系统的正确运行,必须区分操作系统代码和用户代码的执行。大多数计算机系统采用硬件支持,以便区分各种执行模式。

至少需要两种单独的运行模式:用户模式(user mode)和内核模式(kernel mod)(或者叫监视模式 superviso mode,系统模式 system mode,特权模式 privileged mode)。比如,计算机硬件可以用一个模式位表示当前模式,内核模式(0)和用户模式(1)。通过模式位就可以完成区分,当计算机系统执行用户应用时就处于用户模式。当用户请求系统调用时,系统会从用户模式切换到内核模式执行请求,执行完请求后,会切换回用户模式。

示意图:

5656674-dab52a0bb7df71d4.png
2019-01-15_193015.png

补充:

其实Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3。但是由于一般的处理器架构都只能区分两种级别,所以基本上现代操作系统都只使用两个特权级别(Ring 0 和Ring 1)。

当计算机启动时,硬件从内核模式开始。操作系统加载完成后,转换到用户模式下执行用户程序。一旦事件发生(中断或陷阱),则切换到内核模式,处理事件。

双重模式如何保护?

将可能引起损害的机器指令作为特权指令,只能在内核模式下执行。特权指令包括:I/O控制、定时器管理、中断管理等(切换到内核模式也是特权指令)。

定时器

用户程序可能会陷入死循环,为防止用户程序一直占用CPU,需要对其进行限制。完成这一目标的方式是使用定时器。

定时器可以设置在一定周期和触发中断,周期可以是固定或可变的。可变定时器可通过固定速率的时钟和计数器来实现,比如:每次时钟滴答时,计数器递减。计数器为零时,触发中断。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值