计算机操作系统(第二版)课件:进程的概念_第1页
计算机操作系统(第二版)课件:进程的概念_第2页
计算机操作系统(第二版)课件:进程的概念_第3页
计算机操作系统(第二版)课件:进程的概念_第4页
计算机操作系统(第二版)课件:进程的概念_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

进程概念进程定义和特征进程状态及转换进程控制块PCBLinux进程状态解析弹幕给出问题课前学习中不理解的问题希望老师重点讲解的内容3.2进程概念分析进程的定义(讲授)分析总结进程的特征分析说明进程映像包含哪些内容?分析进程与程序的区别与联系?分析说明进程三种基本状态的概念及转换情况创建态和终止态的含义及转换情况Linux/openEuler系统中进程状态设置(讲授)进程控制块PCB的内容(逐步讨论)3.2进程概念3.2.1进程的定义及特征1.简单定义:一个程序的一次运行过程。2.特征:动态性:进程最基本的特征并发性:程序在建立进程后并发运行独立性:是系统进行资源分配和调度的独立单位

异步性:进程以不可预知的速度向前推进定义:可并发执行的程序在一个数据集合上的一次运行过程,是系统进行资源分配和调度的一个独立单位。3.2进程概念两个厨师照着一份菜谱做菜菜谱材料煤气灶锅碗瓢盆3.2进程概念3.进程映像:进程实体的组成321相关数据集(变量、工作空间,缓冲区等)栈:内核栈/用户栈可执行的程序(段)进程结构特征3.2.1进程的定义及特征4PCB扩展阅读:函数调用过程中栈到底是怎么压入和弹出的?/question/22444939问题:程序执行过程中栈的作用是什么?PCB是进程存在的唯一标识哪个小组来分析一下进程实体的组成部分?Shell>gcc–S–otest.stest.c3.2进程概念从定义上看,进程是程序处理数据的过程,而程序是一组指令的有序集合;进程具有动态性、并发性、独立性和异步性等,而程序不具有这些特性;从进程结构特性上看,它包含程序、数据(栈)和PCB;进程和程序并非一一对应:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可执行多个程序。4.进程与程序的区别与联系3.2.1进程的定义及特征18思考题:讨论2个程序在不同操作系统环境中的运行情况

程序A:打印工资报表的程序;程序B:计算1000以内所有素数并依次显示计算结果。3.2进程概念(1)在不支持多进程的操作系统下运行:顺序执行A、B,你看到的处理过程是怎样的?(2)在支持多进程的操作系统下运行,你看到的处理过程是怎样的?进程和程序的一个本质区别是()前者分时使用CPU,后者独占CPU前者存储在内存,后者存储在外存前者在一个文件中,后者在多个文件中前者为动态的,后者为静态的ABCD提交单选题10分并发进程执行的相对速度是()由进程的程序结构决定的由进程自己来控制的与进程调度策略有关的在进程被创建时确定的ABCD提交单选题10分3.2进程概念就绪状态:

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

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

正在执行的进程由于等待某事件的发生而暂时无法继续执行时,便放弃处理机而处于暂停状态。组织成一个或多个阻塞队列。3.2.2进程状态及转换1.三种基本状态及转换进程有哪三种基本状态?各自的含义是什么?运行态就绪态阻塞态等待事件

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

被调度或分派时间片用完事件发生3.2进程概念3.2.2

进程状态及转换1.三种基本状态及转换问题:正在运行的进程当时间片用完了会转变成什么状态呢?问题:正在运行的进程需要等待某个事件的发生,如I/O操作的完成,会转变成什么状态呢?问题:处于等待状态的进程,当所等待的事件已经发生时,会转变成什么状态呢?问题:处于等待状态的进程,当所等待的事件已经发生时,能否直接转变成运行态呢?进程三种基本状态是如何转换的?3.2进程概念3.2.2

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

被调度或分派时间片用完事件发生创建态创建完成终止态终止问题:创建状态和终止状态的含义?引入后会增加哪些状态转换?TASK_RUNNING 可执行状态TASK_INTERRUPTIBLE 可中断睡眠状态TASK_UNINTERRUPTIBLE 不可中断睡眠状态TASK_STOPPED 暂停状态TASK_TRACED跟踪状态TASK_DEAD

