『第 5 楼』:
使用 LLM 解释/回答一下
FreeDOS aims to be a complete, free, 100% MS-DOS compatible operating system. FreeDOS was previously known as "Free-DOS" and originally as "PD-DOS." For a little trip down memory lane: In 1994, I was a physics student at the University of Wisconsin-River Falls. Most of my work for school had been done using DOS - writing programs, dialing up to the university computer, network, analysing lab data, etc. I really loved DOS; I did everything with it. I had a '386 desktop system in my dorm room and an XT laptop that I would carry around with me to do work "on the go". I liked the simplicity that DOS offered. As a DOS user, you have the equivalent of 'root' access on your computer. Anything that you want to do on the PC is possible. Nothing is really stopping you, other than hardware limitations. I found that this additional degree of freedom was nice to have, although since I worked in both environments (UNIX and DOS) I tended to write programs that stuck to "safe areas" that worked on both platforms. DOS was great. But that year, there was an announcement that Microsoft would stop support for DOS, that a new version of Windows was going to be released that completely removed DOS from the picture. Of course, this was Windows 95, and it still did have DOS, but at that time we all had the vision that Microsoft was trying to kill our favorite operating system. Everyone was pretty shocked. We didn't want to be forced to use Windows, which completely removes the command line. In DOS, everything is done on the command line, and a true command line "guru" can do amazing things there. In Windows, you are stuck with the mouse, and if the menus don't let you do something, it pretty much can't be done. So things were looking pretty bleak. We were all very upset about Microsoft's decision to ditch the DOS platform. Then, I saw a discussion thread on the DOS groups asking "hey, why doesn't someone write their own free version of DOS?" Remember, this was about three years after Linus Torvalds announced his work on the Linux kernel, and by 1993 Linux had shown that free software can achieve incredible results. So in 1994, the suggestion that we could write our own free version of DOS, and give it away with the source code so others could work with it and improve it, really didn't sound all that far-fetched. Unfortunately, no one seemed to pick up the ball. The idea sort of sat there, waiting. I didn't have much experience in writing C or Assembly programs (most of my analytical work in physics was limited to FORTRAN) but I had written some C programs. So I sat down one weekend and hacked out code for a bunch of DOS file utilities. I posted what I had done to the DOS newsgroups, and announced that I intended to form a group on the Internet to write our own free version of DOS. I took the opportunity to fix some things. There are some things about what Microsoft did with DOS that do irk me. The biggest is that MS-DOS commands lack options, not that there are lots of MS-DOS commands anyway. I wanted to have more powerful tools than what MS-DOS provided me with. So I hacked some of my own. (I wasn't a strong C programmer at the time, so this wasn't very beautiful code.) There were several "beta" pre-release packages of my stuff: 0.10 - contained a few basic utilities, just to get the easy ones out of the way: clear (like CLS), echo, more, rem, type, ver, wait (like Pause) 0.11 - added date, test (some do-nothing test program), time 0.12 - added choose 0.13 - fixes and some cleanup 0.14 - added tee (like UNIX 'tee') 0.15 - added bgc (sets background color), fgc (sets foreground color), man (like UNIX 'man') ... 1.0 - clear replaced by cls, man replaced by help, wait replaced by pause, bgc and fgc moved into cls. Added del, find, reboot, unix2dos. After I'd written over a dozen utilities that replaced MS-DOS commands, and found some public domain source that implemented other functionality, I realized that you could reproduce what MS-DOS does and make it a free software project. So I decided to go for it. discussion thread on comp.os.msdos.misc, -->PD-DOS was announced to the world on June 28, 1994. To cement my ideas, I created a PD-DOS Manifesto. By July 24, 1994, the name of the project had officially changed to "Free-DOS", though the name actually switched around July 16, 1994 (the revision date on the manifesto). It immediately became a popular idea. Within a few weeks, I had several coders from various parts who contacted me, wanted to take on this or that part of the new Free-DOS. Weeks after that, the number had doubled. Within months, I was contacted by Pat Villani, who had already written a functional DOS kernel called DOS/NT, and who was willing to release it under the GNU GPL for us to use! Tim Norman also started work on his version of the Free-DOS command.com, which is the heart of the DOS command line interface. I think the fact that, early on, we had access to a working DOS kernel and command.com really helped get the Free-DOS project in motion. I can't pinpoint exactly when "Free-DOS" became "FreeDOS," but we have called ourselves "FreeDOS" (without the dash) since sometime in early 1996. The name change has become a bit of a FreeDOS myth: Free-DOS had become so popular, that R+D Books agreed to publish a book about Pat Villani's DOS kernel, entitled The FreeDOS Kernel. Popular belief is that Pat's editor thought the dash wouldn't look right on a book cover, so he dropped it! I stopped using the dash between January 31, 1998 and February 15, 1998. Today, FreeDOS is ideal for anyone who wants to bundle a version of DOS without having to pay a royalty for use of DOS. FreeDOS will also work on old hardware, in DOS emulators, and in embedded systems. FreeDOS is also an invaluable resource for people who would like to develop their own operating system. While there are many free operating systems out there, no other free DOS-compatible operating system exists. DOS will be around for quite some time yet. DOS remains a great environment to work in if you are building an embedded system, for example. The operating system is light, so it will run well in a device that doesn't have a lot of memory. You can burn it into ROM, boot from a floppy, or a small micro-drive. There aren't many operating systems that you can find these days that will boot from a floppy, yet still leave you enough room on the disk for your embedded program and maybe some room for data files. The embedded systems market is one of the markets that will keep DOS alive, at least for several years to come. (Exactly how many years that will be is hard to guess. Yoda: "Always changing is the future."<img src="images/smilies/face-wink.png" align="absmiddle" border="0"> Look at some of the alternatives that you have today if you want to build a small embedded device: DOS, Windows CE (and there's a reason they call it "wince"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">, or an embedded Linux (ala Elks). Look at it a little more closely, and you'll see that if space becomes an issue for you, DOS is really the only way to go. Linux and Windows both require too much overhead to build an efficient embedded system. Another thing that will keep DOS around, even behind the scenes, is the PC market. A lot of companies that make computer hardware (disk arrays, video cards, controller cards, etc.) use some kind of BIOS. (This is just an example.) Now, the way of the operating system is to make it free, and for more and more operating systems to become available and popular (right now, looking at my friends and people around the office, we use: Windows 95/98, Windows NT, Linux, FreeBSD, FreeDOS.) The hardware manufacturer may not care exactly what operating system you use. After all, they provide hardware, and others may provide the software drivers that make use of it. At some point, you'll need to provide a patch, and the user will need to flash the BIOS on their device. If you are the hardware manufacturer, how do you distribute a flash update to all your users? Will you provide a different update program for every operating system platform that might be using your hardware? In my quick list, I count five different operating systems. Will you create five different versions of your update program, and provide support on all those platforms (remember also that the Windows NT credo is "thou shalt not touch thy hardware"<img src="images/smilies/face-wink.png" align="absmiddle" border="0">? For a lot of companies, the answer is no. It's a lot simpler if they can give their users a bootable floppy disk that they put into their computer, and the boot floppy automatically flashes the BIOS. Want to help us? First, consider joining the mailing list. If you are a programmer, please also check the software list and see what needs to still be done!
|