专栏首页技术进阶之路操作系统的运行环境

操作系统的运行环境

运行机制

对于 CPU 来说,有两种指令,一种是 特权指令 ,另一种是 非特权指令 ,前者的操作通常比较危险,如清空内存等。

那么 CPU 是如何判断当前能否执行特权指令的呢?

这就要看处理器的状态了,有两种:

  • 用户态(目态):此时 CPU 只能执行非特权指令;
  • 核心态(管态):可以执行特权指令。

两种程序:

  • 内核程序:运行在核心态;
  • 应用程序:运行在用户态;

操作系统的内核

内核包括:

  • 时钟管理:实现计时功能;
  • 中断处理
  • 原语:一种特殊的程序,是最接近硬件的部分,具有原子性。

中断和异常

  1. 当中断发生时,CPU 立即进入 核心态
  2. 当中断发生后,当前运行的进程暂停进行,并由操作系统内核对中断进行处理;

中断可以使 CPU 从用户态切换到核心态,使操作系统获得计算机的控制权。

中断是用户态切换到核心态的唯一途径。

系统调用

系统调用运行在核心态;

发出系统调用请求是在用户态,而对系统调用的相应处理是在核心态下进行。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据库关系模式的函数依赖习题讲解

    第一题会讲解的非常详细,请一定认真看,后面 3 道题作为练习题,自己先做再参考答案。

    wsuo
  • 多线程爬虫入门及问题解决(爬取表情包)

    我们写这段代码的初衷是因为刚开始的时候 IMG_LIST 可能是 0 ,因为生产者还没来得及做,所以让消费者等一下生产者,所以 continue,但是设想一下到...

    wsuo
  • org.springframework.web.client.ResourceAccessException: I/O error on POST request....

    wsuo
  • 操作系统学习笔记-2:体系结构和运行机制

    早期的操作系统没有真正意义上的“结构”可言,只是大量的过程的集合,过程之间可以互相调用,导致操作系统内部复杂而混乱。

    Chor
  • 指北 | 聊聊中断机制

    中断其实是一种“中断”事件,中断具体代表什么意思需要考虑它所处的上下文环境和参照对象是谁。考虑事件,我们可以简单把中断抽象为这样一种模型:

    Monica2333
  • 基于dba_hist_sqlstat查看sql语句的性能历史(r4笔记第92天)

    在生产环境中,如果系统已经稳定,调优的空间就会越来越小,但是不代表没有调优的余地,可能工作的重心就会更加求稳,sql调优就是一项不间断的工作,很多工作还是需要前...

    jeanron100
  • 【Netty】一些项目案例

    由于网上已经有很多大佬已经做了很多相关项目案例。所以我们应该站在巨人的肩膀上,多向大佬们学习。下面主要是我收集到Netty项目,具体项目怎么实现的,我就不讲了,...

    用户3467126
  • 创建一键对多值的字典

    double
  • 来自对手的尊重!德国:中国制造已在这些领域超越我们!

      德国《质量管理杂志》网站10日报道称,这项调查显示,八成德国人认为“中国制造”是“德国制造”的对手。54%的受访者认为,来自中国的竞争者正加大步伐,将超越德...

    华章科技
  • Android 硬件抽象层调用流程分析

    Android 从 5.0 开始使用新的相机 API Camera2 来代替之前的旧版本,从而支持更多的特性。

    glumes

扫码关注云+社区

领取腾讯云代金券