Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

DUGL Player 1.0 Alpha1 - DOS SMP (Announce)

posted by mceric, Germany, 01.03.2026, 12:27

Hi! Thanks for working on DUGL :-)

> yes SMP with DOS isn't easy, as we need to make DOS kernel threading
> aware/reentrant, but a first SMP impementation that just use the other
> cores, and save the state of MMX, XMM registers on thread switch and with
> the constraint to never call DOS/BIOS functions outside a single thread.
> should be doable. let's see.

I agree that avoiding parallel calls to the kernel is a good solution for now. There even were games or demoscene demos which just loaded all data before switching to protected mode, so they needed no DOS extender to call the kernel from protected mode.

The kernel already has the InDOS flag which helps you to avoid calling it while it already is busy. And It is okay to lock the kernel to the first CPU core.

If you want to handle multiple parallel kernel calls, you can use the same strategy as Windows 3.x in 386enh mode and swap all swappable data of the kernel to create relatively independent instances of the running kernel. It used that to be able to run multiple DOS windows seemingly in parallel. You would have to use a very modern WfW 3.11 compatible FreeDOS kernel version.

Of course multi-core DOS could be made arbitrarily complex - there already are Jack's UDMA drivers for SATA, but modern disks and SSD support multithreaded I/O with several transactions being active at the same time. I do NOT think that a DOS kernel should try to do this.

---
FreeDOS / DOSEMU2 / ...

 

Complete thread:

Back to the forum
Board view  Mix view
23231 Postings in 2189 Threads, 405 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum