• 进程同步和互斥??


     进程同步:进程同步也是进程之间直接的制约关系,是为完成某种任务而建立的多个进程之间的协调调用次序等,传递消息告知资源占用情况。进程间的直接制约关系来源于他们之间的合作。

    进程同步机制应遵循的准则:

    a)空闲让进:当临界资源处于空闲状态时,允许相应的进程立即进入自己的临界区
    b)忙则等待:当已有进程进入临界区时,其他试图进入临界区的进程必须等待
    c)有限等待:对要求进入临界区的进程,应保证在有限时间内能进入自己的临界区
    d)让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。

    进程互斥:进程互斥是进程之间的间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态。

    临界资源:

    在操作系统中,进程是占有资源的最小单位(线程可以访问其所在进程内的所有资源,但线程本身并不占有资源或仅仅占有一点必须资源)。但对于某些资源来说,其在同一时间只能被一个进程所占用。这些一次只能被一个进程所占用的资源就是所谓的临界资源。典型的临界资源比如物理上的打印机,或是存在硬盘或内存中被多个进程所共享的一些变量和数据等(如果这类资源不被看成临界资源加以保护,那么很有可能造成丢数据的问题)。

    对于临界资源的访问,必须是互诉进行。也就是当临界资源被占用时,另一个申请临界资源的进程会被阻塞,直到其所申请的临界资源被释放。而进程内访问临界资源的代码被成为临界区。

    临界资源:系统中一次只允许一个进程访问的资源。如I/O设备、共享文件、共享变量等。

    临界区:并发执行的进程中,访问临界资源的必须互斥执行的代码段叫临界区。

    生产者-消费者问题是一个经典的进程同步问题,这里生产者和消费者是既同步又互斥的关系,首先只有生产者生产了,消费着才能消费,这里是同步的关系。但他们对于临界区的访问又是互斥的关系。

  • 相关阅读:
    TCP/IP协议总结(马士兵教育)
    socket和TCP/IP三次握手的对应关系
    VMWare中添加多个linux节点
    试题分析
    c#数据筛选和排序
    实现Windows程序的数据绑定
    实现Windows程序的数据更新
    使用ListView控件展示数据
    构建布局良好的Windows程序
    初识Windows程序
  • 原文地址:https://www.cnblogs.com/lmh001/p/9754296.html
Copyright © 2020-2023  润新知