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

What's interesting is that it seems to still be much less performant on very small systems than "commercial DOS".

I have a kit-built machine with an 8MHz 8088-class CPU, and FreeDOS is much slower to boot than PC DOS 2000 (the final mainstream MS/PC DOS release). When I used it years ago on 486-class machines (distraction0-free laptops) the gap didn't seem so wide.

Pity DR-DOS seems to have disappeared into the ether. It was a competent choice to, and I know there was a point where you could get a source distribution for embedded purposes, so you'd expect that the next logical step would have been crowdfunding a source buyout.



I'm not all that surprised by freedos booting slower actually. It tends to be significantly more feature rich than the DOSes of the day, and as a result tends to be quite heavy for the 16-bit machines.

My main wish for it would be serial console support. I have "old" industrial boards (386EX, 512K of non-expandable RAM, 8-bit bus, but made in '02). It has a BIOS and an in-ROM variant of DOS by a company called General Software. It has no built-in video hardware and uses a serial console by default.


> My main wish for it would be serial console support

FreeDOS doesn't work if you put:

  ctty com1 
in your autoexec.bat?

Seems to be supported: http://wiki.freedos.org/wiki/index.php/Ctty

Perhaps you need to modify the installer disk with that option, or install FreeDOS to disk on another system first?


I installed FreeDOS with a video card installed, added the ctty entry in autoexec.bat, powered down, and removed the graphics card.

The FreeDOS kernel messages came out at boot (over serial), but when it got to command.com, it just started printing '.' characters to my serial console. To be fair, I really didn't spend much time debugging.


Just speculating, but I think the reason for this is that MS-DOS was originally written on 4.77Mhz 8088 machines, both the OS itself and the core utilities, in assembly language. I know from my own experience that it's actually a perfectly fine platform, and you can write performant software that does simple things well. But if you take software written 15-20 years later, on much much faster 386/486/Pentium class machines in C and put it on those early boxes... Well, it's unsurprising it's not going to be performant on 8088s unless that was a specific goal that would absorb a lot of special effort.


>But if you take software written 15-20 years later, on much much faster 386/486/Pentium class machines in C and put it on those early boxes...

Just for the sake of perspective:

15 years later, you had NT 3.51 running on pentiums with NT 4.0 coming just around the corner and Windows 95 had already been out for a year.

20 years later Windows XP was released and MS held an event celebrating the end of MS-DOS

Even ten years later, you had Windows 3.1 running on 486s and OS/2 2.0 was a year away from release.

So the 8088 and assembly window was really, really small. And people were over dos by the time Windows 3.0 was released (1990 -nine years after the first IBM PC)


> So the 8088 and assembly window was really, really small

It really wasn't. Ten years later you could walk into a shop and still purchase an XT-class system. It ran WordPerfect (written in asm) just fine. Newer stuff had come out, but it was always more expensive. It wasn't until Windows 3.1 took off circa 1992ish that PC hardware started getting faster and cheaper very rapidly.

> And people were over dos by the time Windows 3.0 was released

As a practical matter, Windows 3.x required a lot of DOS configuration. It really wasn't until Windows 95 you could mostly ignore it.


In the original article the author talks of posting a statement of intent in 1994 (13 years after the IPM-PC's debut) and kind of skips over the the next 12 years in a couple of paragraphs, getting to 2006 (25 years after the IBM-PC debut) and FreeDOS V1.0. I was referring to the time FreeDOS was written vs the time MS-DOS was written so I think my 15-20 years range was reasonably accurate.

It did take a while for the PC revolution to really pick up speed. The 1981 genesis involved a floppy only machine. The 1983 PC-XT was the practical workhorse that changed everything. The 1984 PC-AT was insanely expensive originally and the average knowledge worker could well have skipped straight to a 386 machine in the late 80s at which point the dramatic speed increases year on year became the norm for a while. Many people continued using MS-DOS alone into the 90s, I know I did. Windows prior to V3.1 was impractical and nobody used it. Windows 3.1 was a successful product and a good experience if you had a really powerful machine. Windows 95 in, that's right 1995, was the real beginning of the end of MS-DOS alone as a mass market office workers' operating system. I would put the golden years of MS-DOS software targeted primarily at 8088 8/16 bit CPUs (in some ways the 8088 had 8 bit hardware and the comparitively uncommon 8086 was the real 16 bit CPU) as 1983-1988. By 1988 much more powerful 32 bit machines were affordable and becoming ubiquitous, but for a while they were mainly used to run 16 bit software much faster.

By 1994 when FreeDOS got underway, 8088 machines were not worth targeting and I'm not surprised FreeDOS doesn't work as well as MS-DOS on them, as I already stated.


Correction; Windows 3.1 wasn't released until 1992 -eleven years later. So it would have been Windows 3.0 (probably in Standard or Enhanced mode) people were running in 1991.


Yes, pure assembler for the early versions of MS-DOS (and its precursors).

Microsoft has open-sourced them:

https://github.com/microsoft/MS-DOS


Late versions of MS-DOS are also full of assembly langage. Hell even QBasic and QuickBasic were written in assembly IIRC. There were a few tools in C though I don't really remember which ones; but the vast majority of the OS stayed written in assembly language.


> PC DOS 2000 (the final mainstream MS/PC DOS release).

FSVO "mainstream". IBM released PC DOS 7.1 (with full FAT32 and LBA support) as a free download as part of its Server Guide Scripting Toolkit.

It can readily be combined with the rest of PC DOS 2000 to yield a complete OS, comparable to "MS-DOS 7.1" extracted from Win98SE.

I have described how to do this on my blog:

https://liam-on-linux.livejournal.com/59703.html

> Pity DR-DOS seems to have disappeared into the ether.

It is still around, but Udo Kuhnt has, sadly, given up the Enhanced DR OpenDOS project.

The boot floppies on archiveos.org are defective. I have fixed them, and posted disk images of them on my blog, too.

https://liam-on-linux.livejournal.com/58013.html

> It was a competent choice to, and I know there was a point where you could get a

> source distribution for embedded purposes, so you'd expect that the next logical step

> would have been crowdfunding a source buyout.

Strongly agreed. :-/


My "Mainstream" was "It came as a shrink-wrapped bundle that had an instruction manual and CD, when I bought it at a computer swap meet ages ago." :) This makes me think it was actually targeted for some market intending to be used as a standalone OS.

Mine didn't have a box, just the bundle wrapped, so I wonder if the use case was similar to how some OEMs ship FreeDOS for the "it has an OS for contractual reasons" purpose. You don't need a box if it's being slipped in the system packaging.


Ah, OK, that makes sense, then.

As a counter-example:

DR-DOS from Caldera or Lineo made it to v7.03, I think.

Versions 7.04 through to 7.07 were finished, released and sold, but only as OEM products, bundled on bootable floppies containing Ontrack and Seagate hard disk toolkits, in Nero Burning ROM's bootable floppies and so on. (I suspect also in virus scanners, disk-imaging products, backup tools, etc.) Just the boot file(s) and COMMAND.COM.

Given that a bootable diskette containing a disk manager was included with probably hundreds of thousands to millions of EIDE hard disks at the end of the 1990s... it's quite possible that more copies were ever shipped that way than were sold as standalone retail products.

(Arguably, but IMHO: sad to say.)

So by any reasonable definition, the "mainstream" version of DR-DOS might be the one bundled on maybe millions of bootable diskettes, and not the boxed product.

I have no idea how many copied of PC DOS 7.1 IBM has distributed this way, and I bet it hasn't either.

But I take your point, and I accept it. I just have a slightly different definition myself. :-)



> I have a kit-built machine with an 8MHz 8088-class CPU

Would you mind sharing details? I am curious. Is this a modern kit made from mostly new parts that is available to purchase?


It's the EMM Computers board (www.homebrew8088.com). It's a little nicer than the PC-Retro because it has some concessions to modernity (PS/2 compatible keyboard port, ATX power connector and mounting design, uses a USB flash drive as boot medium) but there are some "work in progress" aspects (In the last few months, it's gone through a few hardware changes to make the speaker work and to support DMA) so there may be some compatibility holes.


Break out the soldering iron, Johnson, we have a clone to build!

http://www.mtmscientific.com/pc-retro.html


> crowdfunding a source buyout

Which could actually have been possible at one point, for the low price of $25,000: http://web.archive.org/web/20101011141137/http://www.drdos.c...


Vanilla FreeDOS loads up too much stuff. You can strip it a lot.

Google/DDG some FreeDOS distros for 8086, which are many times slimmer than the former FreeDOS.

https://svardos.osdn.io/

Have fun.


Boot time is not a good measure of performance.


Not for a data center server, no, but for an appliance it could be.


You can open a bug report or post your findings to the mailing list.




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

Search: