操作系统发展史、多道技术、进程

发布时间 2023-09-26 15:12:40作者: 朱饱饱

操作系统发展史:其实就是主要围绕CPU的利用率问题

  穿孔技术------>联机---------------->脱机

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

  并发:看起来像同时运行的

  并行:真正意义上的同时运行

  空间与实践上的复用:

    空间上:多个程序公用一套计算机硬件

    时间上:切换+保存状态

切换分为两种:

  1.当一个程序遇到io操作(需要用户输入的等待时间)操作系统会立刻剥夺该程序的CPU执行权限(提高了CPU利用率并且不影响程序的执行效率)

  2.当一个程序上时间占用CPU,操作系统也会立刻剥夺该程序的CPU执行权限(降低了程序的运行效率但是玩出了并发的效果)

进程:

  程序是一堆死代码------》死

  进程则是正在执行的过程-------》活

进程的调度算法:

  先来先服务调度算法

  短作业有限调度算法

  时间片轮转法+多级反馈队列

 

进程运行的三状态图

  就绪态:一切程序必须先过就绪态才能加入运行态

  运行态:正在被CPU执行

  阻塞态:程序遇到io操作了

  理想状态:我们希望我开发的程序一直处于就绪态与运行态之间

两队重要概念:

  同步与异步:任务的提交方式

  同步:任务提交之后原地等待任务的返回结果期间不做任何事

  异步:任务提交之后不原地等待任务的返回结果继续执行下一行代码,结果由异步回调机制做处理

阻塞与非阻塞:程序的运行状态

  阻塞:阻塞态

  非阻塞:就绪态、运行态

  上面两队概念通常会组合出现,但是最常用的就是异步非阻塞

 

 

开启进程的两种方式:

  from mutiprocessing import Process

  1.类实例化产生对象

  2.类的继承 run方法

  在Windows里面开始进程的代码一定要卸载main代码块内

  创建一个进程就是在内存空间中申请一块内存空间将需要的代码丢进去‘

join方法

  主进程等待子进程代码运行完毕后再往下执行代码

  进程间数据是互相隔离的(默认情况下)