Udemy - Interrupts and Bottom Halves in Linux Kernel

  • Category Other
  • Type Tutorials
  • Language English
  • Total size 2.7 GB
  • Uploaded By tutsnode
  • Downloads 272
  • Last checked 5 hours ago
  • Date uploaded 3 years ago
  • Seeders 10
  • Leechers 11

Infohash : C7D38D5BC7B9726B0C791DD31896B8061C7B8405

Warning! Use a V𝙿N When Downloading Torrents!
Your IP Address is . Location
Your Internet Provider can see when you download torrents! Hide your IP Address with a V𝙿N
1337x recommends using Trust.Zone V𝙿N to hide your torrenting. It's FREE HIDE ME NOW



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

There are currently no comments. Feel free to leave one :)

Code:

  • udp://inferno.demonoid.pw:3391/announce
  • udp://tracker.openbittorrent.com:80/announce
  • udp://tracker.opentrackr.org:1337/announce
  • udp://torrent.gresille.org:80/announce
  • udp://glotorrents.pw:6969/announce
  • udp://tracker.leechers-paradise.org:6969/announce
  • udp://tracker.pirateparty.gr:6969/announce
  • udp://tracker.coppersurfer.tk:6969/announce
  • udp://ipv4.tracker.harry.lu:80/announce
  • udp://9.rarbg.to:2710/announce
  • udp://shadowshq.yi.org:6969/announce
  • udp://tracker.zer0day.to:1337/announce