计算机操作系统(7):进程的基本概念

2.1  进程的基本概念

  1. 程序的顺序执行及其特征
  2. 程序的并发执行及其特征
  3. 进程的特征与状态
  4. 进程控制块

2.1.1  程序的顺序执行及其特征

顺序执行包含两层含义:

  1. 在单道批处理系统中,对于多个用户程序来说,所有程序是依次执行的。(外部顺序性)
  2. 对于一个程序来说,在若干个程序段之间,必须按照某种先后次序顺序执行;对同一个程序段中的多条指令,也是按某种顺序执行的。(内部顺序性)

程序的顺序执行主要是指第一种,即各个程序依次执行

  1. 程序顺序执行的特征

2.1.3  程序的并发执行及其特征

程序的并发执行包括两层含义

  1. 对于一个程序来说,它的所有指令是按序执行的。(内部顺序性)
  2. 对于多个执行中的程序(进程)来说,所有进程是交叉执行的。(外部并发性)

程序并发执行的特征

3)不可再现性——与时间有关的错误  

 

2.1.4  进程的特征与状态

1.进程的定义和特征

进程是程序在一个数据集上的运行过程,是系统进行资源分配和调度的一个独立单位。 (传统OS中对进程的定义)

进程的特征

  1. 结构特征

程序段、相关的数据段、PCB三部分构成了进程实体。

  1. 动态性

进程的实质是进程实体的一次执行过程,故动态性是进程的最基本特征

  1. 并发性

这是指多个进程实体同存于内存中,且能在一段时间内同时运行

  1. 独立性

在传统的OS中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。

  1. 异步性

是指进程按各自独立的、不可预知的速度向前推进,或说进程实体按异步方式运行。

2.  进程的三种基本状态

1)就绪(Ready)状态:

当进程已分配到除CPU以外的所有资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。

2)执行(Running)状态:

进程已获得CPU,其程序正在执行

3)阻塞(Blocked)状态:

正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态(或等待状态)。

进程的三种基本状态的转换:

引起进程状态转换的典型事件:

进程调度:就绪态®执行态

时间片完:执行态®就绪态

请求I/O:执行态®阻塞态

I/O完成:阻塞态®就绪态  

挂起状态:

  1. 引入挂起状态的原因:

 

  1. 具有挂起状态系统的进程状态的转换

2.1.5  进程控制块(PCB)

为了描述和控制进程的运行,系统为每个进程定义了一个数据结构——进程控制块。

进程控制块是进程实体的一部分,是操作系统中最重要的记录型数据结构

  1. PCB作用

使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发进程进行控制和管理的。

例如:进程调度;现场保护和恢复;进程同步和通信。

2.进程控制块中的信息

PCB中记录了操作系统所需的、用于描述进程当前情况以及控制进程运行的全部信息。具体包括下述四方面的信息:

  1. 进程标识符

内部标识符(进程号);外部标识符(名);

父进程标识及子进程标识;用户标识

  1. 处理机状态

处理机状态信息主要由处理机的各种寄存器中的内容组成的。寄存器包括:通用寄存器、指令计数器、程序状态字(PSW)寄存器、用户栈指针。(保护、恢复现场)

当处理机被中断时,这些信息都必须保存到PCB中,以便该进程重新执行时,能从断点继续执行。

3)进程调度信息:

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

  • 进程状态——作为调度和对换时的依据。
  • 进程优先级——由于描述进程使用处理机的优先级别的一个整数,优先级高的进程优先获得处理机。
  • 进程调度所需的其它信息——它们与所采用的进程调度算法有关。……
  • 事件——即阻塞原因。
  1. 进程控制信息

程序和数据的地址——指程序和数据所在的内存或外存首地址;

进程同步和通信机制——如信号量、消息队列指针等,它们可能全部或部分地存放在PCB中;

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

链接指针——它给出本进程(PCB)所在队列中下一个进程的PCB的首址。

3.进程控制块的组织方式

常用的组织方式有两种:链接方式和索引方式

 2)索引方式:

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426336.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无法打开计算机上的event log服务,Win7系统下启用Windows event log服务发生4201错误的正确解决方法...

Windows event log服务会把程序与系统发送的错误消息记录在日志中,其中还包含了部分有用的诊断信息,近期有Win7用户在启用windows event log服务的时候,发生4201错误提示框。那么该如何解决该问题?下面装机之家分享一下Win7系统下…

广义线性模型的计算机应用技术学院,SPSS数据分析—广义线性模型

我们前面介绍的一般线性模型、Logistic回归模型、对数线性模型、Poisson回归模型等,实际上均属于广义线性模型的范畴,广义线性模型包含的范围非常广泛,原因在于其对于因变量、因变量的概率分布等条件的限制放宽,使其应用范围加大。…

中国第一个计算机病毒什么时候,新中国成立以来的第一例电脑病毒小球病毒是在1988年发现...

扩展阅读:1988年,随着软件交流,石头和小球病毒跟随软盘悄悄地通过香港和美国进入了中国内地,并在人们的懵懂之间在大型企业和研究所间广为传播。小球病毒是国内发现的第一个计算机病毒。发作条件是当系统时钟处于半点或整点&#…

计算机操作系统(8):进程的控制

2.2 进程控制 进程控制是进程管理中最基本的功能。 进程控制包括: ◆ 创建进程 ◆ 终止进程 ◆ 进程状态转换 进程控制是由OS的内核完成的。 2.2.1 进程的创建 2.进程的创建 调用进程创建原语Create(),按下述…

计算机操作系统(9):深入理解B/S与C/S架构

