[CFP] Leveraging the OS CPU scheduler to write real-time MT apps

104 views
Skip to first unread message

Kaiwan N Billimoria

unread,
Mar 25, 2025, 2:53:22 AMMar 25
to Kernel Meetup Bangalore
Hi all,

A talk proposal for the upcoming Kernel Meetup Blr, 26 April 2025!

Title: Leveraging the OS CPU scheduler to write real-time MT apps
Format: Regular talk / Tutorial
Audience: Beginner onward

Abstract:
The Linux OS is powerful; in this session you'll learn some aspects of
this power, particularly, how the kernel CPU (or task) scheduler can
be leveraged to support the writing of (soft) real-time multithreaded
(MT) applications (with C).

First the basics: the (real!) meaning of real-time, the state machine
of a Linux process/thread, the meaning of the various POSIX scheduling
policies available on the system.

The meat of this talk (and live demo!) will be how you, as a systems /
app developer, can leverage the OS by using appropriate Pthread/system
call APIs to query and set the CPU scheduling policy and priority, at
a *per thread* level of granularity!

We conclude with an overview of the LF Real-Time Linux (RTL) kernel,
how to configure the kernel for RT, and deploy it for use (with
appropriately written RT apps), thus enabling the ability to use Linux
as an RTOS.

Agenda brief:
- What does real-time actually mean
- The Linux process state machine
- How Linux schedules processes and threads
- The POSIX Scheduling Policies and what they mean
- Setting sched policy and priority on an application thread
- Demo MT app; code walkthru & demo
- Overview: making Linux an RTOS (it's done as of 6.11!)

Folks working on domains like vehicle/automotive, drones, and other
real-time (or near RT) systems can benefit from this talk.
---

Speaker - Brief Bio:
Kaiwan is a pretty much career-long Linux developer, trainer, author
and enthusiast. He started his Linux journey around 1997 and hasn’t
looked back. Along the way, he has helped via corporate training, both
in-country and internationally, and has (as of now) written five books
on Linux systems domain topics.
Kaiwan's Amazon Author page:
https://amazon.com/author/kaiwanbillimoria .


Thanks and regards,
Kaiwan.

Kaiwan N Billimoria
Founder, kaiwanTECH (Designer Graphics)
https://bit.ly/m/kaiwan

Yuvraj Sakshith

unread,
Mar 26, 2025, 12:26:54 PMMar 26
to Kaiwan N Billimoria, Kernel Meetup Bangalore
+1

--
You received this message because you are subscribed to the Google Groups "Kernel Meetup Bangalore" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kernel-meetup-ban...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/kernel-meetup-bangalore/CAPDLWs8XV0vtbPaHBRuWkGKvQOZ%3DzxUav0Y8WZCntYzRhcSvkw%40mail.gmail.com.

Bhagyashri Pathak

unread,
Mar 26, 2025, 12:30:45 PMMar 26
to Yuvraj Sakshith, Kaiwan N Billimoria, Kernel Meetup Bangalore

Dheeraj Reddy

unread,
Mar 26, 2025, 12:32:49 PMMar 26
to Kaiwan N Billimoria, Kernel Meetup Bangalore
+1

Aditya Gupta (Personal)

unread,
Mar 29, 2025, 10:40:05 AMMar 29
to kernel-meet...@googlegroups.com
On 25/03/25 12:22, Kaiwan N Billimoria wrote:

> Hi all,
>
> A talk proposal for the upcoming Kernel Meetup Blr, 26 April 2025!
>
> Title: Leveraging the OS CPU scheduler to write real-time MT apps


+1.


Thanks,

- Aditya G


Aditya Nagesh

unread,
Mar 29, 2025, 4:46:20 PMMar 29
to Aditya Gupta (Personal), kernel-meet...@googlegroups.com

+1


--
You received this message because you are subscribed to the Google Groups "Kernel Meetup Bangalore" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kernel-meetup-ban...@googlegroups.com.

Swapnil Agrawal

unread,
Apr 3, 2025, 6:04:10 PMApr 3
to Kernel Meetup Bangalore
+1
Looking forward to your talk. I recently got to know about your books on Linux Kernel programming. They are truly a gem.

Kaiwan N Billimoria

unread,
Apr 16, 2025, 8:30:04 AMApr 16
to Swapnil Agrawal, Kernel Meetup Bangalore
On Fri, Apr 4, 2025 at 3:34 AM Swapnil Agrawal <agarwal.s...@gmail.com> wrote:
+1
Looking forward to your talk. I recently got to know about your books on Linux Kernel programming. They are truly a gem.
Thank you Swapnil!

Folks,
Hope this is taken in the right spirit!
A gentle reminder:
Our LINUX SYSTEM PROGRAMMING Online Course is all set to take off on Thu 24 April, just a week away...
For those interested in attending a truly world-class training, request you to register ASAP.

Details follow...

🗓 Dates:

Part 1: Thu 24, Fri 25 April 2025 : 10 am to 6 pm IST
Part 2: Thu 01, Fri 02, Sat 03 May 2025 : 10 am to 6 pm IST

📍 Location: Online (Join from anywhere!) 

💻 Who Should Attend:
Developers, DevOps, System Administrators, and IT Professionals eager to enhance their skill set.

Please NOTE the Required PREREQUISITES for this course:
- You know how to use a Linux system via the command-line
- At least basic knowledge of 'C' programming.

LINUX SYSTEM PROGRAMMING : Coverage Outline in Brief

  • The Linux OS Architecture: the what and why of modern processor privilege levels, OS system architecture, how the K&R C 'Hello, world' really works, system calls, monolithic kernel, a brief on Ftrace to see what ‘hello, world’ does internally!

  • The LINUX Programming Model: Process Management: process privileges, POSIX Capabilities model (& related security aspects including a brief on the BoF attack vector), process VAS (Virtual Address Space), system calls including the exec family, fork(), wait*() and why they’re needed, concepts of orphans, zombies, and more

  • Signals and Advanced Signal Handling with POSIX sigaction: signals, sigaction() syscall, signal-async safety, signal flags, stack considerations (critical!), real-time signals, handling SIGSEGV correctly, sending signals to processes

  • Multithreading on LINUX with Pthreads: thread concepts, creating & destroying threads, thread joining, the thread stack, thread safety concerns and TLS, thread cancellation; synchronization concepts in detail & using mutexes correctly (includes the Mars Pathfinder and what went wrong on the surface of Mars!); threads & signalling megamix, threads & CPU scheduling (+real-time) in detail

  • IPC: Why it’s required, overview of different Linux IPC mechanisms, understanding & using (unnamed) pipes, dupX() syscalls, named pipes (FIFOs)

  • POSIX IPC mechanisms - an overview of POSIX MQs, semaphores, and shared memory; difference from SysV IPC and how they’re used

  • IPC: Sockets – LINUX Network Programming essentials: networking basics, realistic 4-layer model, sockets and the socket syscalls, writing a socket client/server program, modern way with getaddrinfo() (+ write a TCP/IP concurrent/MT client/server app!); advanced aspects.

All sessions will have code demos, plus hands-on assignments and online quizzes for you.

The cost is indeed very reasonable, and is truly an investment in yourself.

image.png
Thank you,
Kaiwan.

--
You received this message because you are subscribed to the Google Groups "Kernel Meetup Bangalore" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kernel-meetup-ban...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages