《操作系统》PPT课件.ppt

上传人:max****ui 文档编号:7287014 上传时间:2020-03-18 格式:PPT 页数:16 大小:5.17MB
返回 下载 相关 举报
《操作系统》PPT课件.ppt_第1页
第1页 / 共16页
《操作系统》PPT课件.ppt_第2页
第2页 / 共16页
《操作系统》PPT课件.ppt_第3页
第3页 / 共16页
点击查看更多>>
资源描述
第七章 进程同步与进程通信 进程的顺序性与并发性 P189 190 与时间有关的错误 P190 192 相关临界区与PV操作 P192 195 进程的互斥 P195 201 进程的同步 P201 214 进程通信 P214 218 UNIX系统中的进程同步与进程通信 P218 221 线程的概念 P221 223 进程的顺序性与并发性 1 顺序性目前使用的计算机是冯 诺依曼式结构 其基本特点是处理器顺序执行命令 进程在顺序的处理器上的执行是严格按顺序进行的 这就是进程的顺序性 当一个进程独占处理器顺序执行时 具有两个特性 封闭性 进程执行的结果只取决于进程本身 不受外界影响 可再现性 当进程再次重复执行时 必定获得相同的结果 2 并发性进程具有并发性 在一个进程的工作没有全部完成之前 另一个进程就可以开始工作 则说这些进程是可同时执行的 或说该组进程具有并发性 我们把这些进程称为并发进程 并发进程间的关系 并发进程相互之间可能是无关的 也可能是交互的 如果一个进程的执行不影响其他进程的执行 且与其他进程的进展情况无关 即它们是各自独立的 则这些并发进程相互之间是无关的 如果一个进程的执行依赖其他进程的执行 则这些并发进程直接是有交互的 与时间有关的错误 1 并发进程的执行速度取决于自身和进程调度策略 一个进程运行时会被中断 且断点是不固定的 一个进程被中断后 哪个进程可以允许 被中断的进程什么时候占用处理器 是与进程调度策略有关的 因此进程的执行速度不能由自己决定 2 并发进程交替使用共享资源时会出现与时间有关的错误 由于共享资源的原因 加上进程并发执行的随机性 一个进程对另一个进程的影响是不可预测的 造成不正确的因素与进程占用处理器的时间 执行的速度以及外界的影响等有关 这些因素都与时间有关 因此把它称为 与时间有关的错误 相关临界区与PV操作 1 临界区的定义 并发进程中与共享变量有关的程序段称为临界区 2 相关临界区 相关临界区是指并发进程中涉及到相同变量的那些程序段 3 相关临界区管理要求 为了使并发进程能正确的执行 对若干进程共享某一些变量的相关临界区的管理应满足三个要求 1 一次最多让一个进程在临界区中执行 当有进程在临界区中时 其他想进入临界区执行的程序必须等待 2 任何一个进入临界区执行的进程必须在有限的时间内退出临界区 即任何一个进程都不应该无限的逗留在自己的临界区 3 不能强迫一个进程无限的等待进入它的临界区 即有进程退出临界区时应该让下一个等待进入临界区的程序进入它的临界区执行 相关临界区管理的办法有多种 譬如使用标志方式 上锁开锁方式 PV操作方式和管理方式等 4 实现进程互斥的工具 PV操作PV操作时由两个操作 即P操作和V操作组成 P操作和V操作时两个在信号量上进行操作的过程 为了确保PV操作自身的正确执行 因此P S 和V S 操作中不可中断 这种不可中断的过程被称为原语 5 用PV操作管理相关临界区的一般形式 一个信号量与一组涉及共享变量的相关临界区联系起来 信号量的初值定为 1 任何一个进程要进入临界区前先调用P操作 执行临界区的操作后 退出临界区时调用V操作 由于信号量的初值为 1 P操作起到了限制一次只有一个进程进入临界区的作用 其余进程欲进入临界区必须符合对临界区管理的第一个要求 即一次最多让一个进程在临界区执行 进程退出后执行V操作 若有进程在等待则释放一个进程 这样就达到了对临界区管理的第二个和第三个要求 即不能无限逗留也不能无限等待 进程的互斥 1 进程互斥的定义进程的互斥是指当有若干进程都要使用某一共享资源时 任何时刻最多允许一个进程去使用 其他要使用该资源的进程必须等待 直到占用资源者释放了该资源 实际上 共享资源的互斥使用就是使得并发进程互斥的进入相关临界区 2 读者 写者问题在计算机系统中 把可供多个进程使用的文件称为共享文件 把想读文件信息的进程称为读者 读进程 把想修改文件内容的进程称为写者 写进程 PV操作实现对读者 写者问题的两种管理方式 不允许多个进程同时使用共享文件 允许多个进程同时使用共享文件 进程的同步 进程的同步是指并发进程直接存在一种制约关系 一个进程的执行依赖另一个进程的消息 当一个进程没有得到另一个进程的消息应等待 直到消息到达才被唤醒 把能实现进程同步的机制称为同步机制 经常把进程的互斥与进程的同步统称为进程的同步 把用来解决进程互斥与进程同步的机制 如PV操作 统称为同步机制 进程的互斥与同步区别进程的互斥是进程之间竞争共享资源的使用权 这种竞争没有固定的比如关系 进程的同步涉及共享资源的并发进程之间有一种必然的依赖关系 在解决进程同步和互斥的混合问题时 应特别注意P操作的次序 任何一个进程 只有在得到自己所需的消息后 才能去竞争共享资源的使用权 也即实现互斥的P操作一定要放在实现同步的P操作之后 否则会出现得到了使用共享资源的权利但却不能去使用共享资源的情况 进程通信 进程通信有直接通信和间接通信两种方式 直接通信总是固定在一定进程之间进行 PV操作也可看做为进程间的一种通信方式 由于只交换了少量的信息 故称为低级通信方式 例如 进程A把信件只发送给B 而进程B也只接受A的信件 那么 send 和 receive 的原语形式如下 send B M 把信件M发送给进程Breceive A X 接受来自进程A的信件且存放X中 进程A和B通过send和receive操作而自动建立了一种联结 间接通信是指进程之间利用信箱来交换信件 它是由接收信件的进程来设立的 包括信箱说明和信箱体两部分 是以信箱为媒体来实现通信的 只要接收信件的进程设立一个信箱 那若干个进程都可向同一个进程发送信件 利用信箱通信时 send和receive原语中应给出信箱名 即 send N M 把信件M送入信箱N中 receive N M 从信箱N中取出一封信存入X中 通过专门的通信机制实现进程间交换大量信息的通信方式称为进程通信 进程通信是用信件来交换信息的 进程间可通过信件来传递大量信息 一个进程可以发送一封信 把信息告诉别的进程 或请别的进程协助工作 恬送信件者必须指出把信件发送给谁 或发送到哪个信箱 以及发送到信件 或信件存放地址 这样才能使收信者收到信件 取到信息 Send原语和receive原语是最基本的通信原语 UNIX系统中的进程同步与进程通信 UNIX中的进程在用户态执行时使系统调用wait和exit实现父子进程之间的同步 在核心态执行时 使用系统调用sleep和wakeup实现不同用户的进程间同步 UNIX采用管道技术和消息队列机制实现进程间大量信息的传送 线程的概念 线程是进程中可独立执行的部分 一个进程中可有多个线程 这些线程可以并发执行 每个线程都有一个唯一的标识符 线程又称为轻型进程 因此它与进程有许多相似之处 多线程技术是操作系统的发展趋势 它能提高计算机系统的性能 线程与进程的根本区别在于进程是资源分配单位 而线程是调度和执行单位 每个进程具有自己的主存空间 同一进程中的各 线路共享该主存空间 对进程的整个主存空间都有存取权限
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!