Synchronization in Linux Kernel Programming
Đồng bộ hóa trong Lập trình Linux Kernel
Bạn sẽ học được gì
Yêu cầu
Đối tượng phù hợp
Nội dung khóa học
Giới thiệu khóa học
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
Khóa học liên quan
Khám phá thêm các khoá học cùng chủ đề
Lập trình C nhúng cho Vi điều khiển: Dành cho người mới bắt đầu tuyệt đối
FastBit Embedded Brain Academy
Khóa học Lập trình C Nâng cao
Tim Buchalka's Learn Programming Academy
Xây Dựng Phần Mềm Độc Hại Không Bị Phát Hiện Bằng Ngôn Ngữ C: Hacking Đạo Đức
Aleksa Tamburkovski
Làm chủ Vi điều khiển: Timer, PWM, CAN, Chế độ tiết kiệm năng lượng (MCU2)
FastBit Embedded Brain Academy
Lập trình Hệ thống Nhúng trên Bộ xử lý ARM Cortex-M3/M4
FastBit Embedded Brain Academy
Trình điều khiển thiết bị Linux – Giao tiếp với phần cứng
Linux Trainer
Khóa học Linux toàn diện để chinh phục công việc IT mơ ước năm 2026
Imran Afzal
TỔNG QUAN: Khóa học CompTIA A+ Core 1 (220-1201) + Bài thi Thực hành
Total Seminars Over 1 Million Enrollments
Học Linux trong 5 Ngày và Thăng Tiến Sự Nghiệp
Jason Cannon
Khóa Học Đầy Đủ & Bài Thi Thực Hành CompTIA A+ Core 1 (220-1201)
Jason Dion • 2.8 Million+ Enrollments Worldwide
TRỌN BỘ: Khóa học CompTIA A+ Core 2 (220-1202) + Bài thi thực hành
Total Seminars Over 1 Million Enrollments
Thành Thạo Linux: Làm Chủ Dòng Lệnh Linux Chỉ Trong 11.5 Giờ
Ziyad Yehia
Khóa Học Cấp Tốc Quản Trị Linux: Từ Cơ Bản Đến Nâng Cao
Jason Cannon
Khóa học chuyên sâu C++20: Từ Cơ bản đến Nâng cao
Daniel Gakwaya
Lập trình Hệ thống Linux với C và C++ (Phương pháp Thực hành)
Shakil khan
Khóa học Toàn diện về Ngôn ngữ Điều khiển Công việc (JCL).
Abhishek Rathi
Lập trình Hệ thống Linux - Phương pháp Thực hành dành cho Lập trình viên
Mohan M
Tự viết hệ điều hành từ đầu - từng bước một
x-BIT Development
Khởi Đầu Nhanh với C++ Hiện Đại cho Lập Trình Viên [Phiên bản 2024]
Jan Schaffranek