区分操作系统中的进程切换和模式切换


进程被定义为正在执行的程序,以及表示系统中要实现的基本工作单元的实体。

进程切换

它被定义为处理器从一个线程/进程切换到另一个线程或进程。它使 CPU 寄存器和指令指针的内容被保存。

对于新任务,寄存器和指令指针被加载到处理器中,然后新进程的执行可能开始/恢复。

旧程序将不再执行,但该进程的状态保存在内存中,因为当内核决定它准备好再次执行时。这个概念类似于多任务处理,但实际上,在一个 CPU 上一次只能运行一个进程。

上下文切换由硬件或软件引起。硬件中断来自键盘、鼠标或系统计时器等设备,导致代码开始执行中断代码。软件切换是内核手动执行任务切换的结果。

这是调度程序使用上下文切换的方式。

特性 -

  • 它会影响性能
  • 它增加了 CPU 处理器的负载。
  • 这里每个数据包都由路由器或交换机处理器检查。
  • 在每个数据包上执行负载均衡。
  • 可以通过一条命令轻松启用。

模式切换

当 CPU 更改特权级别时,使用模式切换。内核以比标准用户任务更高的特权运行。

为了访问由内核控制的用户任务,必须发生模式切换。

在模式切换期间,当前正在执行的进程不会改变。处理器使用模式来保护操作系统免受行为异常或恶意程序的侵害,以及控制对 RAM、I/O 设备等的并发访问。

软件上下文切换必须发生模式切换。只有内核才能导致上下文切换。

注意 - 一般保护错误的概念是用户应用程序尝试执行未被允许的操作,例如访问其地址空间中无法访问的某些部分。

模式切换步骤 -

  • 在执行程序时,我们有两种模式:用户模式和内核模式。

  • 因此,当程序在用户级别执行时,必须存在用户域/模式。

  • 当内核模式负责程序执行时,则存在内核模式。

  • 现在,当进程急需系统资源时,就会发生模式切换。

  • 它借助于系统调用接口或使用中断来实现。

  • 在此之后,可以从用户模式调用内核函数并管理系统调用。

更新于: 2021年12月1日

3K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告