Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

huh, sounds like WSL...


It wasn't anything like WSL. WSL runs Linux programs under a different kernel by replicating the syscall interface. This was basically a bootloader (loadlin) and a filesystem driver (umsdos). This was a very different world because DOS was hardly an operating system at all, it was just this tiny thing that installed itself into some interrupt handlers right after BIOS. Loadlin could take over and load a full linux kernel, no different from how grub works today (or LILO before that).


To nitpick a bit

> WSL runs Linux programs under a different kernel by replicating the syscall interface

Only WSLv1 did this. WSL 2 is very boring architecturally, it just runs a full Linux machine in a HyperV VM domain.


> DOS was hardly an operating system at all

Yes, DOS was basically a boot loader and utilities. The EFI shell is modeled the same way, though DOS had fewer address bits available. Netware also used it in this fashion, as a boot loader that may/not initialize hardware.

From memory, the next stage of the OS would simply write itself over DOS in memory, move the instruction pointer and go.


The difference is that WSL either emulates the Linux system call interface (WSL1) or runs Linux on a VM (WSL2); in both cases, the operating system running the machine is still Windows.

With LOADLIN, the Linux kernel completely replaced MS-DOS in memory. To get back to DOS, you had to reboot. Since MS-DOS was a single-task operating system (that is, you weren't normally running anything else at the same time, other than perhaps a few utility TSRs), and it booted quickly (other than the slow memory counting in the BIOS if you had that enabled), that was not a big deal.


I wonder what happened with those TSRs after DOS got kicked out of memory. Was it able to reset the interrupt vectors somehow?


More like dual booting




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: