CCH04_Process(操作系统).ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:82 大小:6.2MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

CCH04_Process(操作系统).ppt

CCH04_Process(操作系统).ppt

预览

免费试读已结束,剩余 72 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Module4:Processes进程ProcessConcept进程概念ProcessConcept进程概念Onlyoneprogramexecutedatatime,andthisprogramhadcompletecontrolofsystemandhadaccesstoallthesystem’sresources.顺序环境计算机系统只有一个程序在运行,该程序独占系统中所有资源,其执行不受外界影响顺序执行的特征顺序性:按照程序结构所指定的次序(可能有分支或循环)封闭性:独占全部资源,计算机的状态只由于该程序的控制逻辑所决定可再现性:初始条件相同则结果相同。如:可通过空指令控制时间关系。ProcessConcept进程概念ProcessConcept进程概念进程与程序进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制。进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。进程的特征进程的类型进程的类型进程描述ProcessState进程状态DiagramofProcessState进程状态图ProcessControlBlock(PCB)进程控制块ProcessControlBlock(PCB)进程控制块ProcessControlBlock(PCB)进程控制块Solaris:ProcessExecutionEnvironmentLinuxProcessControlBlock(PCB)task_structLinuxProcessControlBlock(PCB)task_structPCB的组织方式PCB的组织方式PCB的组织方式执行指针CPUSwitchFromProcesstoProcess进程间CPU的切换ContextSwitch上下文切换Linux进程切换ProcessSchedulingQueues进程调度队列ReadyQueueAndVariousI/ODeviceQueues就绪队列和各种I/O设备队列RepresentationofProcessScheduling进程调度的描述Schedulers调度Schedulers调度(Cont.)AdditionofMediumTermScheduling中程调度DiagramofProcessState7状态进程图DiagramofProcessStateNT进程状态图Operationonprocesses进程操作ProcessCreation进程创建ProcessCreation进程创建ATreeofProcessesOnATypicalUNIXSystem典型UNIX系统中的进程树ProcessCreation(Cont.)进程创建进程创建的过程进程创建的过程进程创建#include<stdio.h>Voidmain(intargc,char*argv[]){intpid;pid=fork();/*forkanotherprocess*/if(pid<0){/*erroroccurred*/fprintf(stderr,“ForkFailed”);exit(-1);}elseif(pid=0){/*childprocess*/execlp(“/bin/ls”,”ls”,NULL);}else{/*parentprocess*/wait(NULL);printf(“ChildComplete”);exit(0);}}ProcessTermination进程终止ProcessTermination进程终止ProcessBlocking进程阻塞相关系统调用介绍相关系统调用介绍3wait():父亲进程处于阻塞状态,等待子进程执行完成终止后继续工作,其返回值为所等待子进程的进程号。4exit():子进程自我终止,释放所占资源,通知父进程可以删除自己,此时它的状态变为P_state=SZOMB,即僵死状态.如果调用进程在执行exit时其父进程正在等待它的中止,则父进程可立即得到它返回的整数。5getpid():获得进程号。6lockf(files,founction,size):用于锁定文件的某些段或整个文件。本函数适用的头文件为:#include<unistd.h>,参数定义:intlockf(files,founction,size)intfiles,founction;longsize;其中,files是文件描述符,f