单道、多道技术以及进程和它的三状态

单道、多道技术以及进程和它的三状态单道 多道技术以及进程和它的三状态 多道技术 多道技术的目的 让单核实现并发效果 并发 看起来是同时运行的 并行 真正意义上的同时执行 所以 并行也可以看成并发 需要注意的单核是不可以并行的 但可以并发 现在有任务 a 和任务 b 分别采用单道和多道技术将它们完成

大家好,我是讯享网,很高兴认识大家。

单道、多道技术以及进程和它的三状态

多道技术

多道技术的目的:让单核实现并发效果

并发:看起来是同时运行的
并行:真正意义上的同时执行
所以,并行也可以看成并发。需要注意的单核是不可以并行的,但可以并发

现在有任务a和任务b,分别采用单道和多道技术将它们完成
image
讯享网

  • 多道技术允许多个程序同时进行,并且cpu交替执行
  • 从执行任务a切换到执行任务b再切换到任务a,a任务应该是接着运行的,而不是从头开始。所以,多道技术的核心是任务切换加进度保存
  • 切换是cpu的任务。当cpu在切换时,分两种情况
    1. 当一个程序遇到I/O操作时,操作系统会剥夺该程序的cpu执行权限
    2. 当一个程序长时间占用cpu的时候,操作系统也会剥夺该程序的执行权限

进程

进程调度

  1. 先来先服务调度算法
    任务a、b、c、d执行完分别需要3秒,3小时,3秒,3秒。它们按照a→b→c→d的顺序先后来到并执行。先来先调度算法对长作业友好,短作业不友好。
  2. 短作业优先调度算法
    任务a、b、c、d……z执行完分别需要3秒…….3小时。对短作业友好,长作业不友好。
  3. 时间片论转法+多级反馈队列

image_7

进程的三状态图

image_9

分析一段代码的运行状态

image_e
在执行这个程序之前,我们先要点击run,让这个程序运行:

  1. 就绪态:当点击完成后,代码会从磁盘读取到内存,进入就绪态,等待cpu运行
  2. 运行态:执行三行代码
  3. 阻塞态:遇到了I/O操作,input等待用户输入
  4. 就绪态
  5. 运行态:运行一行代码
  6. 阻塞态:遇到I/O操作,time.sleep(5)暂停五秒
  7. 就绪态
  8. 运行态:执行一行代码
  9. 阻塞态:碰到I/O操作,打印d
  10. 最后没有代码了,操作系统释放资源,程序退出

同步和异步

同步和异步是用来描述任务的提交方式的

  • 同步:任务提交后,原地等待任务的返回结果,等待过程中不做任何事情
  • 异步:任务提交后,不在原地等待任务返回结果,而是直接去做其他事

阻塞和非阻塞

阻塞和非阻塞是用来描述进程的运行状态的

  • 阻塞态
  • 非阻塞态:运行态和就绪态
    同步阻塞,同步非阻塞,异步阻塞,异步非阻塞 。异步非阻塞是我们程序所追求的完美状态。
小讯
上一篇 2025-04-08 22:46
下一篇 2025-01-17 13:41

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/40830.html