终止态TASK_WAKEKILL可响应致命信号的不可中断睡眠态EXIT_ZOMBIE僵尸态EXIT_DEAD终止态

3.2.3Linux/openEuler进程状态解析1.进程状态设置2.6.24

3.2进程概念stateexit_state更多状态查看:task_struct结构:/include/linux/sched.h3.2.3Linux/openEuler系统进程状态解析2.Linux/openEuler进程状态转换

在进程状态转换时,下列哪一种状态转换是不可能发生的?就绪态→运行态运行态→就绪态运行态→等待态阻塞态→运行态ABCD提交单选题10分某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将()。从就绪变为运行从运行变为就绪从运行变为阻塞从阻塞变为就绪ABCD提交单选题10分3.2.2

进程状态及转换思考题:对下列状态转换图,回答后面的问题。

运行1234

阻塞

就绪(1)状态转换1的发生是否会引起状态转换3的发生?需要什么条件?(2)状态转换4的发生是否会引起状态转换3的发生?需要什么条件?1、进程的组成①程序、数据

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

②栈

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

进程控制块PCB

(processcontrolblock)程序数据PCB栈3.2进程概念3.2.4进程控制块(PCB)2.进程控制块的内容

进程标识信息:进程标识符:PID用户标识符家族关系

进程调度信息:进程状态;进程优先级;进程的时间片;等待事件;其他调度相关信息进程标识信息进程调度信息进程现场信息进程控制信息openEuler系统:task_structkernel/include/linux/

sched.h3.2进程概念3.2.4进程控制块(PCB)2

.进程控制块的内容

进程现场信息:通用寄存器内容PCB中会存放哪些现场信息?32位CPU有8个32位的通用寄存器EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP

。EAX:称为累加器,可用于乘、除、输入/输出等操作;EBX:称为基地址寄存器,可作为存储器指针来使用;ECX:称为计数寄存器,控制循环次数;EDX:称为数据寄存器,在进行乘、除运算时,作为默认的操作数参与运算,也可用于存放I/O的端口地址。ESI:变址寄存器,是内存移动和比较操作的源地址寄存器;EDI:变址寄存器,是内存移动和比较操作的目标地址寄存器EBP:指针寄存器,存放堆栈帧的始址;ESP:指针寄存器,当前堆栈栈顶位置。3.2进程概念3.2.4进程控制块(PCB)2

.进程控制块的内容

进程现场信息:通用寄存器内容段寄存器内容段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成。32位CPU有6个,16位CPU有4个

。CS:代码段寄存器,其值为代码段的段地址;DS:数据段寄存器,其值为数据段的地址;ES:附加段寄存器,其值为附加数据段的地址;SS:堆栈段寄存器,其值为堆栈段的地址;FS:附加段寄存器,其值为附加数据段的地址;GS:附加段寄存器,其值为附加数据段的地址。10movr1,[500]0500599100程序地址空间movr1,[500]01000150010256k-115991100内存空间3.2进程概念3.2.4进程控制块(PCB)2

.进程控制块的内容

进程现场信息:通用寄存器内容段寄存器内容指令计数器的值movr1,[500]01000150010256k-115991100内存空间10movr1,[500]0500599100程序地址空间CS:IP段内偏移量段始址3.2进程概念3.2.4进程控制块(PCB)2

.进程控制块的内容

进程现场信息:通用寄存器内容段寄存器内容指令计数器的值程序状态字(PSW)栈指针中断允许位、陷入标志、任务嵌套标志、特权标志、溢出标志、符号标志、零标志、进位标志等openEuler系统:kernel/arch/arm64/include/asm/

processor.h栈帧寄存器3.2进程概念

进程控制信息:

程序和数据地址;

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

资源管理信息;

链接指针3.2.4进程控制块2.进程控制块内容PCB中会存放哪些进程控制信息?3.进程控制块的组织方式:链表、树3.2.4进程控制块3.进程控制块的组织方式:链表、树

就绪队列

执行进程

阻塞队列

空白PCB队列ready_q_star

温馨提示

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

评论

0/150

提交评论