问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

进程的基本概念

发布网友 发布时间:2022-04-17 22:00

我来回答

2个回答

懂视网 时间:2022-04-18 02:22

以计算机为例,进程主要组成部分是由进程控制块、程序段、数据段三部分组成的,是指计算机中已运行的程序,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

  

  进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。进程是操作系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。

热心网友 时间:2022-04-17 23:30

一、进程的引入
多道程序系统中,程序具有:并行、制约以及动态的特征。程序概念难以便是和反映系统中的情况:

1. 程序是一个静态的概念
程序是完成某个功能的指令集和。系统实际上是出于不断变化的状态中,程序不能反映这种动态性。

2. 程序概念不能反映系统中的并行特性
例如:两个C语言源程序由一个编译程序完成编译,若用程序概念理解,内存中只有一个编译程序运行(两个源程序看作编译程序的输入数据),但是这样无法说明白内存中运行着两个任务。程序的概念不能表示这种并行情况,反映不了他们活动的规律和状态变化。就像不能用菜谱(程序)代替炒菜(程序执行的过程)一样(这句话我稍微修改了一下,感觉应该是这样表诉才对)。

二、进程的定义
进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度运行的基本单位。

三、进程与程序的差别
1. 进程是一个动态的概念

进程是程序的一次执行过程,是动态概念。

程序是一组有序的指令集和,是静态概念。

2. 不同的进程可以执行同一个程序

区分进程的条件:所执行的程序和数据集合。

两个进程即使执行在相同的程序上,只要他们运行在不同的数据集合上,他们也是两个进程。例如:多个用户同时调用同一个编译程序编译他们编写的C语言源程序,由于编译程序运行在不同的数据集合(不同的C语言源程序)上,于是产生了一个个不同的进程。

3. 每个进程都有自己的生命周期

当操作系统要完成某个任务时,它会创建一个进程。当进程完成任务之后,系统就会撤销这个进程,收回它所占用的资源。从创建到撤销的时间段就是进程的生命期。

4. 进程之间存在并发性

在一个系统中,同时会存在多个进程。他们轮流占用CPU和各种资源。

5. 进程间会相互制约

进程是系统中资源分配和运行调度的单位,在对资源的共享和竞争中,必然相互制约,影响各自向前推进的速度。

6. 进程可以创建子进程,程序不能创建子程序

7. 从结构上讲,每个进程都由程序、数据和一个进程控制块(Process Control Block, PCB)组成

四、进程的重要特征
1. 动态特征:进程对应于程序的运行,动态产生、消亡,在其生命周期中进程也是动态的。

2. 并发特征:任何进程都可以同其他进程一起向前推进。

3. 独立特征:进程是相对完整的调度单位,可以获得CPU,参与并发执行。

4. 交往特征:一个进程在执行过程中可与其他进程产生直接或间接关系。

5. 异步特征:每个进程都以相对独立、不可预知的速度向前推进。

6. 结构特征:每个进程都有一个PCB作为他的数据结构。

进程最基本的特征是并发和共享特征。

五、进程的状态与转换
1. 进程的三种基本状态
a. 运行状态:获得CPU的进程处于此状态,对应的程序在CPU上运行着。

b. 阻塞状态:为了等待某个外部事件的发生(如等待I/O操作的完成,等待另一个进程发来消息),暂时无法运行。也成为等待状态。

c. 就绪状态:具备了一切运行需要的条件,由于其他进程占用CPU而暂时无法运行。

2. 进程状态转换
a. 运行状态 ===> 阻塞状态:例如正在运行的进程提出I/O请求,由运行状态转化为阻塞状态。

b. 阻塞状态 ===> 就绪状态:例如I/O操作完成之后,由阻塞状态转化为就绪状态。

c. 就绪状态 ===> 运行状态:例如就绪状态的进程被进程调度程序选中,分配到CPU中运行,由就绪状态转化为运行状态。

d. 运行状态 ===> 就绪状态:处于运行状态的进程的时间片用完,不得不让出uCPU,由运行状态转化为就绪状态。

3. 进程的类型
a. 系统进程:操作系统用来管理资源的进程,当系统进程处于运行态时,CPU处于管态,系统之间的关系由操作系统负责。

b. 用户进程:操作系统可以独立执行的的用户程序段,当用户进程处于运行态时,CPU处于目态,用户进程之间的关系由用户负责。

六、进程控制块
1. 进程的三个组成部分
a. 程序

b. 数据

