操作系统结课论文——进程的概念与状态

操作系统结课论文

题 目:进程的概念与状态

摘 要

本文主要是介绍进程的一些基本概念与管理应用。进程是操作系统中最重要、最基本的概念之一。它是系统分配资源的基本单位,是一个具有独立功能的程序段对某个数据集的一次执行活动。引入进程的概念是由操作系统的资源有限性、处理上的并行性以及系统用户的执行起始时间的随机性所决定的。一切仅具有静态特征的概念,例如程序,不能反映系统的上述特征,因此,导入了具有动态特征的进程概念。
进程具有动态性、并发性等特点。反映进程动态特性的是进程状态的变化。进程要经历创建、等待资源、就绪准备执行、执行和执行后释放资源并消亡等几个过程和状态。进程的状态转换要由不同的原语执行完成。进程的并发特性反映在进程对资源的竞争以及由资源竞争所引起的对进程执行速度的制约。这种制约可分为直接制约和间接制约。进程间的直接制约是被制约进程和制约进程之间存在着使用对方资源的需求,只有制约进程执行后,被制约进程才能继续往前推进。进程间的间接制约是被制约进程共享某个一次只能供一个进程使用的系统资源,只有得到该资源的进程才能继续往前推进,其他进程在获得资源进程执行期间不允许交叉执行。因此,直接制约进程之间具有固定的执行顺序,而间接制约的进程之间则没有固定的执行顺序。
进程间的间接制约可利用加锁法和P、V原语操作实现。进程间的直接制约既可用P、V原语实现,也可用其他互相传递信号的方式实现。
尽管进程是一个动态概念,但是,从处理机执行的观点来看,进程仍需要静态描述。一个进程的静态描述是处理机的一个执行环境,被称为进程上下文。进程上下文由以下部分组成:PCB(进程控制块)、正文段和数据段以及各种寄存器和堆栈中的值。寄存器中主要存放将要执行指令的逻辑地址、执行模式以及执行指令时所要用到的各种调用和返回参数等。而堆栈中则存放 CPU 现场保护信息和各种资源控制管理信息等。

关键词:进程的概念;进程状态;制约进程

Abstract

This article mainly introduces some basic concepts and management applications of the process. Process is one of the most important and basic concepts in the operating system. It is the basic unit for the system to allocate resources, and it is an execution activity of a program segment with independent functions on a certain data set. The concept of introducing a process is determined by the limited resources of the operating system, the parallelism in processing, and the randomness of the execution start time of system users. Everything that has only static characteristics, such as programs, cannot reflect the above-mentioned characteristics of the system. Therefore, the concept of processes with dynamic characteristics has been introduced.
The process is dynamic and concurrent. What reflects the dynamic nature of the process is the change in the state of the process. The process has to go through several processes and states such as creating, waiting for resources, preparing for execution, executing and releasing resources after execution, and dying out. The state transition of the process must be performed by different primitives. The concurrency characteristics of the process are reflected in the competition of the process for resources and the restriction of the execution speed of the process caused by the resource competition. This kind of restriction can be divided into direct restriction and indirect restriction. The direct restriction between processes is that there is a need to use the other party’s resources between the restricted process and the restricted process. Only after the restricted process is executed can the restricted process continue to move forward. The indirect restriction between processes is that the restricted process shares a certain system resource that can only be used by one process at a time. Only the process that obtains the resource can continue to move forward, and other processes are not allowed to cross-execute during the execution of the resource acquisition process. Therefore, there is a fixed order of execution between directly constrained processes, but no fixed order of execution between indirectly constrained processes.
The indirect control between processes can be achieved by using the locking method and the P and V primitive operations. The direct control between the processes can be realized by the P and V primitives, and can also be realized by other ways of transmitting signals to each other.
Although the process is a dynamic concept, from the perspective of processor execution, the process still needs a static description. The static description of a process is an execution environment of the processor, which is called the process context. The process context consists of the following parts: PCB (process control block), text segment and data segment, and the values in various registers and stacks. The register mainly stores the logical address of the instruction to be executed, the execution mode, and various call and return parameters that are used when the instruction is executed. The stack stores CPU protection information and various resource control management information.

Keywords: concept of process; process status; restricting process

目 录

摘 要 I Abstact II 1 进程的概念 1
1.1 程序的并发执行 1
1.1.1 程序 1
1.1.2 程序的顺序执行 1
1.1.3 程序的并发执行 2
1.2 进程的定义 2 2 进程状态及其转换 2
2.1 进程状态 2
2.2 进程状态转换 3

1 进程的概念

现代操作系统的重要特点是在保证安全的前提下,程序并发执行,以及系统所拥有的资源被共享和系统的用户随机地使用。这3个特点是互相联系和互相依赖的,它们是互相独立的用户如何使用有限的计算机系统资源的反映。通常,操作系统的重要任务之一是使用户充分、有效地利用系统资源。采用一个什么样的概念来描述计算机程序的执行过程和作为资源分配的基本单位,才能充分反映操作系统的执行并发、资源共享及用户随机的特点呢?这个概念就是进程。为了讲清进程的概念以及引入进程概念的必要性等,下面将从操作系统的特点讲起。

1.1程序的并发执行

