Interrupts and Bottom Halves in Linux Kernel

Description

What you will learn from this course

Interrupts and Exceptions
Types of Interrupts and Exceptions : Level Triggerred, Edge Triggerred, Traps, Faults
Programmable Interrput Controller, Advanced Programmable Interrupt Controller (APIC) – IO APIC, Local APIC
Find out information about your x86 CPU using CPUID Instruction
What happens when there is interrupt
How does CPU finds the interrupt handler: Interrupt Request, Interrupt Vector and Interrupt Descriptor Table
Interrupt Handling and Statistics in Linux Kernel : Interrupt sharing, return values, IRQ Affinity
Linux Driver for keyboard, mouse, ethernet interrupts
Write a Keylogger in Linux Kernel which will log all characters typed
Enabling/Disabling Interrupts
What happens when we add sleep and delay in interrupt handler
Top and Bottom Halves: Threaded IRQs,Softirqs, Tasklets and Workqueues (System Workqueues and own workqueues)
Differences between softirqs, tasklets and workqueues

Files
/proc/cpuinfo
/proc/interrupts
/proc/irq
/proc/softirqs

API’s/Macros/Structures

request_irq, irq_handler_t
local_irq_enable, local_irq_disable, cli, sei
local_irq_save, local_irq_restore
disable_irq, enable_irq
disable_irq_nosync, synchronize_irq
irqs_disabled
in_interrupt
request_threaded_irq
struct softirq_action, NR_SOFTIRQS
open_softirq, raise_softirq
in_irq
local_softirq_pending
in_softirq
local_bh_enable, local_bh_disable
spin_lock_bh, spin_unlock_bh
struct tasklet_struct, DECLARE_TASKLET, DECLARE_TASKLET_DISABLED, tasklet_init, tasklet_schedule, tasklet_hi_schedule
tasklet_trylock, tasklet_unlock, tasklet_disable, tasklet_disable_nosync, tasklet_enable, tasklet_kill
struct workqueue_struct, struct work_struct, DECLARE_WORK, INIT_WORK, queue_work, queue_work_on, schedule_work, schedule_work_on, cancel_work_sync, flush_work
struct delayed_work, DELAYED_DECLARED_WORK, INIT_DELAYED_WORK, schedule_delayed_work, schedule_delayed_work_on, flush_delayed_work, cancel_delayed_work
alloc_workqueue, destroy_workqueue, flush_workqueue, alloc_ordered_workqueue,

Commands
watch
lspci
dmesg

Who this course is for:

  • Kernel developers curious about learning Interrupts and Bottom Halves

Requirements

  • Should be able to write/compile/load/unload Hello World Linux Kernel Modules

Last Updated 12/2020

Download Links

Direct Download

Interrupts and Bottom Halves in Linux Kernel.zip (2.6 GB) | Mirror

Torrent Download

Interrupts and Bottom Halves in Linux Kernel.torrent (105 KB) | Mirror

Source : https://www.udemy.com/course/interrupts-and-bottom-halves-in-deep/

Leave a Reply

Your email address will not be published. Required fields are marked *