并发与进程理论

一、并发

计算机中真正干活的是cpu

1.操作系统的发展史

1.穿孔卡片阶段

​ 计算机很庞大,使用很麻烦,一次只能给一个人使用

​ 好处:程序员独占计算机,为所欲为

​ 坏处:计算机利用率太低,浪费资源

2.联机批处理系统

​ 提前使用磁带一次性录入多个程序员编写的程序,然后交给计算机

​ cpu工作效率有所提升,不用反复等待程序录入

3.脱机批处理系统

​ 极大地提升了cpu的利用率

总结:操作系统的发展史就是cpu提升利用率的过程

2.多道技术

1.简介

在学习并发编程的过程中,不做可以体现的情况下,默认一台计算机就一个cpu(只有一个干活的人)

image-20221117111845589

单道技术:所有的程序排队执行,过程中不能重合

多道技术:利用空闲时间提前准备其他数据,最大化提升cpu利用率

2.多道技术详细

1.切换

​ 计算机的cpu在两种情况下会切换(不让你用,给别人用)

(1)程序有IO操作:输入\输出

Input、time.sleep、read、write

(2)程序长时间占用cpu

我们需要让多个程序都可以被cpu运行起来,不能一个程序一直占有,只要程序有空闲,不需要cpu,cpu就马上去运行别的程序

2.保存状态

cpu每次切换走之前都需要保存当前操作的状态,下次切换回来基于上次的进度继续执行

二、进程理论

1.进程与程序的区别

程序:一堆死代码---还没有被运行起来

进程process:正在运行的程序---被运行起来了

2.进程的调度算法

1.FCFS:先来先服务

缺点:对短作业(执行时间少的程序)不友好

2.短作业优先调度

缺点:对长作业不友好

3.时间线轮转法+多级反馈队列(目前正在用

3.进程的并行与并发

并行:多个进程同时执行,必须要有多个CPU参与

并发:利用多道技术

​ 多个进程看上去像同时执行,就算并发,单个cpu可以实现,多个cpu肯定也可以(并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。)

以后的项目都会追求高并发

并行量必须要有对等的cpu数量才可以实现

4.进程的三状态

image-20221117121645431

就绪态:所有的进程在被cpu执行之前都必须进入就绪态准备

运行态:cpu正在执行该进程

阻塞态:cpu运行过程中出现了IO操作会进入阻塞态,阻塞态无法直接接入运行态,必须经过就绪态才能加入运行态

image-20221117122252325
posted @ 2022-11-17 17:20  Duosg  阅读(71)  评论(0编辑  收藏  举报