1、不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。每个进程中访问临界资源的那段代码称为临界区(CriticalSection)。

每个进程中访问临界资源的那段程序称为临界区(CriticalSection)(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。

多个进程中涉及到同一个临界资源的临界区称为相关临界区。

进程进入临界区的调度原则是:①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。

如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。

临界区在使用时以CRITICAL_SECTION结构对象保护共享资源,并分别用EnterCriticalSection()和LeaveCriticalSection()函数去标识和释放一个临界区。所用到的CRITICAL_SECTION结构对象必须经过InitializeCriticalSection()的初始化后才能使用,而且必须确保所有线程中的任何试图访问此共享资源的代码都处在此临界区的保护之下。否则临界区将不会起到应有的作用,共享资源依然有被破坏的可能。

临界资源和临界区什么意思?

1、什么是临界区?

答:每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。

2、进程进入临界区的调度原则是:

①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
转:临界区-临界资源与临界区的区别_临界区的技术博客_51CTO博客

操作系统:临界资源与临界区的区别相关推荐

  1. 操作系统——临界资源和临界区

    操作系统--临界资源和临界区 1.临界资源 概念:一次仅允许一个进程使用的共享资源. 2.临界区 概念:每个进程中访问临界资源的那段程序称之为临界区. 临界区不是内核对象,而是系统提供的一种数据结构, ...

  2. 临界资源和临界区的区别

    临界资源和临界区的区别 1.临界资源是一种系统资源,需要不同进程互斥访问,而临界区则是每个进程中访问临界资源的一段代码,是属于对应进程的,临界区前后需要设置进入区和退出区以进行检查和恢复.临界区和临界 ...

  3. 简要描述临界资源、临界区及互斥同步机制的原则

    简要描述临界资源.临界区及互斥同步机制的原则 答: ①临界资源:指每次只允许一个进程访问的资源,分为硬件.软件临界资源. ②临界区:每个进程中访问临界资源的那段程序,进程对临界区的访问必然相反,每次仅 ...

  4. 信号量——P、V操作、临界资源、临界区、进程同步

    1.信号量 用来同步进程的特殊变量:一个特殊的计数器,大于0时记录资源的数量,小于0时记录等待资源的进程的数量.当信号量的值大于0时,进程总是可以获取到资源并使用,小于0 时,进程必须阻塞等待有其他进 ...

  5. linux操作系统各版本直接的区别?

    linux操作系统各版本直接的区别? 三大家族: Fedora是基于RHEL,CentOS,Scientific Linux, 和Oracle Linux的社区版本.相比RHEL,Fedora打包了显 ...

  6. 操作系统 - 进程与线程的区别[超详解]

    操作系统 - 进程与线程的区别[超详解]面试高频考题

  7. 操作系统——进程和线程的区别

    操作系统--进程和线程的区别 最近学习了操作系统中的进程和线程这两个知识点,昨天老师给我们出了一道题:进程和线程的区别.听完题目后一脸懵逼,只想到了进程的一部分概念,回来之后就查书,找到了答案. 1. ...

  8. 临界资源与临界区、互斥与同步、原子性概念介绍

    目录 一.临界资源与临界区 二.互斥的概念 三.同步的概念 四.原子性的概念 一.临界资源与临界区 临界资源:凡是能被多个执行流同时访问的资源就是临界资源!(比如多个线程访问同一个全局变量,这里的全局 ...

  9. 计算机系统中临界资源与临界区,2020年中国地质大学(武汉)操作系统原理

    中国地质大学研究生院 硕士研究生入学考试<操作系统原理>考试大纲 一.操作系统概述 考试内容: 操作系统的基本概念.操作系统的发展过程.操作系统在计算机系统中的地位.操作系统的组成.操作系 ...

最新文章

  1. fieldset 使用小案例
  2. C++内存对象大会战
  3. MATLAB 图像的傅里叶变换
  4. 程序给UI美术上的必修课:内存占用, DrawCall和包大小的处理
  5. 使用Hybris Commerce API返回当前客户持有的所有优惠券
  6. Mysql分页加pagebean_Spring+MyBatis+SpringMvc+Mysql+Druid+PageHelper分页实现
  7. centos8 安装mysql8.0
  8. mysql 远程登陆设置_MYSQL远程登录权限设置
  9. java for循环求素数,求1-100的质数,用FOR循环。求救。。
  10. PRML笔记:模式识别与机器学习
  11. 数据--第48课 - 顺序表和有序表查找
  12. 近3年专著类计算机参考文献,参考文献著作类
  13. UG中许多人会忽略的一些常用鼠标右键设置方法
  14. 【蓝桥杯集训100题】scratch辨别质数合数 蓝桥杯scratch比赛专项预测编程题 集训模拟练习题第15题
  15. 电池供电应用中的电源设计:干电池特性了解、LDO与DC-DC选型设计、电流检测方案要点
  16. (Hadoop、HBase、Kafka)中,Zookeeper都作为核心组件使用
  17. springboot全局异常处理BasicErrorController和RestControllerAdvice
  18. 作业20180925-2 功能测试
  19. 服务器变卡的原因有哪些
  20. 使用轻量应用服务器搭配宝塔面板搭建可道云kodbox私有云网盘的方法教程

热门文章

  1. AI赋能:Optibus推出新的人工智能工具帮助规划城市交通路线
  2. oracel导出dmp文件时的格式
  3. 苏生:“月入三万”的背后,竟然是......
  4. python读取文件路径格式_Python学习笔记读写文件之文件与文件路径
  5. python 每日一练
  6. springboot整合atomikos实践—单体项目多数据源整合
  7. TUXEDO在自动语音应答系统中的使用
  8. Java语言程序设计实训题目练习
  9. [OAI] NB-IoT简介和开发计划
  10. 德国sycotec原KAVO义齿雕刻主轴在义齿切削机的应用案例