day28_操作系统发展史与进程
1、操作系统发展史
1.1 穿孔卡片
一个计算机机房,一次只能被一个卡片使用
缺点:cpu利用率最低
1.2 联机批处理系统
支持多用户去使用一个计算机机房
1.3 脱机批处理
高速磁盘:提高文件的读取速度
优点:提高cpu的利用率
1.4 多道技术(基于单核)
1.4.1 单道
多个进程使用cpu时是串行
1.4.2 多道技术
空间上的复用
一个cpu可以提供多个用户去使用
时间上的复用
切换进程+保存进程状态
IO操作
inout()
print()
time.sleep()
等等。。
注意点:
-
若cpu遇到IO操作,会立即将但当前执行程序cpu使用权断开
优点是:cpu的利用率高
-
若一个程序使用cpu的时间过长,会立即将当前执行程序的cpu使用权断开
缺点是:程序的执行效率低
并发与并行
并发:指的是看起来像同时在运行,多个程序不停切换+保存状态
并行:真正意义上的同时运行,在多核cpu的情况下,同时执行多个程序
2、进程
2.0 进程号
进程号被回收的两种条件:
1、join,可以回收进程与子进程
2、主进程正常结束,子进程与主进程也会被回收
2.1 程序与进程
程序:一堆代码
进程:一堆代码运行的过程
2.2 进程调度
当代操作系统调度:时间片轮转法 + 分级反馈队列
2.2.1 先来先服务调度
a,b程序,若a程序先来,先占用CPU
缺点:程序a先使用,程序b必须等待程序a使用cpu结束后才能使用
2.2.2 短作业优先调度
a,b程序,谁的用时短,先优先调度使用cpu
缺点:若程序a使用时间最长,有N个程序使用时间短,必须等待所有用时短的程序结束后才能使用
2.2.3 时间片轮转法
CPU执行的时间1秒中,加载N个程序,要将1秒等分成多N个时间
2.2.4 分级反馈队列
将执行优先分为多层级别
按照优先级先后执行程序
2.3 进程的三个状态
就绪态:所有进程创建时都会进入就绪态,准备调度
运行态:调度后的进程,进入运行态
阻塞态:凡是遇到IO操作的进程,都会进入阻塞态,若IO结束,必须重新进入就绪态
2.4 同步和异步
同步:若有两个任务需要提交,在提交第一个任务时,必须等待该任务执行结束后,才能继续提交并执行第二个任务
异步:若有两个任务需要提交,在提交第一个任务时,不需要原地等待,立即可以提交并执行第二个任务
2.5 阻塞与非阻塞
阻塞:阻塞态,遇到IO一定会阻塞
非阻塞:就绪态,运行态
2.6 面试题
同步与异步,阻塞与非阻塞是同一个概念吗?
答:不是
最大化提高CPU的使用率
答:尽可能减少不必要的IO操作
3、僵尸进程与孤儿进程
僵尸进程:
指的是子进程已经结束,单PID号还存在,未被销毁
缺点:占用PID号,占用操作系统资源
孤儿进程:
指的是子进程还在执行,但是父进程意外结束
操作系统优化机制:
当孤儿进程结束时,操作系统消除内存并释放PID号
4、守护进程
指的是主进程结束后,该主进程产生的所有子进程跟着结束,并被回收,不管子进程到底有没有执行完成

浙公网安备 33010602011771号