找回密码
 注册
搜索
查看: 1302|回复: 12

[讨论] 小弟一直都不明白的问题,大家发表一下看法吧

[复制链接]
发表于 2007-7-4 09:35:07 | 显示全部楼层 |阅读模式
“ENTER_CRITICAL_SECTION”[52RD.com]
[52RD.com]
一般什么地方用啊?能起到什么作用呢?
发表于 2007-7-4 12:51:51 | 显示全部楼层
这个应该是arm编译器相关的东西,主要用在代码重定位上,我的理解
点评回复

使用道具 举报

发表于 2007-7-4 13:49:23 | 显示全部楼层
英文直译是进入临界区  应该是对共享资源的互斥保护吧
点评回复

使用道具 举报

 楼主| 发表于 2007-7-4 14:13:19 | 显示全部楼层
2楼的:

重定位指的是什么?有点不明白

3楼的:

我也这么理解,可是它如何实现的呢?

例如:

#define GDI_ENTER_CRITICAL_SECTION(func)  GDI_LOCK; {
#define GDI_EXIT_CRITICAL_SECTION(func)   } GDI_UNLOCK;


而6505B上又有如下的定义

#define GDI_LOCK     gdi_fast_mutex_lock()
#define GDI_UNLOCK      gdi_fast_mutex_unlock()
点评回复

使用道具 举报

发表于 2007-7-4 22:04:30 | 显示全部楼层
互斥锁
用于解决多任务编程时的异步不确定性问题
可参阅《深入理解计算机系统》
mutex的实现很多还是用的semaphore
可以找个操作系统源代码(如thraedx)看一下
点评回复

使用道具 举报

 楼主| 发表于 2007-7-6 08:49:56 | 显示全部楼层
5楼的兄弟

感谢您的指点[em14]
点评回复

使用道具 举报

发表于 2007-7-6 13:46:51 | 显示全部楼层
计算机专业的都应该知道的啊  信号量什么的就是前几章的!
点评回复

使用道具 举报

发表于 2007-7-7 12:02:09 | 显示全部楼层
说错了,不好意思
点评回复

使用道具 举报

 楼主| 发表于 2007-7-13 11:31:31 | 显示全部楼层
7楼的:
“计算机专业的都应该知道的啊信号量什么的就是前几章的”
多谢提醒,
那我有个疑问,这是信号量吗?那么它是用来保护什么资源呢?如何保护的?
点评回复

使用道具 举报

发表于 2007-7-13 21:57:00 | 显示全部楼层
ENTER_CRITICAL_SECTION和EXIT_CRITICAL_SECTION配对使用的,临从段的代码就要用这一对代码包起来,临界段的代码可以看成是一个原子操作,就是不可以被中断的操作,跟数据库里面的事务操作的概念一样。
一般ENTER_CRITICAL_SECTION所做的操作就是关中断,而EXIT_CRITICAL_SECTION就是再次把中断打开。
临界区应该跟信号量没什么联系吧!
点评回复

使用道具 举报

发表于 2007-7-14 11:19:32 | 显示全部楼层
哎,好好复习一下OS课程把。
点评回复

使用道具 举报

发表于 2007-7-14 21:34:39 | 显示全部楼层
晕 我没说这是信号量啊 我是想说这方面的知识和信号量的东东 都在前几章
信号量是访问互斥资源的基本方法
而进入临界区 需要关中断以及任务的切换 哎
点评回复

使用道具 举报

发表于 2007-7-16 11:28:11 | 显示全部楼层
我觉得LZ对OS不怎么了解

第二:oh_my_god 说的并没错呀, “计算机专业的都应该知道的啊信号量什么的就是前几章的”,这句话的意思并不是说你的问题就是信号量问题呀。别人是给你建议,你还死抠字眼,而且你并没看懂这句话。
而且他也说的没错,一般的操作系统书中,临界区域和信号量都是在前面几章介绍的,如果你看操作系统书并不需要你翻到后面去看。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-24 11:07 , Processed in 0.050666 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表