《计算机操作系统 》课件-3.2进程的概念_第1页
《计算机操作系统 》课件-3.2进程的概念_第2页
《计算机操作系统 》课件-3.2进程的概念_第3页
《计算机操作系统 》课件-3.2进程的概念_第4页
《计算机操作系统 》课件-3.2进程的概念_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

进程定义和特征

进程状态及转换进程控制块PCBLinux进程状态解析3.2进程概念3.2进程概念3.2.1进程的定义及特征1.简单定义:一个程序的一次运行过程。2.特征:动态性:进程最基本的特征并发性:程序在建立进程后并发运行独立性:是系统进行资源分配和调度的独立单位

异步性:进程以不可预知的速度向前推进定义:可并发执行的程序在一个数据集合上的一次运行过程,是系统进行资源分配和调度的一个独立单位。3.2进程概念3.进程映像:进程实体的组成321相关数据集(变量、工作空间,缓冲区等)栈:内核栈/用户栈可执行的程序(段)进程结构特征3.2.1进程的定义及特征4PCB3.2进程概念从定义上看,进程是程序处理数据的过程,而程序是一组指令的有序集合;进程具有动态性、并发性、独立性和异步性等,而程序不具有这些特性;从进程结构特性上看,它包含程序、数据(栈)和PCB;进程和程序并非一一对应:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可执行多个程序。4.进程与程序的区别3.2.1进程的定义及特征一个厨师照着一份菜谱做菜18例:讨论2个程序在不同操作系统环境中的运行情况

程序A:打印工资报表的程序;

程序B:计算1000以内所有素数并依次显示计算结果。3.2进程概念(1)在不支持多进程的操作系统下运行:顺序执行A、B

可以看到,先是打印机不停地打印工资报表,打完后,接着运行程序B,不停地计算,最后显示所计算的结果。(2)在支持多进程的操作系统下运行建立进程A、B;对应的程序分别是程序A、B;进程A是I/O量较大的进程,进程B是计算量较大的进程,在系统进程调度的控制下,两个进程并发执行。可以看到打印机不断打印工资报表;而处理机不停地计算,并依次在屏幕上显示计算结果。16讨论3个排序程序在不同操作系统环境中的运行情况

程序A:冒泡排序算法,在屏幕的左1/3处开设窗口显示其排序过程;

程序B:堆排序算法,在屏幕的中1/3处开设窗口显示其排序过程;

程序C:快速排序算法,在屏幕的右1/3处开设窗口显示其排序过程。思考题:3.2进程概念(1)在不支持多进程的操作系统下顺序运行A、B、C(2)在支持多进程的操作系统下并发运行A、B、C3.2进程概念就绪状态:

进程分配到必要的资源,等待获得CPU执行的状态。组织成一个或多个就绪队列。运行状态:

进程已经分配到CPU,正在CPU上执行时的状态阻塞状态(等待状态、睡眠状态):

正在执行的进程由于等待某事件的发生而暂时无法继续执行时,便放弃处理机而处于暂停状态。组织成一个或多个阻塞队列。3.2.2进程状态及转换1.

三种基本状态运行态就绪态阻塞态等待事件

(系统服务请求,如请求I/O)

被调度或分派

时间片用完

事件发生3.2进程概念3.2.2

进程状态及转换2.三种基本状态转换图3.2进程概念3.2.2

进程状态及转换3.创建状态和终止状态运行态就绪态阻塞态等待事件

被调度或分派

时间片用完

事件发生创建态

创建完成终止态终止思考问题:1.在进程状态转换时,下列哪一种状态转换是不可能发生的?

A)就绪态→运行态B)运行态→就绪态

C)运行态→等待态D)阻塞态→运行态2.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将()。

A.从就绪变为运行B.从运行变为就绪

C.从运行变为阻塞D.从阻塞变为就绪3.2进程概念3.2.2

进程状态及转换思考问题:3.若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的描述中,正确的有哪些?(

)A.若该文件的数据不在内存中,则该进程进入睡眠等待状态B.请求read系统调用会导致CPU从用户态切换到核心态C.Read系统调用的参数应包含文件的名称D.read系统调用结束后会重新让该进程进入就绪状态或运行状态3.2.2