c. 进程控制块(PCB):为了管理和控制进程,系统在创建每个进程时,都为其开辟一个专用的存储区,用以记录它在系统中的动态特性。系统根据存储区的信息对进程实施控制管理。进程任务完成后,系统收回该存储区,进程随之消亡,这一存储区就是进程控制块。

PCB随着进程的创建而建立,撤销而消亡。系统根据PCB感知一个进程的存在,PCB是进程存在的唯一物理标识(这一点可以类比作业控制块JCB)。

2. 进程控制块的内容
PCB在不同的语言中,可能用不同的数据结构表示。为了系统管理和控制进程方便,系统常常将所有进程的PCB存放在内存中系统表格区(这是什么区?不懂,待我仔细查查),并按照进程内部标号由小到大顺序存放。

整个系统中各进程的的PCB集合可用数组表示。这时进程内部标号可以与数组元素下标联系。

各系统预留的PCB空间往往是固定的,如UNIX系统中规定进程数量不超过50个(这一点我有点怀疑)。

操作系统不同,PCB的格式、大小及内容也不尽相同。一般的,应该包含如下四个信息。

a. 标识信息:进程名。

b. 说明信息:进程状态、程序存放位置。

c. 现场信息:通用寄存器内存、控制寄存器内存、断点地址。

d. 管理信息:进程优先数、队列指针。

七、进程控制块的组织
系统中,有着许多不同状态的进程,处于阻塞状态的进程阻塞原因各不相同,为了便于调度和管理,常将进程控制块PCB用适当的方法组织起来。

1. 线性结构
把所有不同状态的进程的PCB组织在一个表格中。

最简单,适用于进程数目不多的操作系统,如UNIX系统,缺点是调用时,往往需要查询整个PCB表,时间复杂度略高。

2. 索引结构
分别把具有不同状态的进程PCB组织在同一个表中,于是有就绪进程表、运行进程表(多机系统中,还有现在的多核系统应该也有吧)以及各种等待事件的阻塞进程表。

系统中的一些固定单元分别指出各表的起始地址。

3. 链式结构
采用队列形式时,每个进程的PCB中要增加一个链指针表项,指向队列的下一个PCB起始地址。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
父母离异的话,会不会导致孩子心智不成熟? 过节 公司给我们发的购物卡 这个怎么做分录 属于福利费吗 需要计提吗... 乡村振兴公务员和省考公务员有什么区别 ...小时候跟着爷爷学国画书法,小受家是农村的,小受姓夏或叶,他带着他... 瑞麒X1安全装置 瑞麒X1的舒适型和豪华型有什么区别?配置有哪些不同的地方?这5000块多在... 瑞麒X1的安全性能方面配置如何? 脚崴了 有大量於血 怎么样才能快速消肿 脚崴了外侧出现瘀血浮肿怎么消除? ...换了我喜欢的发型,但是穿了件有点透明的衣服,可以看到肩_百度... 苹果设备编号怎么看 苹果7激活教程 苹果七怎样鉴定是在日本买的 为什么iPhone6的诊断报告里面显示的是iPhone7 iPhone7维修状态怎么查询 我用的是iphone7plus 的手机,手机诊断出来显示Hardware Model: iPhone7新机怎么激活 怎么为 iPhone7 激活的操作方法 iPhone7系统崩溃怎么正确恢复 如何检查iphone7是不是正品 vivox9怎么恢复出厂设置不会把联系人丢失 x9忘记密码、然后怎样恢复出厂设置? vivox9恢复出厂设置密码是多少? vivox9手机怎么恢复出厂系统 Vivox9,恢复出厂设置要输入解锁密码是多少? vivox9忘记密码怎么刷机恢复出厂设置? vivox9手机忘记密码怎么恢复出厂设置? 苹果iphone8不能用facetime怎么办 为什么facetime音频无法用 facetime给对方视频显示不可用是不是对方拉黑了 苹果FaceTime为什么通了后响几声说不可用 什么是进程 为什么 什么是进程? 一个关于进程组成部分的问题!(急) 什么叫进程?什么叫线程? 进程和程序的关系? 进程因为时间片用尽而暂停执行,进程现在处于( )状态? 电脑“进程” 爱剪辑怎么去水印 爱剪辑如何去视频中的水印 爱剪辑怎么去除水印 爱剪辑的水印怎么去除 如何使用爱剪辑给一个视频去水印? 爱剪辑怎样去视频水印 爱剪辑可以去水印吗 爱剪辑怎么完美去水印 手机爱剪辑怎么去水印 饿了吗,订单取消怎么再加回来? 怎样在饿了么商家版查询一个月以前的订单? 饿了么订单删了怎么恢复 饿了么已删除的订单可以恢复吗。急急急