Synchronization in Linux Kernel Programming

所在平台: Udemy

课程主页: https://www.udemy.com/course/synchronization-in-linux-kernel-programming/

课程评论:没有评论

第一个写评论        关注课程

课程简介

Linux内核同步技术编程课程 本课程深入探讨Linux内核中的并发与同步机制。您将学习到: **核心并发概念:** * 进程抢占 (preemption) * 上下文切换 (context switch) * 可重入性 (reentrancy) * 临界区 (critical section) * 竞态条件 (race condition) **同步技术详解:** * Per-CPU 变量 * 原子变量 (Atomic Variables) * 自旋锁 (Spinlocks) * 信号量 (Semaphores) * 互斥锁 (Mutexes) * 读写锁 (Read Write Locks) * 顺序锁 (Sequence Locks) * 读写复制更新 (RCU - Read Copy Update) **关键API、宏和数据结构:** 课程将详细介绍用于实现上述同步机制的各种函数和数据结构,包括但不限于:`spinlock_t` 系列、`atomic_t` 系列、`set_bit` 系列、`NR_CPUS` 系列、`DEFINE_PER_CPU` 系列、`rcu_read_lock` 系列、`seqlock_t` 系列、`rw_semaphore` 系列、`rwlock_t` 系列、`mutex` 系列、`semaphore` 系列。 **课程亮点:** * 提供了全面的同步原语介绍。 * 通过实际的API和数据结构示例,帮助理解底层实现。 * 涵盖了Linux内核开发中最常用的同步工具。 **(更新)新增RCU章节** 本课程已更新,增加了对RCU(Read-Copy-Update)机制的详细介绍。 **学习目标:** 完成本课程后,您将能够理解和应用Linux内核中的各种同步技术,有效地管理并发访问,避免竞态条件,从而编写更健壮、更高效的内核代码。 **课程中使用命令示例:** `ps -ef` `fps aux`

课程评论(0条)

课程详情

Update: Sep 15: Added RCU SectionWhat you will learn in this courseVarious concepts related to concurrency like: preemption, context switch, reentrancy, critical section, race conditionVarious Synchronization techniquesPer CPU VariablesAtomic VariablesSpinlocksSemaphoresMutexesRead Write LocksSequence LocksRead Copy Update(RCU)API's/Macros/Structures:spinlock_t, DEFINE_SPINLOCK, spin_lock, spin_unlock, spin_trylock, spin_lock_irqsave, spin_unlock_irqrestore,spin_lock_irq, spin_unlock_irqatomic_t, atomic64_t, ATOMIC_INIT, atomic_inc, atomic_dec, atomic_set, atomic_read, atomic_add, atomic_sub,atomic_dec_and_test, atomic_inc_and_test, atomic_sub_and_test, atomic_add_negative,atomic_add_return, atomic_sub_return, atomic_inc_return, atomic_dec_return,atomic_fetch_add, atomic_fetch_sub, atomic_cmpxchg, atomic_xchg,set_bit, clear_bit, change_bit, test_and_set_bit, test_and_clear_bit, test_and_change_bit,NR_CPUS,num_online_cpus,smp_processor_id,get_cpu,put_cpu,DEFINE_PER_CPU,get_cpu_var, put_cpu_var, per_cpu, for_each_online_cpu, alloc_percpu, free_percpu, per_cpu_ptrrcu_read_lock, rcu_read_unlock, synchronize_rcu, call_rcu, rcu_assign_pointer, rcu_dereferenceseqlock_t, seqcount_t, DEFINE_SEQLOCK, seqlock_init, write_seqlock, write_sequnlockstruct rw_semaphore, DECLARE_RWSEM, init_rwsem, down_read, up_read, down_write, up_write, down_read_trylock, down_write_trylock, downgrade_writestruct rwlock_t, DEFINE_RWLOCK, rwlock_init, read_lock, read_unlock, write_lock, write_unlockstruct mutex, DEFINE_MUTEX, mutex_init, mutex_lock, mutex_unlock, mutex_trylock, mutex_lock_interruptible, mutex_unlock_interruptible, mutex_is_lockedstruct semaphore, sema_init, DEFINE_SEMAPHORE, down, up, down_interruptible, down_trylock, down_timeout, down_killableCommands used in the coursenprocps -eaFps aux

课程标签

0人关注该课程

主题相关的课程