Welcome to the Linux Foundation Forum!

Understanding how linux kernel APIs are designed to do asynchronous concurrent work without futures

I'm a kernel code newbie. I have done a lots of systems programming in user space.

In rust and C++, I have so far used Futures or frameworks like Seastar to perform asynchronous programming.

I would like to understand how linux kernel which I presume is multi-core, handling several interrupts and driving many state machines forward ... how does it do it?

Does linux have it's own asynchronous programming framework like Seastar which allows programmers to do it? Does it have its own task/green-thread framework?

Comments

  • ShuahKhanLF
    ShuahKhanLF Posts: 153
    edited June 2021

    Linux is POSIX compliant. From a quick search, applications using Seastar run on Linux. If you are looking to understand how Linux implements asynch constructs internally, you can refer to the Linux sources and documentation which is part of the sources. If your question is about writing asynch applications on Linux, Seastar works on Linux.

Categories

Upcoming Training