进程状态及转换3.2.2

进程状态及转换课堂分组讨论:对下列状态转换图,回答后面的问题。

运行1234

阻塞

就绪(1)变迁1的发生是否会引起变迁3的发生?需要什么条件?(2)变迁4的发生是否会引起变迁3的发生?需要什么条件?(3)为支持上图中进程的状态变迁,系统应提供哪些进程控制原语?TASK_RUNNING 可执行状态TASK_INTERRUPTIBLE 可中断睡眠状态TASK_UNINTERRUPTIBLE 不可中断睡眠状态TASK_STOPPED 暂停状态TASK_TRACED跟踪状态TASK_DEAD

终止态TASK_WAKEKILL可响应致命信号的不可中断睡眠态EXIT_ZOMBIE僵尸态EXIT_DEAD终止态3.2.3Linux进程状态解析1.Linux进程状态设置2.6.24

进程正在被CPU执行,或者已经准备就绪,随时可以执行处于等待中的进程,待等待条件为真时被唤醒,也可以被信号或者中断唤醒。处于等待中的进程,待资源有效时唤醒,但不可以由其它进程通过信号(signal)或中断唤醒进程暂停执行。当接收到SIGSTOP等信号时,进程进入该状态,接收到SIGCONT信号后,进程重新回到TASK_RUNNING。表示进程的执行被终止,很快将从系统消失的状态。表示进程的最终状态。父进程已经使用wait4()或waitpid()系统调用来收集了信息,因此进程将由系统删除。3.2进程概念进程被调试器暂停下来,等待跟踪进程进行相关处理。进程已经终止,且不需要父进程收集其信息,很快将被销毁。与TASK_UNINTERRUPTBLE类似,但是可响应致命信号stateexit_state3.2.3Linux进程状态解析2.Linux进程状态转换

201、进程的组成程序PCB①程序、数据

描述进程本身所应完成的功能

②栈

过程调用相关信息:返址、参数传递、局部变量等③PCB记录进程的动态特征,该进程与其他进程和系统资源的关系。3.2进程概念3.2.4

进程控制块PCB

(processcontrolblock)数据栈3.2进程概念3.2.4进程控制块(PCB)2.进程控制块的内容进程标识信息:进程标识符:PID用户标识符家族关系

进程调度信息:进程状态;进程优先级;进程的时间片;等待事件;其他调度相关信息进程标识信息进程调度信息进程现场信息进程控制信息3.2进程概念3.2.4进程控制块(PCB)2

.进程控制块的内容

进程现场信息:通用寄存器内容;段寄存器内容;指令计数器的值;程序状态字(PSW);栈指针中断允许位、陷入标志、任务嵌套标志、特权标志、溢出标志、符号标志、零标志、进位标志等32位CPU有8个32位的通用寄存器EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP

。EAX:称为累加器,可用于乘、除、输入/输出等操作;EBX:称为基地址寄存器,可作为存储器指针来使用;ECX:称为计数寄存器,控制循环次数;EDX:称为数据寄存器,在进行乘、除运算时,作为默认的操作数参与运算,也可用于存放I/O的端口地址。ESI:变址寄存器,是内存移动和比较操作的源地址寄存器;EDI:变址寄存器,是内存移动和比较操作的目标地址寄存器EBP:指针寄存器,存放堆栈帧的始址;ESP:指针寄存器,当前堆栈栈顶位置。段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成。32位CPU有6个,16位CPU有4个

。CS:代码段寄存器,其值为代码段的段地址;DS:数据段寄存器,其值为数据段的地址;ES:附加段寄存器,其值为附加数据段的地址;SS:堆栈段寄存器,其值为堆栈段的地址;FS:附加段寄存器,其值为附加数据段的地址;GS:附加段寄存器,其值为附加数据段的地址。

3.2进程概念

进程控制信息:

程序和数据地址;

进程同步信息进程通信信息;

资源管理信息;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论