进程描述和控制
什么是进程
有以下几个定义:
1:一个正在执行中的程序。
2:一个正在计算机上执行的程序实例。
3:能分配给处理器并由处理器执行的实体。
4:一个具有以下特征的活动单元:一组指令序列的执行、一个当前状态和相关的系统资源集。
也可以把进程视为由一组元素组成的实体,进程的两个基本元素是程序代码和代码相关联的数据集。假设处理器开始执行这个程序代码,且我们把这个执行实体称为进程。在进程执行时,任意给定一个时间,进程都可以唯一的表征为以下元素:
1:标识符:跟这个进程相关的唯一标识符,用来区别其他进程。
2:状态:如果进程正在执行,那么进程处于运行态。
3:优先级:相对于其他进程的优先级。
4:程序计数器:程序中即将被执行的下一条指令的地址。
5:内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享内存块的指针。
6:上下文数据:进程执行时处理器的寄存器中的数据。
7:IO状态信息:包括显示的IO请求、分配给进程的IO设备和被进程使用的文件列表等。
8:记帐信息:可能包括处理器时间总和、使用的时钟总和、时间限制、记帐等。
前术的列表信息被存放在一个称为进程控制块的数据结构中,该控制块由操作系统创建和管理。比较有意义的一点是,进程控制块抱住了充分的信息,这样就可以中断一个进程的执行,并且在后来恢复执行进程时就好像进程未被中断过一样。进程控制块是操作系统能够支持多进程和提供多重处理技术的关键工具。
因此,可以说进程是由程序代码和相关数据还有进程控制块组成的。对于一个单处理器计算机,在任何时间最多只有一个进程在执行,正在运行的这个进程的状态为运行态。
被挂起的进程
交换的需要
三个基本状态(就绪态、运行态和阻塞态)提供了一种为进程行为建立模型的系统方法,并指导操作系统的实现。许多实际的操作系统都是按照这样的三种状态进行具体构造的。
但是,可以证明往模型中增加其他状态也是合理的。为了说明加入新状态的好处,考虑一个没有使用虚拟内存的系统,每个被执行的进程必须完全载入内存,因此,所有队列中的所有进程必须驻留内存中。内存中保存有多个进程,当一个进程正在等待时,处理器可以转移到另一个进程,但是处理器比IO要快得多,以至于内存中所有的进程都在等待IO的情况很常见(内存不足,进程按需加载,运行时加载),因此,即使是多道程序设计,大多数时候处理器仍然可能处于空闲状态。
一种解决方法是内存可以被扩充以适应更多的进程,但是这种方法有两个缺陷。首先是内存的价格问题,当内存大小增加时,价格也会随之增加;再者,程序对内存空间的增长速度比内存价格下降的速度快。因此,更大的内存往往导致更大的进程 ,而不是更多的进程。
另一种解决方案是交换,包括把内存中某个进程的一部分或全部移到磁盘中。当内存中没有
处于就绪状态的进程时,操作系统就把被阻塞的进程换出到磁盘中的“挂起队列”,即暂时保存从内存中被“驱逐”出来的进程队列,或者说是被挂起的进程队列 。操作系统在此之后取出挂起队列中的另一个进程,或者接受一个新进程的请求,将其纳入内存运行。
“交换”是一个IO操作,因而也可能使问题更加恶化。但是由于磁盘IO一般是系统中最快的IO(相对于磁带或打印机IO),所以交换通常会提高性能。
为使用前面描述的交换,在进程的行为模型中必须增加另一个状态:挂起态。
当内存中的所有进程都处于阻塞态时,操作系统可以把其中的一个进程置于挂起态,并将它转移到磁盘中,内存中释放的空间可被调入另一个进程使用。
2.3进程描述
操作系统控制计算机系统内部的事件,它为处理器执行进程而进行调度和分派,给进程分配资源,并响应用户程序的基本服务请求。因此,我们可以把操作系统视为管理系统资源的实体。
操作系统为了控制进程和管理资源需要哪些信息?
3.3.1操作系统的控制结构
操作系统为了管理进程和资源,必须掌握关于每个进程和资源当前状态的信息。普遍使用的方法是:操作系统构造并维护它所管理的每个实体的信息表。操作系统维护着四种不同类型的表:内存、IO、文件和进程。尽管不同的操作系统中的实现细节不同,但基本上所有操作系统维护的信息都可以分为这四类。
1:内存表:用于跟踪内(实)存和外存(虚拟内存)。内存的某些部分为操作系统保留,剩余部分是进程可以使用的,保存在外存中的进程使用某种类型的虚拟内存或简单的交换机制。内存表必须包括以下信息:
1:分配给进程的内存。
2:分配给进程的外存。
3:内存块或虚拟内存块的任何保护属性,如哪些进程可以访问某些共享内存区域。
4:管理虚拟内存所需要的任何信息。
2:IO表:管理计算机系统中的IO设备和通道。在任何给定的时刻,一个IO设备或者是可用的,或者已分配给某个特定的进程,如果正在进行的IO操作,则操作系统需要知道IO操作的状态和作为IO传送的源与目标目标的内存单元。
3:文件表:这些表提供关于文件是否存在、文件在外存中的位置、当前状态和其他属性的信息。大部分信息(不是全部信息)可能由文件管理系统维护和使用。在这种情况下,操作系统只有少许或者没有关于文件的信息;在其他操作系统中,很多文件管理的细节由操作系统自己管理。
4:进程表:操作系统维护的这几种不同的表必须以某种方式链接起来或交叉引用。内存、IO和文件是代表进程而被管理的,因此进程表中必须有对这些资源的直接或间接引用。文件表中文件可以通过IO设备访问,有时它们也位于内存中或虚拟内存中。这些表自身必须可以被操作系统访问到,因此它们受制于内存管理。
3.3.3进程控制结构
操作系统在管理和控制进程时,首先必须知道进程的位置,然后,它必须知道在管理时所必需的进程属性(如进程ID、进程状态)。
1:进程位置
在处理进程定位问题和进程属性问题之前,首先需要解决一个更基本的问题:进程的物理表示是什么?进程最少必须包括一个或一组被执行的程序,与这些程序相关联的是局部变量、全局变量和任何已定义常量的数据单元。因此,一个进程至少包括足够的内存空间,以保存该进程的程序和数据;此外,程序的执行通常涉及用于跟踪过程调用和过程参数传递的栈。最后,与每个进程相关联的还有操作系统用于控制进程的许多属性,通常,属性的集合称为进程控制块。程序、数据、栈和属性的集合称为进程映像。
3.4进程控制
需要区分通常与操作系统相关联的及与用户程序相关联的处理器执行模式。大多数处理器至少支持两种执行模式。某些指令只能在特权态下运行,包括读取或改变诸如程序状态字之类控制寄存器的指令、原始IO指令和与内存管理相关的指令。另外,有部分内存区域仅在特权态下可以被访问到。
使用两种模式的原因是很显然的,它可以保护操作系统和重要的操作系统表(如进程控制块)不受用户程序的干涉。在内核态下,软件具有对处理器所有指令、寄存器和内存的控制能力,这一级的控制对用户程序不是必需的,并且为了安全起见也不是用户程序可访问的。
3.5操作系统的执行
关于操作系统的两个特殊事实:
1:操作系统与普通的计算机软件以同样的方式运行,也就是说,它也是由处理器执行的一个程序。
2:操作系统经常释放控制权,并且依赖于处理器恢复控制权。
如果操作系统仅仅是一组程序,并且像其他程序一样由处理器执行,那么操作系统是一个进程吗?如果是,如何控制它?这些有趣的问题列出了大量的设计方法
1:无进程的内核
2:在用户进程中执行。
3:基于进程的操作系统。
相关推荐
操作系统第五版答案第3章_进程描述和控制.doc
在这个“操作系统实验1:进程控制与描述”中,我们将深入理解进程的基本概念,掌握进程的创建、同步、通信以及调度等核心知识点。 首先,我们需要了解什么是进程。在操作系统中,进程是程序的一次动态执行过程,它...
操作系统中的进程描述与控制是计算机科学中的核心概念,主要涉及多任务环境下的程序执行方式。进程是操作系统中执行程序的基本单元,它包含了程序、数据以及一个称为进程控制块(PCB)的结构。 并发执行是现代操作...
第2章进程描述与控制 对于操作系统有 系统的分析
进程控制是操作系统中的一种基本机制,用于控制和管理进程的执行。进程控制可以通过系统调用、信号机理等方式实现。系统调用 fork() 函数可以创建子进程,子进程由唯一的 pid 值标示。 4. 信号机理: 信号机理是...
进程控制描述与控制是操作系统中的一项重要功能,旨在管理和控制进程的执行,以确保系统的稳定性和安全性。通过任务管理器,用户可以查看和控制正在运行的进程,以确保系统的稳定性和安全性。本实验旨在帮助学生熟悉...
计算机操作系统(第4版)汤小丹、汤子瀛 第二章进程的描述和控制思维导图,已将重点进行提炼概括,包括:进程控制、同步,经典进程的同步问题,进程通信,以及线程等
第二章 进程的描述与控制 : 2.1 前趋图和程序执行 2.2 进程的描述 2.3 进程控制 2.4 进程同步 2.5 经典进程的同步问题 2.6 进程通信 2.7 线程(Threads)的基本概念 2.8 线程的实现 习题
多道程序设计 顺序程序 并发程序 多道程序设计 与时间有关的错误 线程的基本概念 线程的引入 线程的实现机制 Solaris进程线程模型
本实验“操作系统实验之进程控制与描述VC++”旨在通过实践帮助学生深入理解操作系统中的进程概念,以及如何在VC++环境下实现进程的控制与描述。 首先,我们要理解什么是进程。进程包含了程序、数据和执行状态,是...
操作系统是学习计算机很重要的一门学课之一,通过思维导图的方式更清晰的把知识点熟记于心。这个文档将很美观清晰的介绍进程的描述与控制。
学习操作系统非常基础的课件,适合自己学习。希望对你有帮助。
操作系统进程描述——对进程的描述
### 进程控制与描述代码知识点解析 #### 一、进程的基本概念 进程是计算机操作系统中的一个基本概念,它是程序的一次执行过程,是系统进行资源分配和调度的基本单位。在现代操作系统中,进程通常包括程序代码、数据...
### 操作系统习题解析:进程描述与控制 #### 知识点一:指令跟踪 ...通过深入理解这些知识点,我们可以更好地掌握操作系统中进程描述与控制的核心概念和技术细节,为进一步的学习和研究打下坚实基础。
随着多道系统的出现,进程作为资源分配和处理器调度的基本单位,是操作系统中最活跃的因素,也是操作系统并发性、共享性、虚拟性和异步性的体现。操作系统为进程分配资源,控制进程状态的变化,协调进程之间的关系,...
"计算机操作系统-进程描述与控制" 计算机操作系统中,进程是最基本的执行单位,它是操作系统中最活跃的因素,也是操作系统并发性、共享性、虚拟性和异步性的体现。操作系统为进程分配资源,控制进程状态的变化,...
第三章 进程描述与控制.ppt
操作系统实验-进程控制与描述,本例用VC++编写winows编程,打开一个记事本文档
文件系统还涉及到文件的I/O操作、缓存策略、权限控制和冗余备份,以保证数据的安全性和可靠性。 综上所述,这个实验涵盖了操作系统的核心概念,从进程的描述与控制到进程间的同步和通信,再到内存管理和文件系统的...