3.1 进程与线程、调度算法

1. 进程

1.1 进程概念

进程=程序+执行,当把一个程序从磁盘中加载到内容中,cpu去运算和处理这个进程(运行起来的程序就是进程);

1.2 进程模型的三个维度

在这里插入图片描述
在这里插入图片描述

1.3 进程模型的发展

原始的操作系统为单道编程:一个程序执行完,再执行下一个;
缺陷明显: ①响应时间慢【用户体验差】;
②cpu利用率比较低【假设一个进程包含20%cpu计算和80%的io,io时cpu是闲置的,cpu利用率为20%】;

引入进程模型
为了满足多道编程
提高cpu的利用率

在这里插入图片描述

1.4 进程产生和退出

进程产生三种情况:

  • 操作系统会产生服务进程;
  • 父进程创建子进程;
  • 用户请求创建一个进程;

进程退出三种情况:

  • 进程的所有运算都处理完之后,自行退出;
  • 进程在运行过程中产生错误或异常而强行退出;
  • 一个进程被其他进程所杀死而退出;
1.5 进程状态

进程
注:cpu调度时是不会查看和调度阻塞态进程,即使给cpu资源该进程,cpu也处理不了该进程;
在这里插入图片描述

2. 线程

2.1 线程概念
  • 一个进程必须至少有一个线程;
  • 引入线程模型:是为了让进程同时处理多个程序;
  • 此时进程相当于资源组织单位,线程是cpu最小执行单位
2.2 线程调度算法
  • 1、FCFS(First come first server)先来先服务调度算法:先来的线程处理完后再处理下一个来的线程;
    弊端:后来的线程响应时间非常长,cpu利用低;
  • 2、时间片轮转调度算法:有效缩短了响应时间,提高了cpu利用率;
    缺陷:较多的短任务处于饥饿状态;
  • 3、短任务优先调度算法:优先去完成短任务;
    缺陷:可会导致长任务时常处于饥饿状态;
  • 4、优先级调度算法:为线程分别分配优先级,优先级高的线程优先被处理;
    缺陷:优先级低的线程长期处于饥饿状态;
  • 5、混合调度算法:这个算法把之前算法的优点进行结合,然后做线程调度;
     
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值