操作系统复习笔记3

1、条件变量和互斥锁

条件变量一般和互斥锁一起使用,来弥补互斥锁的不足。总得来说,互斥锁用来规范线程对共享数据的竞争使用,条件变量用来协调各个线程合作完成任务。

2、enum枚举类型

enum typeName { valueName1, valueName2, valueName3, ...... };

typeName是枚举类型的名字,花括号里面的元素(枚举成员)是常量而不是变量,这个一定要搞清楚,因为枚举成员的是常量,所以不能对它们赋值,只能将它们的值赋给其他的变量。

python和C++都有枚举类型,但是不太一样,不要搞混了

3、互斥的实现方法

有软件也有硬件,现在一般是结合在一起

软件的主要思想就是解决那四个准则:空闲让进、忙则等待、有限等待、让权等待。缺点:存在忙等现象。

硬件的主要思想是:用一条指令完成标志的检查和修改这两个操作,或者通过中断屏蔽保证检查和修改作为一个整体。缺点:不能实现让权等待。

4、信号量

信号量是一个二元组{s,p},s表示资源数量,p是一个队列,用来放正在排队想要使用这一资源的进程,即

信号量的值只能由P(wait,调用资源),V(signal归还资源)改变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值