1.进程管理

一、进程的概念:

进程:是程序在数据集合上的一次运行活动,是操作系统进行资源分配和调度的基本单位,是操作系统结构的基础。

1.进程与程序

进程与程序.png

程序:是有序代码的集合,通常对应着文件,可以复制,其本身没有任何运行的含义,是一个静态的概念。 进程:是程序在处理机上的一次执行过程,它是一个动态的概念。

2.进程与程序的区别和相互关系 :

(1)动态性和静态性。 (2)从结构上看每个进程的实体都是由程序段和相应的数据段两部分构成的,这一特征与程序的含义相近。 (3)一个进程可以涉及到一个或几个程序的执行;反之一程序可以对应多个进程,即同一程序段可在不同数 据集合上运行,可构成不同的进程 。 (4)并发性。 (5)进程具有创建其他进程的功能。 (6)操作系统中的每一个程序都是在一个进程现场中运行的。

3.进程特征

(1)结构特征:

进程由程序、数据和进程控制块三部分组成;

(2)动态性:

进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的;

(3)并发性:

任何进程都可以同其他进程一起并发执行;

(4)独立性:

进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;

(5)异步性:

由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。

二、进程控制块:描述进程信息的数据结构,进程存在的标志。

从图a就可看出进程的结构。

进程_控制块.png

1、PCB的内容

(1)进程标识符

进程标识符用于惟一地标识一个进程。一个进程通常有两种标识符: (1) 内部标识符: 在所有的操作系统中,都为每一个进程赋予一个惟一的数字标识符,它通常是一个进程的序号。 设置内部标识符主要是为了方便系统使用。 (2) 外部标识符: 它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系, 还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户

(2)处理机状态:处理机状态信息主要是由处理机的各种寄存器中的内容组成的。

① 通用寄存器: 又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息, 在大多数处理机中,有 8~32 个通用寄存器,在RISC(精简指令集计算机)结构的计算机中可超过 100 个; ② 指令计数器: 其中存放了要访问的下一条指令的地址; ③ 程序状态字PSW: 其中含有状态信息,如条件码、执行方式、 中断屏蔽标志等; ④ 用户栈指针: 指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。

(3)进程调度信息:

在PCB中还存放一些与进程调度和进程对换有关的信息.

① 进程状态:

指明进程的当前状态, 作为进程调度和对换时的依据;

② 进程优先级:

用于描述进程使用处理机的优先级别的一个整数, 优先级高的进程应优先获得处理机;

③ 进程调度所需的其它信息:

它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、 进程已执行的时间总和等;

④ 事件:

是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。

(4)进程控制信息:
① 程序和数据的地址:

是指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;

② 进程同步和通信机制:

实现进程同步和进程通信时必需的机制, 如消息队列指针信号量等,它们可能全部或部分地放在PCB中;

③ 资源清单:

是一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单

④ 链接指针:

它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址


(5)进程控制块PCB:作用

进程控制块是进程存在的标志,当系统或父进程创建一个进程时,实际上就是为其建立一个进程控制块。 进程控制块既能标识进程的存在,又能刻画出进程的动态特征,它是一个进程仅有的被系统真正感知的部分。对操作系统而言,所有进程控制块将构成并发执行控制和维护系统工作的依据。

(6)PCB 的 组 织 : 线性表 \索引表\链表

三、进程的状态:重点

1.三种基本状态

运行状态:正使用CPU 阻塞状态:等待输入输出 就绪状态:等待分配CPU

进程的状态1.png

进程的状态2.png

带挂起的进程状态:

进程的状态3.png

一个进程被唤醒意味着 进程变为就绪状态。 进程的管理和控制使用 原语。 进程从阻塞状态变为就绪状态等待某一事件。 进程被创建后,最初处于 就绪 状态,经过进程调度程序选中后,进入 执行 状态。 进程控制原语包括:进程的建立、进程的撤销、进程的等待和进程的唤醒。

11、对进程的描述错误的是( d) A.进程是动态的概念 B.进程执行需要处理机 C.进程是有生命期的 D.进程是指令的集合

四、进 程 控 制

1.进程创建

进程树、根进程、进程的创建过程

2.进程撤销

引起进程终止的事件、进程终止的过程

五、作业与进程

0.作业:

