操作系统 进程管理

操作系统 进程管理

进程是什么

程序以进程的方式运行,使用系统资源(存储空间,外设,文件,cpu)。

进程的组成:

  • 一个可以执行的程序;

  • 每个进程在被创建的时候分配有自己的用户空间存放程序数据

  • 每个进程在执行过程中可能需要访问某些系统资源,包括有(CPU, 内存,IO设备,文件等);

  • 进程包含一个栈区,包含运行的现场信息;

同一个程序可以由多个进程分别执行,不同的进程之间并没有直接的关系。

任何一个程序,逻辑上都可以将其分为两部分:执行过程中不改变自身的不变部分和工作区、变量等可变部分

纯代码:pure code

程序、数据、栈的集合称作进程映像(Process Image)

进程控制块 (Process Control Block,PCB)

操作系统要管理进程和资源需要每个进程的描述信息以及状态信息。这些信息需要由操作系统维护的表格来表示。这个表格称为进程控制块。 包含进程的标识,空间,运行状态,资源使用等。

详细描述:

  • 进程标识:本进程标识,父进程,进程所属用户;
  • 运行状态:用户可用的寄存器或通用寄存器,控制和状态寄存器
  • 控制信息:调度和状态信息,进程间通信信息,存储管理信息,进程所用资源列表,链接信息。

进程状态

进程的创建

操作系统提供进程的创建API, 用户程序可以直接调用来创建进程去运行新的程序。新进程进入系统时,操作系统创建管理该进程的需要的系统表格,并为该进程分配空间,初始化进程空间。必要时一个进程可以创建一个子进程。

进程的运行状态

  • 运行状态:在CPU中运行的进程
  • 就绪状态:一个进程获得了除cpu以外的所以资源
  • 等待状态:阻塞状态,一个进程正在等待某一个事件而暂停
  • 创建状态
  • 结束状态

进程的结束

进程结束时请求操作系统结束,或者进程发生异常时结束进程。进程结束主要是释放进程占用的资源。

进程的挂起

挂起的进程不能立即被执行,并交换出主存。

现在操作系统使用队列来存储进程。

进程控制与调度

进程的执行
进程的调度

进程调度的方式:剥夺式和非剥夺式。

  • 非剥夺式按照排好的进程顺序执行程序。减少系统资源消耗,但是实时性差,临时的紧急任务也不能被立即执行;

  • 剥夺式:按照进程优先级或者时间片来安排进入cpu的进程。剥夺式更加灵活,可以节省进程的周转时间。

进程放弃Cpu的原因:执行完毕;IO处理;

调度算法

  • 先来先服务

  • 优先级调度:按照进程的优先级大小来调度,使高优先级进程优先得到处理机的调度

  • 时间片轮转:进程调度程序总是选择就绪队列中的第一个进程,也就是说,按照先来先服务原则调度,但进程占有处理机仅一个时间片,在使用完一个时间片后,进程还没有完成其运行,它也必须释放(被剥夺)处理机给下一个就绪的进程。而被剥夺的进程返回到就绪队列的末尾重新排队,等候再次运行。

  • 短进程优先:从进程的就绪队列中挑选那些所需运行时间(估计时间)最短的进程进入主存运行。这是一个非剥夺式算法

  • 最短剩余时间优先调度: “进程运行到完成时所需的运行时间最短”的进程优先得到处理

  • 最高响应比优先调度

    优先数=(等待时间+要求的服务时间)/要求的服务时间

    要求的服务时间是分母,所以对短进程是有利的,它的优先数高,可优先运行。但是由于等待时间是分子,所以长进程由于其等待了较长时间,从而提高了其调度优先数,终于被分给了处理机。

  • 多级反馈队列调度: 系统中有多个进程就绪队列,每个就绪队列对应一个调度级别。第1级队列的优先级最高,以下各级队列的优先级逐次降低。调度时选择高优先级的第1个就绪进程。优先级最高的第1级队列中的进程的时间片最小,随着队列级别的增加,其进程的优先级降低了,但时间片却增加了。通常下放一级,其时间片增加1倍。当第1、2级队列皆为空时,才调度第3级队列中进程……当前面各级队列皆为空时,才调度最后第n级队列中的进程。第n级(最低级)队列中的进程采用时间片轮转算法进行调度。

线程

在一个进程中可以包含多个线程,系统按照进程分配所有除CPU以外的系统资源(内存,外设,文件),程序依赖于线程运行,系统按照线程分配CPU资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值