什么是进程?
进程是一个资源单位
进程与程序
程序:是一堆代码文件
进程:执行代码的过程,称之为进程
进程调度
1)先来先服务调度算法
比如程序a,b,若a先来,则让a先服务,待a服务完毕后,b再服务。
缺点:执行效率低
2)短作业优先调度算法
执行时间越短,则先调度
缺点:导致执行时间长的程序,需要等待所有时间短的程序执行完毕后,才能执行。
3)时间片轮转发
比如同时有10个程序需要执行,操作系统会给你10秒,然后时间片轮转法会将10秒分成10等分。
4)多级反馈队列
1级队列:优先级最高,先执行次队列中农程序
2级队列:优先级以此类推
3级队列:以此类推
同步与异步(*******)
指的是"提交任务的方式"
同步(串行)
两个a,b程序都要提交并执行,假如a先提交执行,b必须等a执行完毕后,才能提交任务
异步(并发)
两个a,b程序都要提高并执行,假如a先提交并执行,假如a先提交并执行,b无需等a执行完成,就可以直接提交任务
阻塞与非阻塞(******)
阻塞(等待)
凡是遇到IO都会阻塞
IO
input()
output()
time.sleep(3)
文件的读写
数据的传输
非阻塞(不等待)
除了IO都是非阻塞(比如:从1+1开始计算到100万)
进程的三种状态(******)
就绪态:
同步与异步
运行态:
程序的执行时长 ---->将程序返回给就绪态
非阻塞
阻塞态:
遇到IO
在单核情况下不能实现并行,
然而在多核情况下能实现并发