是系统为完成一个用户的计算任务(或一次事务处理)所做的工作总和。

0.进程:

是程序在数据集合上的一次运行活动,是操作系统进行资源分配和调度的基本单位,是操作系统结构的基础,它是一个动态的概念。

1.作业与进程的关系

2.调度的层次

作业的状态及其转换.png

(1)高级调度(作业调度):

1.接纳作业数(内存驻留数) 将外存作业调入内存,创建PCB, 插入就绪队列。 太多―――>周转时间T长 太少―――>系统效率低 2.接纳策略:即采用何种调度算法

(2)低级调度(进程调度):

由分派程序(Dispatcher)分派处理机。 1.非抢占方式 2.抢占方式 (1)时间片原则 (2)优先权原则 (3)短作业优先原则

(3)中级调度(中程调度):

为提高系统吞吐量和内存利用率而引入的 一 内--外存对换功能(换出时,进程为挂起或就绪驻外状态)

3.调度机制:排队、分派、切换

(1)排队 :

系统中就绪的进程可能有多个,就绪进程排成就绪队列可以方便调度程序调度。 (简单来说:将就绪进程排队)

(2)分派 :

按照一定的调度算法,从就绪队列中选择进程,选中进程后,分派程序把这个进程从就绪队列里取出来,做进程切换的准备。 (简单来说:按调度算法,选择下一个要运行的进程)

(3)切换 :

实质就是进程上下文的切换,操作系统先保护当前运行进程的上下文,进行现场保护,然后装入分派程序指定的进程的上下文,使这个程序获得CPU控制权,并运行。 (简单来说就是保护正运行的进程,安排下1个获得CPU控制权的进程)

4.进程调度模型

进程调度模型.png

5.调度准则:

(1)面向用户的准则

1)周转时间短:作业从提交――> 完成的时间
①:平均周转时间 :

Ti : 是服务时间,运行时间+等待时间

平均周转时间.png

②: 平均带权周转时间 :

Ts为实际服务时间(执行时间)。

平均带权周转时间.png

2)响应时间快:(对交互性作业)

概念:键盘提交请求到首次响应时间 (1)输入传送时间 (2)处理时间 (3)响应传送时间

3)截止时间的保证(特别于实时系统)
4)优先权准则:(即需要抢占调度)

(2)面向系统的准则

1.吞吐量高:单位时间完成作业数。 2.处理机利用率好。 3.各类资源的平衡利用。

6.调度算法

(1)先来先服务 (FCFS) (2)短作业优先 (SJF) (3)响应比高者优先 (4)高优先权优先调度算法 (5)时间片轮转调度 (6)多级反馈队列调度算法

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 10-1 进程如何工作

    见贤思齊
  • 2.进程控制

    有2个循环程序A和B,它们共享一个变量N,程序A每执行一次时,都要做N:=N+1; B则每次要执行Print(N), 然后再做N:=0. 若程序A,B以不同的速...

    见贤思齊
  • 10-2 控制进程

    见贤思齊
  • 僵尸进程

      在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等.但是仍然为其保留一定的信息(包括进程号the process ID,退出状态t...

    猿人谷
  • Linux性能及调优指南:进程管理

    Linux进程管理 进程管理是操作系统的最重要的功能之一。有效率的进程管理能保证一个程序平稳而高效地运行。 Linux的进程管理与UNIX的进程管理相似。它...

    小小科
  • 关于进程的分类

    默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作。对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候...

    shengjk1
  • Linux进程基础

    计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等。这些最基础的计算机动作被称为指令(instruction)。所谓的...

    程序员宝库
  • Linux性能及调优指南(翻译)之Linux进程管理

    本文为IBM RedBook的Linux Performanceand Tuning Guidelines的1.1节的翻译 原文地址:http://www.re...

    小小科
  • linux学习笔记四

    进程(process)是程序实体运行的过程,是系统进行资源分配和调度的独立单位,或者说是一个程序在处理机上的一次执行活动。 区分一下进程和程序 ---- 1....

    东风冷雪
  • Linux笔记(10)| 进程概述

    父进程返回正整数,子进程返回0,在执行fork函数之前,操作系统只有一个进程,fork函数之前的,代码只会被执行一次,在执行fork函数之后,操作系统有两个几乎...

    飞哥

扫码关注云+社区

领取腾讯云代金券