当前位置: 首页 > news >正文

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

http://www.xdnf.cn/news/1227205.html

相关文章:

  • ubuntu22.04系统入门 linux入门(二) 简单命令 多实践以及相关文件管理命令
  • 分布在背侧海马体CA1区域的位置细胞(place cells)对NLP中的深层语义分析的积极影响和启示
  • 设计模式1:创建型模式
  • Java 学习笔记:常用类、String 与日期时间处理
  • 在纯servlet项目中,使用@WebFilter定义了多个filter,如何设置filter的优先级
  • Google机器学习基础(语言模型)
  • Rust在CentOS 6上的移植
  • 梯度下降的基本原理
  • 【Shell脚本自动化编写——报警邮件,检查磁盘,web服务检测】
  • 如何理解推理模型
  • Windows和Linux的tree工具
  • 系统开机时自动执行指令
  • 力扣热题100---------206.反转链表
  • 查看主板信息的3种方法
  • 大模型推理引擎总结
  • 神经网络学习笔记
  • 每日面试题18:基本数据类型和引用数据类型的区别
  • 8.1IO进程线程——文件IO函数
  • Springboot 配置 doris 连接
  • LRU缓存淘汰算法的详细介绍与具体实现
  • VSCode Python 与 C++ 联合调试配置指南
  • 电商项目_性能优化_数据同步
  • Python day31
  • Implement recovery based on PITR using dump file and binlog
  • U-Net vs. 传统CNN:为什么医学图像分割需要跳过连接?
  • 使用gcc代替v语言的tcc编译器提高编译后二进制文件执行速度
  • 9.1无法恢复的错误与 panic!
  • 第二十三天(数据结构:链表补充【希尔表】)
  • golang的函数
  • 完整复现cacti的RCE