文档详情

操作系统-进程和线程 课件.ppt

发布:2018-01-19约2.47万字共145页下载文档
文本预览下载声明
第2章 进程和线程 2.1 进 程 概 念 2.1.1程序的顺序执行和并发执行 程序的执行有两种方式:顺序执行和并发执行。 顺序执行是单道批处理系统的执行方式,也用于简单的单片机系统; 现在的操作系统多为并发执行,具有许多新的特征。引入并发执行的目的是为了提高资源利用率。 2.1.1 多道程序设计 2.1.2 进程概念 2.1.2 进程概念 较典型的进程定义还有: (1) 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。 (3) 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 2.1.2 进程概念 进程和程序的区别 : 2.2 进程的状态和组成 2.2.1 进程的状态及其转换 1.进程的基本状态 运行状态(Running) 就绪状态(Ready) 阻塞状态(Blocked) 新建状态(New) 终止状态(Terminated) 进程的基本状态(1) 进程的三种基本状态 运行态:正在占用CPU运行程序 阻塞态:等待外部事件发生,无法占用CPU 就绪态:可运行,但其他进程正在占用CPU,所有被暂时挂起 进程的基本状态(2) 进程的基本状态(3) 运行态变为就绪态 强制终止某进程的运行(系统原因) 运行态变为阻塞态 运行进程等待外部事件发生(自身原因) 阻塞态变为就绪态 外部事件已经发生,可准备运行 就绪态变为运行态 停止其他进程运行后,运行该进程占用CPU 进程的基本状态(4) 问题1:为什么不能从阻塞态变为运行态呢? 问题2:为什么不能从就绪态变为阻塞态呢? 答案: 三种状态的变换体现了OS的资源管理作用 进程的核心思想在于运行——CPU资源的分配 2.五种进程状态的转换 2.2.2 进程描述 1.进程映像 进程映像由它的(用户)地址空间内容、硬件寄存器内容和与该进程有关的核心数据结构组成。 2.2.2 进程描述 2.进程控制块的组成 进程控制块(PCB)有时也称进程描述块(Process Descriptor),它是进程组成中最关键的部分,其中含有进程的描述信息和控制信息,是进程动态特性的集中反映,是系统对进程施行识别和控制的依据。 3.进程控制块的作用 2.2.3 进程队列 1.线性方式 2.2.3 进程队列 2.链接方式 图2-6 PCB索引结构示意图 2.3 进 程 管 理 2.3.1 进程图 进程图(Process Graph)是描述进程族系关系的有向树 2.3.2 进程创建 引发创建进程的事件通常是调度新的批作业,交互式用户登录,操作系统提供服务和现有进程派生新进程。 创建新进程时要执行创建进程的系统调用(如UNIX/Linux系统中的fork),其主要操作过程有如下四步: (1)申请一个空闲的PCB (2)为新进程分配资源 (3)将新进程的PCB初始化 (4)将新进程加到就绪队列中 下面这个C程序展示了UNIX系统中父进程创建子进程及各自分开活动的情况 #include stdio.h void main(int argc,char *argv[]) { int pid; /* fork another process */ pid = fork(); if (pid 0) { /* error occurred */ fprintf(stderr, Fork Failed); exit(-1); } else if (pid == 0) { /* child process */ execlp( /bin/ls, ls,NULL); } else {/* parent process */ /* parent will wait for the child to complete */ wait(NULL); printf( Child Complete ); e
显示全部
相似文档