【一】操作系统发展史
python
1.穿孔卡片
优势:一个人独占电脑
劣势:CPU利用率极低
2.联机批处理系统
一次性可以录入多个用户指令、缩短了CPU等待的时间、提高了CPU的利用率
3.脱机批处理系统
是现代计算机核心部件的雏形、提高CPU的利用率
# 总结:操作系统的发展史其实就是提升CPU利用率的过程
【二】多道技术
python
1.通俗的说,可以将不同的任务同时进行,以来缩短时间,最终用时是其中最长的时间
2.多道技术
1.空间上的复用
多个任务共用一套计算机硬件
2.时间上的复用
切换+保存状态
CPU在两种情况下会被剥夺
1.程序遇到IO操作
2.程序长时间占用CPU 会被强行剥夺 保证其他程序不被饿死
【三】进程
python
1.进程通俗的说就是一次程序允许的结果,进程是动态的,程序是静态的
2.进程调度算法
1.先来先服务
对短作业任务不太友好
2.短作业优先
对长作业任务不太友好
3.时间片轮转法与多级反馈队列
时间片轮转法:先公平的将CPU分给每个人执行
多级反馈队列:根据作业长短的不同再合理分配CPU执行时间,优先级
【四】并发并行
python
1.并发--》宏观上同时运行即并行,微观上串行
2.并行--》同时一起运行
# 高并发与高并行
高并发:我们写的软件可以支持1个亿的并发量
一个亿的用户来了之后都可以感觉到自己被服务着
高并行:我们写的软件可以支持1个亿的并行量
上述话语的言外之意是计算机有一亿个CPU
【五】同步与异步
python
1.同步---》意思是前一步的结果是后一步运行的前提,所以后一步只能在等待前一步的结果,不会去做其他事情
2.异步---》意思是在等待前一步的结果时,先去做其他事情,不会原地等待,有结果就回来下一步
【六】阻塞和非阻塞
python
1.阻塞:时间片用完,或等待某事件
2.非阻塞:就绪,运行
【七】同步异步与阻塞非阻塞结合
python
同步异步:用来描述任务的提交方式
阻塞非阻塞:用来描述任务的执行状态
# 上述两组属于两个不同概念 但是可以结合
同步阻塞:银行排队办理业务 期间不做任何事
同步非阻塞:银行排队办理业务 期间喝水吃东西 但是人还在队列中
异步阻塞:在椅子上坐着 但是不做任何事
异步非阻塞:在椅子上坐着 期间喝水吃东西办公 (程序运行的极致)