Question

I would like to write an IO intensive application with no underlying OS, running on x86 architecture and driving any modern network interface controller.

By having a look to Linux's drivers source code, I know that thousands lines of codes are required to drive, as an example, an Intel e1000e Gigabit controller. I think that such code is quite hard to extract from Linux source code.

Do you know any solution/project providing a way to drive a today's computer (including its NIC), probably by wrapping Linux drivers?

Thanks a lot

Was it helpful?

Solution

You would have to write a driver, and an OS (of sorts) to manage all this. Scheduling, memory management, out of band IO, an IP stack (if you choose to go that route). Why reinvent the wheel? Get a real-time Linux distro, or grab vxworks or QNX - something purpose-built for IO intensive requirements.

OTHER TIPS

UNDI is a universal programming interface for network devices, and should work on all network cards that support PXE (which is basically all of them, these days).

UNDI is designed to run in real (16-bit unprotected) mode, which makes it easy to use without an OS. (Much easier without an OS or with a dumb OS like DOS than within a modern OS, which run in 32- or 64-bit protected mode.)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top