FreeDOS
Jim Hall writes: "Newsforge [ed. note: Newsforge and Slashdot are both part of OSDN]
is running an article
about the FreeDOS Project.
If you don't know: FreeDOS aims to be a complete, free, 100% MS-DOS compatible operating system, and is released under the GNU General Public License. It's a good read. From the article: 'But, in the true spirit of Open Source, FreeDOS is not content to be an imitation of the existing technology. ... Open Source talks about freedom to use, but it also means freedom to choose. FreeDOS gives people another choice. If you don't want DOS, try something else. But if DOS might be the key for that special device you are building, check out FreeDOS. It is definitely worth a look.'" We did an interview with Hall two years ago - looks like the project has come a long way since then.
That brings back memories. The article asks, "When was 270MB enough for anything lately?" When I had a 20MB drive on my hand-me-down Leading Edge XT - and that was big. Really though, this is good. I've been watching them for some time, and their project can only become more useful as Microsoft makes sure that it's impossible to get a DOS license. Open source developers are interestingly enough the only people protecting the world from obsolescence. It's a shame Linux isn't really installable in its modern incarnations on any machine older than a 486, but good old minix is still available at http://www.minix.org. Remember, this was Linus' base for linux. Minix, unlike DOS, is already fully TCP/IP ready... there is a good site describing how to get on the internet using an XT and Minix. Also, minix.org reminds me of the way linux.org looked about five years ago, pre-commercialization.
"The site www.freedos.org is running Apache/1.3.22 (Unix) PHP/4.1.1 FrontPage/4.0.4.3 on Linux."
I remember checking this website out awhile ago on one of my random surf-abouts. I'm quite impressed that they've made such progress since then.
offtopic part: It struck me when I visited freedos.org how many open source websites look similar. Then it occurred to me how the effect is a kind of brand recognition. Or, even a catalog of free software. Neat.
Yeah, I think this might not be the best use of development resources, but our school uses OpenDOS for boot disks to reimage machines. It easier to download the free, open licensed versions than to try to find a copy of MS-DOS somewhere. Handy.
Our company still uses DOS for production line control, because there are some great legacy apps, and it is STABLE.
It will interesting to see what the "thousand eyes" does with regards to improving this OS.
If you got a $100 bill, put your hands up...
After over a decade of work, the project has recreated all of the userland DOS applications including COMMAND.COM, XCOPY.EXE, FDISK.EXE, and many more. The powerful .BAT shell language has been cloned. Even enterprise-level development environments such as QBASIC are complete.
However, the goal of creating a new, next-generation DOS kernel remains unfulfilled. Perhaps the bar was set too high. As of now, the system runs on an implementation of IO.SYS written by some Scandinavian college kid.
You know, I can still remember getting my sweaty paws on my first 486dx33 with 4MB RAM, 1MB graphic card and huge 40MB hard-drive. This was a real "power-user" machine when I spent almost 3000 quid on it :-) Since I used to write in nothing but assembler, it was astonishingly fast after my little sinclair ZX spectrum (which did me proud for many years). I remember saving up to double the RAM so that Doom would run better.
:-)
I think my machine came with Win3.1 installed too, but I only ever started it up to laugh at it and watch it crash
It might seem redundant to re-develop DOS, but for games use, it's an excellent OS, since a game will have 100% of the CPU time, all the time! For realtime use too, it beats most modern OS'. I'd imagine it would make a great OS for a SOHO router/firewall, as no-one could login to it from the outside...
Code, Hardware, stuff like that.
Finally, and slashdot story I know everything about :-)
I found the project ~2 years ago, while attempting to
write a DOS extender, and I have been playing with
it ever since.
FreeDOS is only a DOS in that it implements the DOS API,
and does not provide "hardcoded offsets" like commercial DOSes
(for the sane minds, back in DOS, major application
developers disassembled the undocumented kernel
and found what effects of reading/writing/jumping-to
a particular address has on the system. Usually,
those "effects" were interesting features, which
cutting-edge apps made use of.)
FreeDOS does not do that, but it has everything
else DOS had; Think of it like this, it runs SoftIce without a patch or recompilation!
and SICE is a system debugger, that knows way too
much about the kernel.
I tried to hack the kernel by just reading the author's
website -he had an overview of how everything went- but there were no contributing developers.
So dump me (or was it the combination of coffee and teen age?)
I poured on the sources for weeks, without ever
scratching the surface. Then I found "The FreeDOS kernel"
in a second hand store!
Here is where things get interesting. If you ever
hacked DOS, you know what the PSP, UMB, FAT, and
all the other acronyms, which are the hallmarks of poor design and implementation
exposure, are.
Everything is there!
I know Pat is a creative man (I saw his model trains.)
and I know he was targeting the heaps of text
and wetware out there for DOS, but the reimplementation of
everything good and bad about DOS is painfully
ugly.
The chapter on memory management is an example of
this. The memory allocation algorithm is too
complicated for a single tasking OS (sic) just for
the terminology, if not for anything (arenas, banks, segments, overlaying, extending, etc.)
Wait before you point the finger of blame on the
intel architecture. DOS only sees a perfect 16bit
machine, only authors of multi-tasking OSes and
DOS extenders need to worry about memory management
services implemented in the 32-bit part of the
machine.
So all the complexity, is for 16-bits only!
TO spare you the thrill, FreeDOS is an interesting
hackable piece, only if you come from a DOS background.
It could serve as an eye opener for luckier developers
(Java guys I am looking at you.)
Also, for the casual DOS user, it is an excellent
alternative to the realthing (I kid you not, single
tasking is not fun, use sparingly.)
It runs all the important apps, 4DOS, turboC, SoftIce,
several editors, and a host of other well behaving
apps. It even has its own GUI desktop and a web
browser.
Yeah, I built my model railroad controller with an embedded 386 and PC-DOS so I'm a bit biased, but DOS still has its place in today's world.
Oh, and to run a DOS PC without a graphics card, just enter (or put in autoxec.bat) ctty com1:. The serial port will be used as console (use mode to set parameters).
Did you know you can fertilize your lawn with used motor oil?
I'm currently working on a MAME cabinet and when I was first setting up the software I determined that DOS was going to be my best bet (most stable, and I have a lot of DOS experience). It made sense to keep what is essentially going to be an embedded solution as simple as possible...
Anyways, I eventually found my old DOS 6.2 disks (took me the greater part of a week) but one of them had gone bad. After another week I found an image of that disk online and finally was able to get the system running. Of course *after* all of that I find out about FreeDOS and I'm currently in the process of moving everything over to it.
But there's an even bigger benefit! I've had such a good time building this system I'm seriously looking into starting a small business building custom MAME cocktail cabinets (people send the old computers and I do the conversion) and now the only software that I can't legally include with the system is the game ROMs. W00t! I might yet be able to make a business out of this!
A|Q|U|A
The main problem with DOS is that it runs in real-mode, and therefore has a 1mb addressable memory limit.
Aside from this problem, a web server running on DOS could be more scalable than *nix or NT. The reason for this is simple: there would be no operating system overhead. An implementatin that eschewed the kernel paradigm, stayed away from threads and processes, could be able to handle a lot of connections.
So many motherboard bios update utilities require that you boot DOS to run 'em. It would be grand if the bios folks would start making bootable update disks available, with FreeDOS all ready to go so we don't have to try to find a dusty old copy of DOS 5.0 or 3.2 to update the bios on a shiny new P4 motherboard.
If you're a zombie and you know it, bite your friend!
Open Source talks about freedom to use, but it also means freedom to choose. FreeDOS gives people another choice. If you don't want DOS, try something else
Does closed-source software not offer the same merits? I used DR DOS for a while too. PC-DOS also existed. Then there was GEM vs Windows, and later on we had OS/2. Let's not over-exaggerate the virtues of open-source - next we will be claiming, rightly but superflously, that it low in cholesterol!
I installed it on vmware, and it works great !!
but i cant run seal. Any basic vga driver ?
And the best thing, we have tab completion, vim, etc.