首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
(10)任务互斥
A、任务之间的关系:相互独立、任务互斥、任务同步、任务通信。
B、任务间的互斥:当前已经有一个任务正在访问临界区共享数据,那么其他任务暂时
不能访问。
C、提出互斥访问的四个条件:
a、在任何时候最多只能有一个任务位于它的临界区中。
b、不能事先假定CPU 的个数和系统的运行速度。
c、没有任务位于它的临界区中,它不妨碍其他任务去访问临界区资源。
d、任何一个任务进入临界区的请求必须在有限的时间内得到满足,不能无限期。
D、任务互斥的解决方案:
a、关闭中断法
b、繁忙等待法
c、信号量处理
(11)信号量
信号量记录当前可用资源的数量。
信号量由操作系统维护,任务不能直接去修改它的值,只能通过初始化和两个标准原
语(PV 原语)来对它进行访问。
注:关于原语。
原语通常由若干条语句组成,用来实现某个特点的操作,并通过一段不可分割或不可中断的程序来实
现其功能。原语时操作系统内核的一个组成部分,必须在内核态下执行。原语的不可中断性是通过在其执
行过程中关闭中断来实现的。关键要理解PV 原语的实现:
P(semaphores S)
{
--S.count; //申请一个资源
if(S.count < 0) //没有空闲资源
{
将当前任务阻塞起来,加到阻塞队列末尾,调度新的任务运行。
}
}
V(semaphores S)
{
++S.count; //释放一个资源
if(S.count <= 0) //有任务被阻塞
{
从阻塞队列中取出一个任务,把该任务改为就绪状态,插入就绪队列。
}
}
利用操作系统提供的信号量机制,可以方便、有效地实现对临界资源的互斥访问,优
点有两个:
A、可以设置信号量的计数值,从而允许多个任务同时进入临界区。
B、当一个任务暂时无法进入临界区时,它会被阻塞起来,将CPU 让给其他任务。
(12)任务同步
任务之间的同步可以使用信号量机制,通过引入PV 操作来设定两个任务在运行时的先
后顺序。例如,可以把信号量视为某个共享资源的当前个数,然后由一个任务负责生成这种
资源,而另一个任务则负责消费这种资源,这样可以构成两个任务之间的先后顺序。在具体
实现上,一般把信号量的初始值设为N,N 大于或等于0。然后在一个任务内使用V 原语,
把信号量加1,而在另外一个任务内部使用P 原语,将信号量减1,从而实现这两个任务之
间的同步关系。
(13)死锁
在一组任务中,每个任务都占用着若干资源,同时又在等待其他任务占用的资源,从
而造成所有任务都无法进展下去的现象,这称为死锁现象。
除了资源的竞争之外,PV 操作使用不当也会引起死锁。
相关推荐:北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |