操作系统-lecture4(进程的调度)

进程的切换

接下来需要了解两个问题

  • 谁触发了进程切换
  • 进程切换的动作

中断技术

中断源

中断处理过程(陷阱机制)

特权指令和非特权指令

Privileged Instructions:特权指令

•The Instructions that can run only in Kernel Mode are called Privileged Instructions .【只能在内核模式下运⾏的指令称为特权指令】

  • I/O instructions and Halt instructions
  • Turn off all Interrupts
  • Set the Timer
  • Process Switching
    Non-Privileged Instructions:⾮特权指令
    •The Instructions that can run only in User Mode are called Non-Privileged Instructions .【只能在⽤⼾模式下运⾏的指令称为⾮特权指令。】

模式切换

进程的切换

running进入等待状态:主动

running进入就绪状态:被动

进程调度

进程控制快

A Process Control Block(PCB)contains many pieces of information associated with a specificprocess.【进程控制块(PCB)包含许多与特定过程相关的信息】

进程和PCB之间的关系为1:1

完整的进程上下文如下

进程的物理内存

那操作系统在管理进程用的是啥数据呢

用的是进程队列

进程队列

进程的调度

开启一个子进程、中断分别属于主动还是被动呢

可以看下主动操作和被动操作的概念

主动发起:

在操作系统中,创建进程通常需要明确指令触发,例如通过系统调用(如fork()、spawn()等)或编程语言提供的API(如Python的Process.start())。这些操作需要用户或程序主动发起,系统不会自动创建进程

被动发起:

如进程因资源竞争(如I/O等待)或系统调度进入阻塞状态,属于系统自动行为,即被动

因此开启子进程为主动操作

中断为被动

参考
B站操作系统