操作系统-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站操作系统