1.1.1程序
程序(program)描述计算机所要完成的具有独立功能的,并在时间上按严格次序前后相继的计算机操作序列集合,是一个静态的概念。它体现了编程人员要求计算机完成相应功能时所应该采取的顺序步骤。
1.1.2程序的顺序执行
程序只有经过执行才能得到结果。程序的执行又可以分为顺序执行和并发执行。计算机的CPU是通过时序脉冲来控制顺序执行指令的。这里IR为指令寄存器,PC为程序计数器,M为存储器。显然,程序的顺序性与计算机硬件的顺序性是一致的。我们把一个具有独立功能的程序独占处理机直至最终结束的过程称为程序的顺序执行。程序的顺序执行具有如下特点:
1)顺序性
程序顺序执行时,其执行过程可看作一系列严格按程序规定的状态转移过程,也就是每执行一条指令,系统将从上一个执行状态转移到下一个执行状态,且上一条指令的执行结束是下一条指令执行开始的充分必要条件。
2)封闭性
程序执行得到的最终结果由给定的初始条件决定,不受外界因素的影响。
3)可再现性
顺序执行的最终结果可再现是指它与执行速度无关。只要输入的初始条件相同则无论何时重复执行该程序都会得到相同的结果。

1.1.3程序的并发执行
所谓并发执行,是为了增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。程序的并发执行可进一步分为两种:第一种是多道程序系统的程序执行环境变化所引起的多道程序的并发执行。如前所述,在多道程序系统环境下,各道程序在逻辑上独立,具备了独立执行的条件。而程序与数据输入的随机性以及执行起始时间的随机性又导致了多道程序要求同时执行的客观要求。由于资源的有限性,多道程序的并发执行总是伴随着资源的共享与竞争。从而制约各道程序的执行速度。而无法做到在微观上,也就是在指令级上的同时执行。因此,尽管多道程序的并发执行在宏观上是同时进行的,但在微观上仍是顺序执行的;第二种并发执行是在某道程序的几个程序段中(例如几个程序)包含着一部分可以同时执行或顺序颠倒执行的代码。既可以同时执行,也可颠倒次序执行。也就是说,对于这样的语句,同时执行不会改变顺序程序所具有的逻辑性质。因此,可以采用并发执行来充分利用系统资源以提高计算机的处理能力。
程序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。

1.2进程的定义

进程的概念是20世纪60年代初期首先在MIT的Multics系统和IBM公司的TSS/360系统中引用的。从那以后,人们对进程下过许多各式各样的定义。现列举其中几种:
(1)进程是可以并发执行的计算部分(S.E.Madnick,J.T.Donovan)。
(2)进程是一个独立的可以调度的活动(E.Cohen,D.Jofferson)。
(3)进程是一个抽象实体,当它执行某个任务时,将要分配和释放各种资源
(4)行为的规则称为程序,程序在处理机上执行时的活动称为进程
(5)一个进程是一系列逐一执行的操作,而操作的确切含义则有赖于以何种详尽程度来描述进程(Brinch Hansen)。

2进程状态及其转换

2.1进程状态

一个进程的生命期可以划分为一组状态,这些状态刻画了整个进程。系统根据PCB结构中的状态值控制进程。前面已介绍过,一个进程在并发执行中,由于资源共享与竞争,有时处于执行状态。有时,进程则因等待某种事件发生而处于等待状态。另外,当一个处于等待状态的进程因等待事件发生被唤醒后,又因不可能立即得到处理机而进入就绪状态。进程刚被创建时,由于其他进程正占有处理机而得不到执行,只能处于初始状态。进程在执行结束后,将退出执行而被终止,这时进程处于终止状态。因此,在进程的生命期内,一个进程至少具有5种基本状态:初始态、执行状态、等待状态、就绪状态和终止状态。
处于就绪状态的进程已经得到除CPU之外的其他资源,只要由调度得到处理机,便可立即投入执行。
在有些系统中,为了有效地利用内存,就绪状态又可进一步分为内存就绪状态和外存就绪状态。在这样的系统中,只有处于内存就绪状态的进程在得到处理机后才能立即投入执行;而处于外存就绪状态的进程只有先成为内存就绪状态后,才可能被调度执行。这种方式明显地提高了内存的利用效率,但反过来也增加了系统开销和系统复杂性。
在单CPU系统中,任一时刻处于执行状态的进程只能有一个。只有处于就绪状态的进程经调度选中之后才可进入执行状态。
在某些操作系统中,一个进程在其生命期内的执行过程中,总要涉及用户程序和操作系统内核程序两部分。因此,进程的执行状态又可进一步划分为用户执行状态(简称为用户态)和系统执行状态(简称为系统态或核心态)。进程的用户程序段在执行时,该进程处于用户态。而一个进程的系统程序段在执行时,该进程处于系统态。为什么要划分用户态和系统态呢?一个最主要的原因是要把用户程序和系统程序区分开来,以利于程序的共享和保护。显然,这也是以增加系统复杂度和系统开销为代价的。
进程因等待某个事件发生而放弃处理机进入等待状态。显然,等待状态可根据等待事件的种类而进一步划分为不同的子状态,例如内存等待、设备等待、文件等待和数据等待等。这样做的好处是系统控制简单,发现和唤醒相应的进程较为容易。但系统中设置过多的状态又会造成系统参数和状态转换过程的增加。

2.2进程状态转换

进程的状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。那么,是什么样的条件使得进程各状态发生转换呢?如图给出了5个基本状态,即初始状态、就绪状态、执行状态、等待状态与终止状态之间的转换关系。
在这里插入图片描述

事实上,进程的状态转换是一个非常复杂的过程。从一个状态到另一个状态的转换除了要使用不同的控制过程(将在3.4节中讲述),有时还要借助于硬件触发器才能完成。例如,在UNIX系统中,从系统态到用户态的转换要借助硬件触发器完成。

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轩辕椿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值