进程--特征、五种基本状态、PCB、进程的创建与终止

news/2024/7/23 11:06:00 标签: 服务器, 运维

一、进程的定义与特征

为了使参与并发执行的每个程序都能独立地允许,在操作系统中为程序配置一个专门的数据结构,称为进程控制块(Process Control Block,PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程

进程是程序的一次执行;是一个程序及其数据在处理机上顺序执行时所发生的活动;是具有独立功能的程序,是系统进行资源分配和调度的一个独立单位

特征:
(1)动态性:进程实体具有一定的生命周期,程序则只有一组有序指令的集合。程序是静态的,进程是动态的

(2)异步性:进程是各自独立,以不可预知速度执行的。多个进程以各自的速度执行,可能由于执行顺序的随机性,导致执行结果不同

(3)独立性:进程实体是一个能独立运行、独立获取资源和独立接收调度的基本单位

(4)并发性:多个进程实体共同存在内存中,并且能在一段时间内同时运行

二、进程的五种基本状态

进程的五种状态为:就绪状态、执行状态、阻塞状态、创建状态、终止状态

就绪状态:指进程已处于准备好运行的状态
执行状态:进程已经获得CPU资源,正处于执行状态
阻塞状态:正在执行的进程由于IO等事件暂时无法继续执行
创建状态:进程申请空白PCB,并在PCB中写入进程相关信息,再将该进程转入就绪状态
终止状态:将PCB清零,并将PCB空间返回系统。进程终止并消失

进程五种基本状态的转换

在许多系统中,进程还有挂起操作。如果进程被挂起,则该进程处于静止状态,如果进程正在执行,将暂停执行。若进程原本就处于就绪状态,则该进程暂时不接受调度

挂起原语Suspend和激活原语Active。通过这两个原语操作实现对进程的挂起与激活

具有创建、终止和挂起状态的进程状态图

三、PCB

在计算机系统中,对每个资源和每个进程都设置了一个数据结构,用于表征其实体。这个数据结构称为资源信息表或进程信息表,也称为进程控制块PCB

PCB的作用是使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程

PCB的功能

①是独立运行单位的标志

②能实现间断性运行方式

③提供进程管理所需的信息

④提供进程调度所需的信息

⑤实现与其它进程的同步与通信

进程控制块PCB中的信息

进程标识符。分为用户提供的外部标识符和系统提供的内部标识符

②处理机状态。由各种寄存器中内容组成

③进程调度信息。包括进程状态、进程优先级、进程调度所需的其他信息、事件(即阻塞原因)

④进程控制信息。包括程序和数据的地址、进程同步和通信机制、所需资源清单、PCB链接指针

进程控制块的组织方式包括:线性方式、链接方式、索引方式 

四、进程创建与终止

进程控制是进程管理中最基本的功能,进程控制一般是由OS内核中的原语来实现,原语的执行是不可以被中断的

OS内核为了防止被破坏,将处理机执行状态分为系统态(管态、内核态)用户态(目态)。系统态具有较高的特权,能执行一切指令,访问所有寄存器和存储区

OS提供的三种最基本的制程功能是:中断处理、时钟管理、原语操作

在OS中,允许一个进程创建另一个进程,通常把创建进程的进程称为父进程,被创建的进程称为子进程。子进程可以继承父进程所拥有的资源

引起创建进程的事件

(1)用户登录:用户登录后系统将为用户创建一个进程,并将进程插入就绪队列中,这进程是父进程

(2)作业调度:在多道批处理系统中,作业调度程序按照算法调度作业,将其装入内存,并为它创建进程,再将进程插入就绪队列中

(3)提供服务:用户提出请求后,操作系统创建进程来提供用户所需的服务

(4)应用请求:用户自己创建进程

其中前三个都是由操作系统自己建立进程,只有应用请求由用户自己创建进程

进程创建的过程

每当出现创建新进程的请求后,OS便调用创建原语Creat按照如下步骤创建一个新进程:

①申请空白PCB

②为新进程分配其运行所需的资源,包括物理和逻辑资源,内存、IO等

③初始化进程控制块PCB,包括标识信息、处理机状态信息、处理机控制信息

④如果进程就绪队列可以容纳新进程,则将新进程插入就绪队列

引起进程终止的事件

(1)正常结束:进程任务完成,准备退出运行

(2)异常结束:进程在运行过程中,由于某种异常事件,导致程序无法继续运行

异常事件包括越界错误、保护错误、非法指令、特权指令错误、运行超时、等待超时、算术运算错误、IO故障 

(3)外界干预:操作员或操作系统干预、父进程请求、父进程终止


http://www.niftyadmin.cn/n/5228091.html

相关文章

再探Java集合系列—LinkedHashMap

LinkedHashMap 继承了 HashMap 所以LinkedHashMap也是一种k-v的键值对,并且内部是双链表的形式维护了插入的顺序 LinkedHashMap如何保证顺序插入的? 在HashMap中时候说到过HashMap插入无序的 LinkedHashMap使用了双向链表,内部的node节点包含…

viple模拟器使用(四):unity模拟器中实现沿右墙迷宫算法

沿右墙迷宫算法 引导 线控模拟可以使得通过用户手动操作,实现机器人在模拟环境下在迷宫中行走(即:运动),算法可以使得机器人按照一定的策略自动行走,沿右墙迷宫算法就是其中的一种策略。 目的 运行程序后&…

LeetCode Hot100 3.无重复字符的最长子串

题目: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 代码: class Solution {public int lengthOfLongestSubstring(String s) {char[] arr s.toCharArray(); // 转换成 char[] 加快效率(忽略带来的空间…

论文学习-Bert 和GPT 有什么区别?

Foundation Models, Transformers, BERT and GPT 总结一下: Bert 是学习向量表征,让句子中某个词的Embedding关联到句子中其他重要词。最终学习下来,就是词向量的表征。这也是为什么Bert很容易用到下游任务,在做下游任务的时候&a…

Python面向对象之成员相关知识总结

文章目录 前言一、成员1.1 变量1.2 方法1.3 属性 二、成员修饰符三、对象嵌套四、特殊成员关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面…

windows系统bat脚本命令总结之reg命令

前言 做了一段时间的bat脚本开发,bat脚本中有各种各样的命令跟传统的编程逻辑完全不同,本专栏会讲解下各种各式的命令使用方法。 本篇文章讲解的是windows系统注册表操作命令"reg"。 reg命令简介 “reg” 是 Windows 操作系统中的一个命令行工…

【测试】C/S结构与B/S结构的概念与区别

随心所欲而无愧于心 文章目录 前言1. B/S1.1 B/S结构概念1.2 B/S结构软件的工作过程1.3 B/S结构软件的环境搭建 2. C/S结构软件2.1 C/S结构概念2.2 C/S软件工作过程 前言 一般情况下,软件有两种结构架构,一种是浏览器/服务器即B/S(Browser/S…

JSP格式化标签之formatNumber

好 我们来说说格式化的标签,相比于前面说的 条件动作标签,迭代标签 它的使用相对没那么多 formatNumber 他的作用是格式化数值,简单说 将一个指定的数值类型变量转换为指定格式的字符串 可以是 货币 百分比 数字格式 的字符串 我们可以编写…