linux内核锁
2016-02-10 18:01
585 查看
《linux内核设计与实现》关于内核同步。(2.6内核)
1.概念
同步:避免并发和防止竞争条件。(synchronization)
2.内核中可能造成并发执行的原因
《1》.中断
《2》.软中断和tasklet
《3》.内核抢占。
《4》.睡眠以及用户空间的同步:再内核执行的进程可能会睡眠。会唤醒调度程序,调度一个新的用户进程执行。
《5》.SMP-对称多处理器。
3.死锁
《1》.自死锁:对自己持有的锁再次去获取。
《2》.ABBA死锁:(两个线程,两个资源)
4.防止死锁
《1》.按顺序加锁。
《2》.不要重复申请同一个锁。
《3》.设计力求简单。
5.面临的问题
争用、扩展性
锁的作用使程序以串行方式对资源进行访问。高度争用的锁会成为系统瓶颈。
锁的扩展性好,锁的细粒度由粗到细。在集群处理机器上锁的细粒度小些,会降低争用一个锁,提高性能;但时在双处理器,粒度细了,锁开销大,会降低性能。
1.概念
同步:避免并发和防止竞争条件。(synchronization)
2.内核中可能造成并发执行的原因
《1》.中断
《2》.软中断和tasklet
《3》.内核抢占。
《4》.睡眠以及用户空间的同步:再内核执行的进程可能会睡眠。会唤醒调度程序,调度一个新的用户进程执行。
《5》.SMP-对称多处理器。
3.死锁
《1》.自死锁:对自己持有的锁再次去获取。
《2》.ABBA死锁:(两个线程,两个资源)
4.防止死锁
《1》.按顺序加锁。
《2》.不要重复申请同一个锁。
《3》.设计力求简单。
5.面临的问题
争用、扩展性
锁的作用使程序以串行方式对资源进行访问。高度争用的锁会成为系统瓶颈。
锁的扩展性好,锁的细粒度由粗到细。在集群处理机器上锁的细粒度小些,会降低争用一个锁,提高性能;但时在双处理器,粒度细了,锁开销大,会降低性能。
相关文章推荐
- Linux查看端口占用情况和开启端口命令
- linux 信号 回收子进程
- VirtualBox安装CentOS6.5
- 在Linux信号处理中longjmp和siglongjmp
- arm-linu-gcc安装
- Centos/Ubuntu环境下安装mysql
- Linux系统下的c语言编程
- 老王学linux-centos6.7heartbeat-2.1.4-12.el6.x86_64
- 【Linux学习013】文件查找
- Centos6.5分区及安装系统准备
- linux给普通用户添加root权限
- centos 6.6 hadr db2-10.5.1 express-c
- 【Linux命令】grep命令
- 【Linux命令】crontab命令
- Linux制作通用运行jar运行文件
- 老王学linux-centos6.7heartbeat-2.1.4-12.el6.x86_64
- Linux系统安装中文语言包
- linux虚拟机搭建
- linux中默认jdk的配置
- sync,fsync,fdatasync in Linux