操作系统 之 临界区 浅析

原创 2015年11月20日 11:42:01

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

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

互斥对象是一种最简单的内核对象,用它可以方便的实现对某一资源的互斥访问。因为它是内核对象,因此可以产生信号,实际上,程序中就是利用这一点实现互斥的。   
临界区并不是内核对象,而是系统提供的一种数据结构,程序中可以声明一个该类型变量,之后用它来实现对资源的互斥访问。当欲访问某一临界资源时,先将该临界区加锁(如果临界区不空闲,等待),用完该资源后,将临界区释放。   

一般,将他们用于线程间的同步,而且通常可以互换使用。   

如果要实现复杂互斥,应使用其它方法,如信号量内核对象等。临界区对象不能跨越进程,是线程间共享数据区的同步对象;互斥对象可以作为进程间共享数据区的同步对象。

相关文章推荐

操作系统的死锁概念,临界区概念

操作系统中有若干进程并发执行, 它们不断申请、使用、释放系统资源,虽然系统的进程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能继续运行,否则就阻塞的情况。此时,若不借助...

操作系统临界区

每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源),每次只准许一个进程进入临界区,进入后不允许其他进程进入。 进程进入临界区的调度原则是: ①如果有若...

学习札记--uC/OS-II处理临界区代码的三种方法小结

实现临界区的正确访问可以采用硬件方法或是软件方法。硬件方法是解决临界段问题的低级方法,也叫做元方法。软件方法则主要指的是信号量机制。以前一遇到进程的同步或是互斥,首先想到的就是信号量,n个进程共享一个...

linux paging init 分析

一.   前言 Linux中内存管理机制是一个很大的内容,在本文中,主要是来关注linux启动时,对于页表项的建立。其主要来关注paging_init这个函数,同时在其中掺杂cache,tlb等内容...

Java获取当前类名、方法名

为了测试各个函数,如果手动打印每个类名、函数名,那么多函数的话能把人累死,Java早已准备好了一堆记录自身的函数。 获取类名: public static void testGetClassNa...

操作系统:使用临界区和互斥量两种方法实现简单生产者与消费者问题

操作系统:使用临界区和互斥量两种方法实现简单生产者与消费者问题
  • chenht8
  • chenht8
  • 2016年11月05日 00:53
  • 585

操作系统概念:程序 进程 线程 死锁 临界区

【转自新浪博客】http://blog.sina.com.cn/s/blog_71fdf1f00100lkug.html 今天面试的时候被问到几个操作系统的问题.进程与线程发区别,死锁的概念,临...

操作系统实验临界区的互斥访问

  • 2010年06月23日 18:21
  • 313KB
  • 下载

BCB6.0临界区多线程

  • 2017年09月01日 22:41
  • 192KB
  • 下载

(转)临界区,互斥量,信号量,事件的区别(线程同步)

四种进程或线程同步互斥的控制方法 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。  2、互斥量:为协调共同对一个共享资源的单独访问而设计的。  3、信号量:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:操作系统 之 临界区 浅析
举报原因:
原因补充:

(最多只允许输入30个字)