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

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

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


7.1 Linux同步概述

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

临界区

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

问题:

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

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

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

思考:

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


7.2 内核同步机制

原子操作已经讲过.

中断屏蔽:

自旋锁:(spin lock)

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

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

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

信号量:

P/V操作

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

参考:

内核中的调度与同步


相关推荐
Csvn3 分钟前
📊 SQL 入门 Day 22:视图与物化视图
后端·sql
Csvn6 分钟前
🐍 Day 4: Python 控制流 — 条件、循环与推导式的艺术
后端·python
吠品42 分钟前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
2601_9537208244 分钟前
【计算机毕业设计】基于Vue与Spring Boot的高校兼职信息服务平台设计与实现
spring boot·后端·课程设计
再吃一根胡萝卜2 小时前
用 Rust 写一个桌面悬浮图标:为什么它比 Python 更适合 AI 桌面工具?
后端
IT_陈寒2 小时前
Vue的computed属性把我坑惨了,原来我一直用错姿势
前端·人工智能·后端
深念Y3 小时前
从 Windows 迁移到 Linux 开发环境的记录
linux·windows·链接·bun·ram·imdisk
evans在进步3 小时前
Spring Boot 核心机制详解:可执行 JAR、CORS、静态资源与配置绑定
spring boot·后端·jar
Sayuanni%33 小时前
SpringBoot 从注解到源码:核心知识点总结
java·spring boot·后端
知无不研4 小时前
Linux I/O复用之epoll
linux·服务器·epoll·socket编程