区分操作系统中的进程切换和模式切换
进程被定义为正在执行的程序,以及表示系统中要实现的基本工作单元的实体。
进程切换
它被定义为处理器从一个线程/进程切换到另一个线程或进程。它使 CPU 寄存器和指令指针的内容被保存。
对于新任务,寄存器和指令指针被加载到处理器中,然后新进程的执行可能开始/恢复。
旧程序将不再执行,但该进程的状态保存在内存中,因为当内核决定它准备好再次执行时。这个概念类似于多任务处理,但实际上,在一个 CPU 上一次只能运行一个进程。
上下文切换由硬件或软件引起。硬件中断来自键盘、鼠标或系统计时器等设备,导致代码开始执行中断代码。软件切换是内核手动执行任务切换的结果。
这是调度程序使用上下文切换的方式。
特性 -
- 它会影响性能
- 它增加了 CPU 处理器的负载。
- 这里每个数据包都由路由器或交换机处理器检查。
- 在每个数据包上执行负载均衡。
- 可以通过一条命令轻松启用。
模式切换
当 CPU 更改特权级别时,使用模式切换。内核以比标准用户任务更高的特权运行。
为了访问由内核控制的用户任务,必须发生模式切换。
在模式切换期间,当前正在执行的进程不会改变。处理器使用模式来保护操作系统免受行为异常或恶意程序的侵害,以及控制对 RAM、I/O 设备等的并发访问。
软件上下文切换必须发生模式切换。只有内核才能导致上下文切换。
注意 - 一般保护错误的概念是用户应用程序尝试执行未被允许的操作,例如访问其地址空间中无法访问的某些部分。
模式切换步骤 -
在执行程序时,我们有两种模式:用户模式和内核模式。
因此,当程序在用户级别执行时,必须存在用户域/模式。
当内核模式负责程序执行时,则存在内核模式。
现在,当进程急需系统资源时,就会发生模式切换。
它借助于系统调用接口或使用中断来实现。
在此之后,可以从用户模式调用内核函数并管理系统调用。
广告