操作系统学习之一:进程及其状态和数据描述

进程的概念

    进程是一个具有一定独立功能的程序关于某个数据集合一次运行活动;
    进程是操作系统进行资源分配和调度的一个独立单位;
    一个进程包括五个实体部分, 分别是:
           • 1.(OS管理运行程序的)数据结构P
           • 2.(运行程序的)内存代码C
           • 3. (运行程序的)内存数据D
           • 4. (运行程序的)通用寄存器信息R
           • 5.(OS控制程序执行的)程序状态字信息PSW

Notes:不同程序在不同数据集上运行,构成两个无关进程;

             不同程序在相同数据及上运行,构成两个共享数据的交往进程;

              相同代码在不同数据集上运行,构成两个共享代码的无关进程;

              前述的程序与数据集均是内存级的,那么在不同时段针对同一内存数据文件运行同一个外村程序文件,意味着完全不同的(P,C,D,R,Psw),即两次运行构成不同的进程;

进程的运行状态

运行态指进程占有处理器运行;
就绪态指进程具备运行条件等待处理器运行;
等待态指进程由于等待资源、 输入输出、 信号等而不具备运行条件;

进程挂起:

 OS无法预期进程的数目与资源需求, 计算机系统在运行过程中可能出现资源不足的情况;
运行资源不足表现为性能低和死锁两种情况;
解决办法: 剥夺某些进程的内存及其他资源,调入OS管理的对换区, 不参加进程调度, 待适当时候再调入内存、 恢复资源、 参与运行, 这就是进程挂起
挂起态与等待态有着本质区别, 后者占有已申请到的资源处于等待, 前者没有任何资源;

 进程控制块

进程控制块PCB是OS用于记录和刻画进程状态及环境信息的数据结构;
借助PCB, OS可以全面管理进程的物理实体, 刻画进程的执行现状, 控制进程的执行;

 标识信息

用于存放唯一标识该进程的信息
•系统分配的标识号
•系统分配的进程组标识号
•用户定义的进程名
•用户定义的进程组名

进程控制块 - 现场信息
用于存放该进程运行时的处理器现场信息
•用户可见寄存器内容: 数据寄存器、 地址寄存器
•控制与状态寄存器内容: PC、 IR、 PSW
•栈指针内容: 核心栈与用户栈指针

控制信息

用于存放与管理、 调度进程相关的信息
• 调度相关信息: 状态、 等待事件/原因、 优先级
• 进程组成信息: 代码/数据地址、 外存映像地址
• 队列指引元: 进程队列指针、 父子兄弟进程指针
• 通信相关信息: 消息队列、 信号量、 锁
• 进程特权信息: 如内存访问权限、 处理器特权
• 处理器使用信息: 占用的处理器、 时间片、 处理
器使用时间/已执行总时间、 记账信息
• 资源清单信息: 如正占有的资源、 已使用的资源
 

进程映像

某一时刻进程的内容及其执行状态集合:
• 进程控制块: 保存进程的标识信息、 状态信息和控制信息;
• 进程程序块: 进程执行的程序空间;
• 进程数据块: 进程处理的数据空间, 包括数据、 处理函数的用户栈和可修改的程序;
• 核心栈: 进程在内核模式下运行时使用的堆栈, 中断或系统过程使用;
• 进程映像是内存级的物理实体, 又称为进程的内存映像;

进程上下文:

 进程的执行需要环境支持, 包括CPU现场和Cache中的执行信息
• OS中的进程物理实体和支持进程运行的环境合成进程上下文, 包括以下:
• 用户级上下文: 用户程序块/用户数据区/用户栈/用户共享内存
• 寄存器上下文: PSW/栈指针/通用寄存器
• 系统级上下文: PCB/内存区表/核心栈
•进程上下文刻画了进程的执行情况

猜你喜欢

转载自blog.csdn.net/cxy19931018/article/details/81434718