美文网首页
进程调度之并发控制(一)

进程调度之并发控制(一)

作者: GUISHANL | 来源:发表于2019-05-04 14:27 被阅读0次

并发原理

进程间通信
进程竞争或共享资源实现
多进程同步
时间分配

并发的一些困难:
全局资源共享很难(会造成脏数据)
资源分配管理上

临界资源,临界区,互斥

临界资源只能互斥使用,临界区一次只允许一个进程访问,比如打印机;
可能会产生死锁与饥饿。比如:
两个进程P1,P2,竞争两个资源A,B,假设:

占用:P1(A)andP2(B)
申请:P1(B)andP2(A)

结果两进程都在阻塞,等在对方唤醒自己,会造成两个进程永久等待(死锁)。

为了避免发生问题,临界区原则:
进入区(判断谁进去)
临界区
退出去
除了竞争,还有合作关系,比如;互斥写,或者互斥读,保证数据完整性,不是脏数据;

进程间通信也会造成死锁,所以会有tcp/ip协议产生,避免死锁;

互斥的要求

空闲让进
忙则等待
有限等待
让权等待

硬件方式实现互斥

互斥方法:
软件方法
硬件方法
信号量
管程
消息传递

软件方法:能解决两个进程互斥,在临界资源中设置一个全局变量,比如0,1;0代表空闲,1代表占用;
缺点:资源开销大;
硬件方法:
屏蔽中断:代价高,不适合多处理器系统
专用机器指令:指令周期内不会被中断
Test and Set指令
Exchange

回顾:
多进程会合作完成某项任务,那么就会有资源的竞争,资源有的是需要同步有的是互斥访问的,互斥是完成对临界资源的访问,同步就是为了进程间的合作,所以需要控制进程的同步与互斥,接下来介绍了互斥的机制,接下来介绍了控制互斥这些的方法

相关文章

  • 进程调度之并发控制(一)

    并发原理 进程间通信进程竞争或共享资源实现多进程同步时间分配 并发的一些困难:全局资源共享很难(会造成脏数据)资源...

  • 常用调度算法简介

    常用调度算法简介 一、关于调度 进程调度用于多进程或者多线程并发访问资源。 进程调度的需求出现在同时执行多个任务(...

  • 线程和进程的区别

    学习操作系统中进程和线程的区别 1.调度性 线程是调度和分派的基本单位 2.并发性 进程和进程之间可以进行并发 同...

  • 2019-02-17 CSAPP 第十二章

    现代操作系统提供了三种基本的构造并发程序的方法: 1、进程: 每个逻辑控制流都是一个进程,由内核来调度和维护。因为...

  • Java线程模型

    定义 线程是操作系统的最小调度单位,包含于进程。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线...

  • 操作系统笔记

    操作系统主要功能 进程管理(CPU管理) 进程控制:创建,暂停,唤醒,撤销 进程调度:调度策略,优先级 进程通信:...

  • 进程和线程

    进程是系统资源分配和调度的独立单元线程是cpu调度的基本单元进程结束它拥有的所有线程将销毁线程和进程都可以并发执行...

  • 进程与线程的区别

    进程与线程的区别进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位(具有动态、并发、独立、异步...

  • 第二章进程管理(3)

    进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。 进程特征:进程有结构性(PCB)、动态性、并发...

  • android 多线程—Handle机制

    线程:是系统进行运算调度的最小单位进程:是线程的容器,是系统进行资源分配和调度的基本单位,一个进程可以并发多个线程...

网友评论

      本文标题:进程调度之并发控制(一)

      本文链接:https://www.haomeiwen.com/subject/gwxnnqtx.html