操作系统(一):2.OS的运行机制和内核、中断、系统调用


一、OS的运行机制和内核

在这里插入图片描述

1.运行机制

在这里插入图片描述
【两种指令】

  • 非特权指令
    如简单的加减乘除的普通运算指令

  • 特权指令
    如内存清零指令,影响严重,需要高级权限

【CPU的两种状态】
指令在哪里执行?在CPU里执行。而CPU在哪种什么状态才能执行哪种指令。

  • 用户态(目态)
    只能执行非特权指令

  • 核心态(管态)
    非特权指令、特权指令都有权限执行

在这里插入图片描述

【两种程序】

  • 应用程序
    运行在用户态,则只能执行非特权指令

  • 内核程序
    运行在内核态,则非特权指令、特权指令都有权限执行。
    实现操作系统内核功能的那些程序就是内核程序。

2.OS内核的功能模块

在这里插入图片描述
在这里插入图片描述

  • 原语
    由若干条指令组成的程序段,具有原子性,在执行过程中不可被中断。

  • 内核功能与非内核功能
    OS内核需要运行在内核态,OS的非内核功能运行在用户态

3.内核分类

在这里插入图片描述

  • 为什么微内核低效,大内核高效?
    因为变态的过程是有成本的,所以处于内核态的功能越多,变态的总代价就越少,即性能越高。

二、中断

在这里插入图片描述

1.中断的意义

在这里插入图片描述

2.中断的过程

在这里插入图片描述

  • 为什么中断发生时,CPU立即进入内核态?
    因为中断处理的功能模块需要运行在内核态,所以要先变态才能运行中断处理的功能模块。

3.中断的分类

在这里插入图片描述
【分类依据:中断信号的来源】

  • 来自CPU内部(与CPU当前执行的指令有关)就是内中断
  • 来自CPU外部(与CPU当前执行的指令无关)就是外中断

4.外中断的过程

在这里插入图片描述
过程:

  1. 执行完每个指令之后,CPU都要检查当前是否有外部中断信号
  2. 如果检测到外部中断信号,则在中断前进行保护措施(程序状态字PSW、程序计数器PC、各种通用寄存器)
  3. 根据中断信号类型,转入相应的中断处理程序
  4. 恢复原进程的CPU环境并退出中断,返回原进程继续向下执行

PS:保护程序计数器PC就是知道原来进行到哪里了。

三、系统调用

在这里插入图片描述

1.系统调用的意义

在这里插入图片描述

2.系统调用的分类

在这里插入图片描述

3.系统调用和库函数的区别

在这里插入图片描述
在这里插入图片描述

4.系统调用的过程

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

发布了461 篇原创文章 · 获赞 183 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/sandalphon4869/article/details/104914097