<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">目的:更好地描述和控制程序并发执行<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">定义:进程是进程实体的一次运行,是系统进行资源分配和调度的一个独立单位<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">组成<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:14.0pt;font-family:楷体">PCB</span><span style="font-size:14.0pt;font-family:楷体">:保存进程运行期间相关的数据,是进程存在的唯一标志<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">程序段:能被进程调度程序调度到<span lang="EN-US">CPU</span>运行的程序的代码段<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">数据段:存储程序运行期间的相关数据,可以是原始数据也可以是相关结果<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">进程状态<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">状态种类<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">运行状态:进程正在处理机上运行<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">就绪状态:进程己获得了除处理机之外的一切所需资源<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">阻塞状态:进程正在等待某一事件而暂停运行<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">创建状态:进程正在被创建,尚未转到就绪状态<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">结束状态:进程正从系统中消失,分为正常结束和异常退出<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">状态变化<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">就绪状态→运行状态:经过处理机调度,就绪进程得到处理机资源<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">运行状态→就绪状态:时间片用完或在可剥夺系统中有更高优先级进程进入<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">运行状态→阻塞状态:进程需要的某一资源还没准备好<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">阻塞状态→就绪状态:进程需要的资源己准备好<span lang="EN-US"><o:p></o:p></span></span></p>
<span style="font-family: 楷体; font-size: 18.6667px;">进程控制</span>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">创建:终端用户登录系统、作业调度、系统得供服务、用户程序的应用请求等<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">终止:正常结束、发生异常、外界干预<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">阻塞:等待资源<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">唤醒:资源到达<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">切换:时间片用完、主动放弃处理机、被更高优选级的进程剥夺处理机<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">进程通信<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">共享存储<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">低级方式:基于数据结构的共享<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">高级方式:基于存储区的共享<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">消息传递<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">直接通信方式:直接把消息挂到接收进程的消息队列<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">间接通信方式:挂到某个中间实体,接收进程找实体接收消息,类似电子邮件<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">管道通信:利用一种特殊的<span lang="EN-US">pipe</span>文件连接两个进程<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">代价<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">时间代价:进程控制块及协调各运行机构所占用的内存空间开销<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">空间代价:进行进程间的切换、同步及通信等所付出的时间开销<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">线程<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">引入目的:为了更好的使多道程序并发执行,以提高资源利用率和系统吞吐 量,增加程序的并发性<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">特点:是程序执行的最小单元,基本不拥有任何系统资源<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size:14.0pt;font-family:楷体">实现方式:用户级线程、系统级线程<span lang="EN-US"><o:p></o:p></span></span></p>