Enviar búsqueda
Cargar
Kernel Programming
•
9 recomendaciones
•
24,856 vistas
Anil Kumar Pugalia
Seguir
Miscellaneous Programming APIs in Linux Kernel
Leer menos
Leer más
Tecnología
Empresariales
Denunciar
Compartir
Denunciar
Compartir
1 de 25
Recomendados
Introduction to Linux Drivers
Introduction to Linux Drivers
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Architecture Porting
Architecture Porting
Anil Kumar Pugalia
Block Drivers
Block Drivers
Anil Kumar Pugalia
Real Time Systems
Real Time Systems
Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Recomendados
Introduction to Linux Drivers
Introduction to Linux Drivers
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Architecture Porting
Architecture Porting
Anil Kumar Pugalia
Block Drivers
Block Drivers
Anil Kumar Pugalia
Real Time Systems
Real Time Systems
Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Bootloaders
Bootloaders
Anil Kumar Pugalia
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
Processes
Processes
Anil Kumar Pugalia
Linux DMA Engine
Linux DMA Engine
SysPlay eLearning Academy for You
Shell Scripting
Shell Scripting
Anil Kumar Pugalia
Kernel Timing Management
Kernel Timing Management
SysPlay eLearning Academy for You
Embedded Software Design
Embedded Software Design
Anil Kumar Pugalia
Character Drivers
Character Drivers
Anil Kumar Pugalia
Linux Kernel Overview
Linux Kernel Overview
Anil Kumar Pugalia
Video Drivers
Video Drivers
Anil Kumar Pugalia
Synchronization
Synchronization
Anil Kumar Pugalia
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Signals
Signals
Anil Kumar Pugalia
Embedded Storage Management
Embedded Storage Management
Anil Kumar Pugalia
BeagleBoard-xM Booting Process
BeagleBoard-xM Booting Process
SysPlay eLearning Academy for You
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
Low-level Accesses
Low-level Accesses
Anil Kumar Pugalia
Audio Drivers
Audio Drivers
Anil Kumar Pugalia
USB Drivers
USB Drivers
Anil Kumar Pugalia
Más contenido relacionado
La actualidad más candente
Bootloaders
Bootloaders
Anil Kumar Pugalia
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
Processes
Processes
Anil Kumar Pugalia
Linux DMA Engine
Linux DMA Engine
SysPlay eLearning Academy for You
Shell Scripting
Shell Scripting
Anil Kumar Pugalia
Kernel Timing Management
Kernel Timing Management
SysPlay eLearning Academy for You
Embedded Software Design
Embedded Software Design
Anil Kumar Pugalia
Character Drivers
Character Drivers
Anil Kumar Pugalia
Linux Kernel Overview
Linux Kernel Overview
Anil Kumar Pugalia
Video Drivers
Video Drivers
Anil Kumar Pugalia
Synchronization
Synchronization
Anil Kumar Pugalia
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Signals
Signals
Anil Kumar Pugalia
Embedded Storage Management
Embedded Storage Management
Anil Kumar Pugalia
BeagleBoard-xM Booting Process
BeagleBoard-xM Booting Process
SysPlay eLearning Academy for You
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
Low-level Accesses
Low-level Accesses
Anil Kumar Pugalia
La actualidad más candente
(20)
Bootloaders
Bootloaders
SPI Drivers
SPI Drivers
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
Processes
Processes
Linux DMA Engine
Linux DMA Engine
Shell Scripting
Shell Scripting
Kernel Timing Management
Kernel Timing Management
Embedded Software Design
Embedded Software Design
Character Drivers
Character Drivers
Linux Kernel Overview
Linux Kernel Overview
Video Drivers
Video Drivers
Synchronization
Synchronization
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
System Calls
System Calls
Signals
Signals
Embedded Storage Management
Embedded Storage Management
BeagleBoard-xM Booting Process
BeagleBoard-xM Booting Process
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Processes
Processes
Low-level Accesses
Low-level Accesses
Destacado
Audio Drivers
Audio Drivers
Anil Kumar Pugalia
USB Drivers
USB Drivers
Anil Kumar Pugalia
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
PCI Drivers
PCI Drivers
Anil Kumar Pugalia
Interrupts
Interrupts
Anil Kumar Pugalia
Serial Drivers
Serial Drivers
SysPlay eLearning Academy for You
Platform Drivers
Platform Drivers
SysPlay eLearning Academy for You
Network Drivers
Network Drivers
Anil Kumar Pugalia
I2C Drivers
I2C Drivers
SysPlay eLearning Academy for You
Destacado
(9)
Audio Drivers
Audio Drivers
USB Drivers
USB Drivers
SPI Drivers
SPI Drivers
PCI Drivers
PCI Drivers
Interrupts
Interrupts
Serial Drivers
Serial Drivers
Platform Drivers
Platform Drivers
Network Drivers
Network Drivers
I2C Drivers
I2C Drivers
Similar a Kernel Programming
리눅스 드라이버 #2
리눅스 드라이버 #2
Sangho Park
Embedded Applications
Embedded Applications
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Dan Norris: Exadata security
Dan Norris: Exadata security
Kyle Hailey
Node.js primer for ITE students
Node.js primer for ITE students
Quhan Arunasalam
OUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQL
Georgi Kodinov
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
Chris Simmonds
Kernel Timing Management
Kernel Timing Management
pradeep_tewani
Linux scheduler
Linux scheduler
Liran Ben Haim
Mysql performance tuning
Mysql performance tuning
Philip Zhong
Oracle Solaris 11.1 New Features
Oracle Solaris 11.1 New Features
Orgad Kimchi
101 1.3 runlevels , shutdown, and reboot
101 1.3 runlevels , shutdown, and reboot
Acácio Oliveira
101 1.3 runlevels, shutdown, and reboot v2
101 1.3 runlevels, shutdown, and reboot v2
Acácio Oliveira
SHARE.ORG Orlando 2015
SHARE.ORG Orlando 2015
Filipe Miranda
Introduction to Embedded Systems
Introduction to Embedded Systems
Anil Kumar Pugalia
Hangover - Que pasó ayer? Troubleshooting con vistas ASH & S-ASH
Hangover - Que pasó ayer? Troubleshooting con vistas ASH & S-ASH
Roy Salazar
Vx works RTOS
Vx works RTOS
Sai Malleswar
Sjug aug 2010_cloud
Sjug aug 2010_cloud
Michael Neale
Linux Porting
Linux Porting
Anil Kumar Pugalia
Inter Process Communication
Inter Process Communication
Anil Kumar Pugalia
Similar a Kernel Programming
(20)
리눅스 드라이버 #2
리눅스 드라이버 #2
Embedded Applications
Embedded Applications
Introduction to Linux
Introduction to Linux
Dan Norris: Exadata security
Dan Norris: Exadata security
Node.js primer for ITE students
Node.js primer for ITE students
OUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQL
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
Kernel Timing Management
Kernel Timing Management
Linux scheduler
Linux scheduler
Mysql performance tuning
Mysql performance tuning
Oracle Solaris 11.1 New Features
Oracle Solaris 11.1 New Features
101 1.3 runlevels , shutdown, and reboot
101 1.3 runlevels , shutdown, and reboot
101 1.3 runlevels, shutdown, and reboot v2
101 1.3 runlevels, shutdown, and reboot v2
SHARE.ORG Orlando 2015
SHARE.ORG Orlando 2015
Introduction to Embedded Systems
Introduction to Embedded Systems
Hangover - Que pasó ayer? Troubleshooting con vistas ASH & S-ASH
Hangover - Que pasó ayer? Troubleshooting con vistas ASH & S-ASH
Vx works RTOS
Vx works RTOS
Sjug aug 2010_cloud
Sjug aug 2010_cloud
Linux Porting
Linux Porting
Inter Process Communication
Inter Process Communication
Más de Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
Embedded C
Embedded C
Anil Kumar Pugalia
Playing with R L C Circuits
Playing with R L C Circuits
Anil Kumar Pugalia
References
References
Anil Kumar Pugalia
Functional Programming with LISP
Functional Programming with LISP
Anil Kumar Pugalia
Power of vi
Power of vi
Anil Kumar Pugalia
gcc and friends
gcc and friends
Anil Kumar Pugalia
"make" system
"make" system
Anil Kumar Pugalia
Hardware Design for Software Hackers
Hardware Design for Software Hackers
Anil Kumar Pugalia
RPM Building
RPM Building
Anil Kumar Pugalia
Linux Network Management
Linux Network Management
Anil Kumar Pugalia
Timers
Timers
Anil Kumar Pugalia
Threads
Threads
Anil Kumar Pugalia
Linux Memory Management
Linux Memory Management
Anil Kumar Pugalia
Linux File System
Linux File System
Anil Kumar Pugalia
Más de Anil Kumar Pugalia
(15)
File System Modules
File System Modules
Embedded C
Embedded C
Playing with R L C Circuits
Playing with R L C Circuits
References
References
Functional Programming with LISP
Functional Programming with LISP
Power of vi
Power of vi
gcc and friends
gcc and friends
"make" system
"make" system
Hardware Design for Software Hackers
Hardware Design for Software Hackers
RPM Building
RPM Building
Linux Network Management
Linux Network Management
Timers
Timers
Threads
Threads
Linux Memory Management
Linux Memory Management
Linux File System
Linux File System
Último
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
Overkill Security
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
The Digital Insurer
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Zilliz
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
rafiqahmad00786416
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
Zilliz
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Deepika Singh
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
The Digital Insurer
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Edi Saputra
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
Último
(20)
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Kernel Programming
1.
© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Kernel Programming
2.
2© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. What to Expect? How to do programming in “Kernel C” for Achieving Concurrency Keeping Time Providing Delays Timer Control
3.
3© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Concurrency
4.
4© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Concurrency with Locking Mutexes Header: <linux/mutex.h> Type: struct mutex APIs DEFINE_MUTEX mutex_is_locked mutex_lock, mutex_trylock, mutex_unlock Semaphores Header: <linux/semaphore.h> Type: struct semaphore APIs sema_init down, down_trylock, down_interruptible, up
5.
5© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Concurrency w/ Locking (cont.) Spin Locks Header <linux/spinlock.h> Type: spinlock_t APIs spin_lock_init spin_[try]lock, spin_unlock Reader-Writer Locks Header: <linux/spinlock.h> Type: rwlock_t APIs read_lock, read_unlock write_lock, write_unlock
6.
6© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Concurrency without Locking Atomic Variables Header: <asm-generic/atomic.h> Type: atomic_t Macros ATOMIC_INIT atomic_read, atomic_set atomic_add, atomic_sub, atomic_inc, atomic_dec atomic_xchg
7.
7© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Concurrency w/o Locking (cont.) Atomic Bit Operations Header: <linux/bitops.h> APIs rol8, rol16, rol32, ror8, ror16, ror32 find_first_bit, find_first_zero_bit find_last_bit find_next_bit, find_next_zero_bit Header: <asm-generic/bitops.h> APIs set_bit, clear_bit, change_bit test_and_set_bit, test_and_clear_bit, test_and_change_bit
8.
8© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Wait Queues Wait Queues Header: <linux/wait.h> Wait Queue Head APIs DECLARE_WAIT_QUEUE_HEAD(wq); wait_event_interruptible(wq, cond); wait_event_interruptible_timeout(wq, cond, timeout); wake_up_interruptible(&wq); ... (non-interruptible set) Wait Queue APIs DECLARE_WAITQUEUE(w, current); add_wait_queue(&wq, &w); remove_wait_queue(&wq, &w);
9.
9© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Time Keeping
10.
10© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Time since Bootup tick – Kernel's unit of time. Also called jiffy HZ – ticks per second Defined in Header: <linux/param.h> Typically, 1000 for desktops, 100 for embedded systems 1 tick = 1ms (desktop), 10ms (embedded systems) Variables: jiffies & jiffies_64 Header: <linux/jiffies.h> APIs time_after, time_before, time_in_range, ... get_jiffies_64, ... msec_to_jiffies, timespec_to_jiffies, timeval_to_jiffies, … jiffies_to_msec, jiffies_to_timespec, jiffies_to_timeval, ...
11.
11© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Time since Bootup (cont.) Platform specific “Time Stamp Counter” On x86 Header: <asm/msr.h> API: rdtsc(ul low_tsc_ticks, ul high_tsc_ticks); Getting it generically Header: <linux/timex.h> API: read_current_timer(unsigned long *timer_val);
12.
12© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Absolute Time Header: <linux/time.h> APIs mktime(y, m, d, h, m, s) – Seconds since Epoch void do_gettimeofday(struct timeval *tv); struct timespec current_kernel_time(void);
13.
13© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Delays
14.
14© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Long Delays Busy wait: cpu_relax while (time_before(jiffies, j1)) cpu_relax(); Yielding: schedule/schedule_timeout while (time_before(jiffies, j1)) schedule();
15.
15© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Short Delays but Busy Waiting Header: <linux/delay.h> Arch. specific Header: <asm/delay.h> APIs void ndelay(unsigned long ndelays); void udelay(unsigned long udelays); void mdelay(unsigned long mdelays);
16.
16© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Long Delays: Back to Yielding Header: <linux/delay.h> APIs void msleep(unsigned int millisecs); unsigned long msleep_interruptible(unsigned int millisecs); void ssleep(unsigned int secs);
17.
17© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Timers
18.
18© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Kernel Timers Back end of the various delays Header: <linux/timer.h> Type: struct timer_list APIs void init_timer(struct timer_list *); /* Nullifies */ struct timer_list TIMER_INITIALIZER(f, t, p); void add_timer(struct timer_list *); void del_timer(struct timer_list *); int mod_timer(struct timer_list *, unsigned long); int del_timer_sync(struct timer_list *);
19.
19© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Tasklets Timers without specific Timing Header: <linux/interrupt.h> Type: struct tasklet_struct APIs void tasklet_init(struct tasklet_struct *t, void (*func) (unsigned long), unsigned long data); void tasklet_kill(struct tasklet_struct *t); DECLARE_TASKLET(name, func, data); tasklet_enable(t), tasklet_disable(t) tasklet_[hi_]schedule(t);
20.
20© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Work Queues In context of “Special Kernel Thread” Header: <linux/workqueue.h> Types: struct workqueue_struct, struct work_struct Work Queue APIs q = create_workqueue(name); q = create_singlethread_workqueue(name); flush_workqueue(q); destroy_workqueue(q); Work APIs DECLARE_WORK(w, void (*function)(void *), void *data); INIT_WORK(w, void (*function)(void *), void *data); Combined APIs int queue_work(q, &w); int queue_delayed_work(q, &w, d); int cancel_delayed_work(&w); Global Shared Work Queue API schedule_work(&w);
21.
21© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Helper Interfaces
22.
22© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Other Helper Interfaces in Latest Kernels User Mode Helper Linked Lists Hash Lists Notifier Chains Completion Interface Kthread Helpers
23.
23© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved.
24.
24© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. What to Expect? How to do programming in “Kernel C” for Achieving Concurrency With & without Locking Wait Queues Keeping Time Relative & Absolute Providing Delays Long and Short Busy Wait and Yielding Timer Control Kernel Timers Tasklets Work Queues
25.
25© 2010-15 Sysplay
Workshops <workshop@sysplay.in> All Rights Reserved. Any Queries?