Synchronization in Linux Kernel Programming

Free Download Udemy Synchronization in Linux Kernel Programming. With the help of this course you can Linux Kernel Programming - Synchronization and Concurrency.

This course was created by . It was rated 0 out of 5 by approx 0 ratings. There are approx 1 users enrolled with this course, so don’t wait to download yours now. This course also includes 271 mins on-demand video, Full lifetime access, Access on mobile and TV & Certificate of Completion.

What will I need?

  • Should be able to write/understand Hello World Linux Kernel Module
  • Should be able to write/understand Linux Kernel Modules for /proc filesystem

Is this course right for me?

  • Linux Kernel Developers interested in learning various synchronization techniques

What am I going to learn?

  • Synchronization concepts in Linux Kernel

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)


  • 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

Buy Udemy’s Synchronization in Linux Kernel Programming

Note: We have purchased this course/tutorial from Udemy and we’re sharing the download link with you for absolutely FREE. So you can learn & be your own master if you can’t afford to buy this course. But if you have money we strongly suggest you to buy Synchronization in Linux Kernel Programming course/tutorial from Udemy. So, the course’s author  can help you if you can’t understand something or if you want to learn something spectacular.

You might also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More