Synchronization in Linux Kernel Programming

Linux Kernel Programming - Synchronization and Concurrency

4.57 (110 reviews)
Udemy
platform
English
language
Operating Systems
category
instructor
Synchronization in Linux Kernel Programming
1,568
students
4.5 hours
content
Nov 2020
last update
$64.99
regular price

What you will learn

Synchronization concepts in Linux Kernel

Why take this course?

Update: Sep 15: Added RCU Section

What you will learn in this course

  • Various concepts related to concurrency like: preemption, context switch, reentrancy, critical section, race condition

  • Various Synchronization techniques

    • Per CPU Variables

    • Atomic Variables

    • Spinlocks

    • Semaphores

    • Mutexes

    • Read Write Locks

    • Sequence Locks

    • Read 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_irq

  • atomic_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_ptr

  • rcu_read_lock, rcu_read_unlock, synchronize_rcu, call_rcu, rcu_assign_pointer, rcu_dereference

  • seqlock_t, seqcount_t, DEFINE_SEQLOCK, seqlock_init, write_seqlock, write_sequnlock

  • struct rw_semaphore, DECLARE_RWSEM, init_rwsem, down_read, up_read, down_write, up_write, down_read_trylock, down_write_trylock, downgrade_write

  • struct rwlock_t, DEFINE_RWLOCK, rwlock_init, read_lock, read_unlock, write_lock, write_unlock

  • struct mutex, DEFINE_MUTEX, mutex_init, mutex_lock, mutex_unlock, mutex_trylock, mutex_lock_interruptible, mutex_unlock_interruptible, mutex_is_locked

  • struct semaphore, sema_init, DEFINE_SEMAPHORE, down, up, down_interruptible, down_trylock, down_timeout, down_killable


Commands used in the course

  • nproc

  • ps -eaF

  • ps aux

Reviews

Yannick
September 5, 2023
Videos that sounds like it was recorded during a live person classroom session, should be edited. But in general the information does cover the essential of synchronisation.
Oleksandra
July 20, 2023
Audio quality is poor. This is some private lesson re-work, as presenter in the middle of the lesson stops with a question to someone and we have to wait for 30 seconds in the silence for someone to answer. Some small uncertainties (semafore acquire condition in the text so far). Examples are not well designed, I believe output information they do and complexity could be better. despite this all major topics were discussed and presented, it is just up to a user find more information ob it's own.

Charts

Price

Synchronization in Linux Kernel Programming - Price chart

Rating

Synchronization in Linux Kernel Programming - Ratings chart

Enrollment distribution

Synchronization in Linux Kernel Programming - Distribution chart

Related Topics

3491398
udemy ID
9/11/2020
course created date
9/15/2020
course indexed date
Bot
course submited by