Linux内核分析与应用7-内核同步

本系列是对 陈莉君 老师 Linux 内核分析与应用 的学习与记录。讲的非常之好,推荐观看

留此记录,蜻蜓点水,可作抛砖引玉


7.1 Linux同步概述

竞态条件,也称竞争条件,race condition

临界区

原子操作,Linux专门有一个atomic_t结构体

问题:

在多核系统中遇到原子操作,在系统层面上原子操作还是原子的吗?在核级还是原子的吗?

死锁:所有的任务都在相互等待,但他们永远不会释放已占有的资源,于是任何任务都无法继续执行

死锁的避免: 加锁的顺序是关键

思考:

死锁是一种小概率事件还是大概率事件?如果内核出现死锁,该如何应对?


7.2 内核同步机制

原子操作已经讲过.

中断屏蔽:

自旋锁:(spin lock)

专为多处理器并发而引入的一种锁,在内核中大量应用于中断处理部分

在短期时间内,进行轻量级的锁定

同一时刻,只能为一个处理器所持有, 防止多处理器并发访问临界区,防止内核抢占造成的竞争

信号量:

P/V操作

经典实例: 生产者-消费者并发实例

参考:

内核中的调度与同步


相关推荐
moxiaoran57537 分钟前
Flask学习笔记(一)
后端·python·flask
ajassi20008 分钟前
linux C 语言开发 (八) 进程基础
linux·运维·服务器
..过云雨19 分钟前
05.【Linux系统编程】进程(冯诺依曼体系结构、进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
linux·笔记·学习
你的人类朋友25 分钟前
🔒什么是HMAC
后端·安全·程序员
matlab的学徒1 小时前
Web与Nginx网站服务(改)
linux·运维·前端·nginx·tomcat
Insist7531 小时前
prometheus安装部署与alertmanager邮箱告警
linux·运维·grafana·prometheus
盖世英雄酱581361 小时前
Read timed out问题 排查
java·数据库·后端
BAGAE2 小时前
MODBUS 通信协议详细介绍
linux·嵌入式硬件·物联网·硬件架构·iot·嵌入式实时数据库·rtdbs
灿烂阳光g2 小时前
SELinux 策略文件编写
android·linux
xqlily2 小时前
Linux操作系统之Ubuntu
linux·运维·ubuntu