操作系统学习笔记(3)——进程描述与进程状态变化

来源:互联网 发布:旺旺号是不是淘宝昵称 编辑:程序博客网 时间:2024/06/06 04:51

一、进程的描述

进程:是系统中占用处理机及争夺其它系统资源的实体;程序必须在进程中运行;进程运行必须有栈用于保存现场

进程的引入:

  • 为了能实现同一作业的作业步并发
  • 在作业某作业步等I/O时,另一逻辑上可并发作业步能使用CPU运行
  • 引入进程后,逻辑上课并发的作业步在不同的进程中运行,处理机能在进程间切换
进程的定义:是有独立功能的程序关于某个数据集合的一次运行活动
进程的特点:
  • 动态性:可动态创建、结束,也可以是精灵进程(即开机就创建、关机才消失的进程,一般是一些服务进程)
  • 并发性:可以被调度轮流占用处理机运行
  • 独立性:一个进程有自己独立的空间,互不打扰
  • 制约性:因访问共享数据或进程间同步而产生制约

进程与程序的区别:

  • 相同的程序可以在两个以上的进程中运行(如创建多个进程运行相同浏览器)
  • 程序文件(永远)存放在磁盘中,运行时读入内存;而进程是在运行期间动态创建的(要有操作系统才可以,关机了进程就没有了)
  • 程序只有程序语句及有初值数据变量和无初值数据变量;而进程一般有要处理的输入数据
二、进程的组成:管理进程的PCB表+进程映像
1、包括:
  • 执行的程序及处理的数据,及存放程序和数据的内存空间
  • 执行程序用的栈(含核心栈与用户栈)
注意理解:逻辑上可以理解为每一进程都有一个‘栈’,但实际运行上看一部分在‘核心栈’一部分在‘用户栈’。如之前提到的内核程序寄存在用户进程中运行,就是利用了用户进程的核心栈。
  • 进程管理描述信息及运行要用的其他系统资源
2、进程映像:进程存放在内存中的进程执行程序、数据、栈。而如何存放则取决于内存的存储管理机制
3、进程控制块PCB:系统管理控制进程运行用的数据结构。其包含的信息包括:
  • 进程标识信息:如本进程的标识(进程号)、本进程的产生者标识(父进程标识)、进程所属用户标识
  • 处理机状态信息保存区(链式结构):其实质就是核心栈。保存进程进入操作系统内核的运行现场信息:

通用寄存器:数据、地址寄存器

控制和状态寄存器:如程序计数器(PC)、处理机状态字(PS)

  • 进程控制信息:

调度和进程状态信息:用于操作系统调度进程占用处理机的信息

进程间通讯信息:为支持进程间的通讯相关的消息队列、消息等,这些信息在接收方的进程控制块中

存储管理信息:包含有描述进程映像存储空间的数据结构

进程所用资源:说明由进程打开、使用的系统资源。如打开的文件等

链接信息:如就绪进程链等

三、进程的创建、结束、等待的系统调用
“进程创建”处理过程:
      
      
“进程结束”处理过程
      
“进程等待”系统调用:是进程之间的一种同步
      

四、进程的状态及变化
1、进程的5种状态
  • 创建状态(New):进程正在被创建
  • 就绪状态(Ready):进程获得了除了处理机之外的一切所需资源,万事俱备只缺处理机
  • 运行状态(Running):进程正在处理机上运行
  • 阻塞/等待状态(Blocked):进程正在等待某个资源(如打印机、独占式资源)或等待I/O完成而暂停运行
  • 结束状态(Exit):进程正在从系统中消失时的状态,这是因为进程结束或其它原因流产所导致
2、状态变化的情形      
       
       
       
       
       
       

3、挂起状态(suspend)
      
      因为挂起状态的设立时为了节约内存空间。那么上图中,首先应该是让那些需要等待事件的“等待/阻塞状态”从内存中释放,变成“等待/阻塞挂起”状态。如果内存还不够用,再考虑将“就绪状态”的进程从主存中挪到磁盘中去,变成“就绪挂起”状态。
     现代的操作系统随着虚存技术的发展,主存基本够用,所以不怎么需要考虑“挂起状态”了。
       



1 0
原创粉丝点击