深入理解B/S与C/S架构 阅读目录 C/S架构简要介绍 什么是B/S架构 B/S架构的几种形式 发展前景 一、C/S架构简要介绍 在了解什么是B/S架构之前,我们有必要了解一下什么是C/S架构: C/S架构是第一种比较早的软件架构,主要用于局域网内。也叫…

硬件设计--DC/DC电源芯片详解

本文参考:http://www.elecfans.com/article/83/116/2018/20180207631874.html https://blog.csdn.net/wangdapao12138/article/details/79763343 第一次写博客,不喜勿喷,谢谢!!! DC/DC电源指直流转换为直流…

Unity预计算全局实时GI(gi params)

Unity提供许多进阶的光照贴图控制方法,这些设定被放在一个光照参数集(LightmapParameters)的资源里,好让设定能在不同的项目场景或是透过版本控制和团队一起共享。 要建立一个Lightmap Parameters资源,先找到Project窗口从Create下拉选单建立…

计算机操作系统(11):负载均衡

负载均衡是高可用网络基础架构的的一个关键组成部分,有了负载均衡,我们通常可以将我们的应用服务器部署多台,然后通过负载均衡将用户的请求分发到不同的服务器用来提高网站、应用、数据库或其他服务的性能以及可靠性。 为什么要引入负载均衡…

计算机配置对电子竞技的影响,配置高并不是唯一优点 看看电竞硬件还要啥?...

01宁美国度星河 战列舰XS现在有很多游戏品牌依靠品牌的力量为自己背书,以至于很多游戏玩家很难找的合适自己的高性能电脑,电竞体验也就无从谈起,但是今年的新品里还是有一些意外之喜,在整机性能上表现不俗。比如电脑发烧友们向来有…

计算机硬盘与格式化,什么是磁盘格式化 格式化与快速格式化区别 - 驱动管家...

电脑磁盘格式化,对于电脑爱好者肯定很好理解,但对于一些新手,可能不太理解。格式化是什么?简单的说,格式化就是把一张空白的盘划分成一个个小的区域,并编号,供计算机储存,读取数据。接下来对磁…

玩转oracle 11g(11):开启归档模式

如果归档模式已经开启并设置归档路径,请跳过 1. 开始-》运行-》cmd 2. 输入:sqlplus sys/密码 as sysdba 3. Sql> archive log list ; 如下图所示: Rman 在线备份 如果“数据库日志模式”为“非存档模式” 按照如下开启归档…

玩转oracle 11g(12):卸载

从 Oracle 11gR2 开始,Oracle 推荐使用 deinstall 来完全卸载 Oracle 数据库。 使用 Oracle Universal Install(OUI) 的图形方式来卸载 Oracle 数据库软件,会看到下图警告: "请运行命令 C:\app\administrator\product\11.2.0\dbhome_1\deinstall\de…

[SHOI2011]双倍回文 manacher

题面: 洛谷:[SHOI2011]双倍回文‘ 题解: 首先有一个性质,本质不同的回文串最多O(n)个。 所以我们可以对于每个i,求出以这个i为结尾的最长回文串,然后以此作为长串,并判断把这个长串从中间劈开后…

h5禁用浏览器下载视频_【必备】 一键视频下载器插件,非常好用的浏览器插件!...

① 资源发布时,版本是最新的。时过境迁,无法保证能否正常使用,请善用公众号搜索功能,请及时下载最新版或留言。② 如果觉得资源对您有用,请收藏。如果觉得资源对他人有用,请转发。③ 如发现“无法运行“、“…

access是不是计算机编程,access编程简介之二:用宏还是VBA?

时 间:2012-07-03 09:47:12作 者:摘 要:Access编程简介之二:我应该使用宏还是应该使用 VBA 代码?正 文:要决定是使用宏或 VBA 还是同时使用这两者,主要取决于您计划部署或分发数据库的方式。例如,如果数据库存储在您的计算机上…

语言三做一年级算题_一年级数学期末考试,学生交卷说能考100分,快让你家孩子试试吧...

时间不知不觉已到7月份了,各地小学将要迎来期末水平考试了,小学生也是十分开心,考完试又要放假了,更有小学生笑着对老师说“今年的假期有点长啊”,一句话把老师逗得哭笑不得。今天上午同事所在小学举行了一年级数学期末…

express+vue+mongodb+session 实现注册登录

上个月写了一篇文章是 expressmongodbvue 实现增删改查. 只是简单的实现了增删改查功能,那么今天是在那个基础之上做了扩展,首先实现的功能有如下: 1. 支持注册,登录功能,用户可以注册完成后,进行登录&…

java 添加注解_你知道Java中的package-info的作用吗?

package-info.java对于日常业务开发的开发者来说,可能有点陌生,如果我们再项目中创建一个package-info.java,你会发现该类只有一个packge,如下我们无法在该java文件中定义public的类但事实上,package-info.java还有它的…

if else的使用以及如何从键盘获取数值

if-else的使用 顺序结构 顺序从上到下执行,中间没有判断和跳转 分支结构 根据条件,选择性地执行某段代码 有if-else和switch两种分支语句 循环结构 根据循环,重复性地执行某段代码 有while、do...while、for三种循环结构 如何从键盘获取数值 …

linux(3):Linux MBR分区、挂载操作步骤,逻辑卷扩容操作

Linux MBR分区、挂载操作步骤,逻辑卷扩容操作 服务器开机之后,能自动识别出硬盘,但是硬盘不能够存储数据,必须对硬盘进行分区、格式化、挂载后才能使用;linux主分区和拓展分区总数不能超过4个,拓展分区最…