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、守护进程

指的是主进程结束后,该主进程产生的所有子进程跟着结束,并被回收,不管子进程到底有没有执行完成

5、代码验证

posted @ 2019-10-21 22:26  W文敏W  阅读(109)  评论(0)    收藏  举报