Wednesday, August 9, 2006

dos and windows

ok, so most people nowadays look back on dos and they are like, wow, that was lame, or wow, that was primitive. you see, dos used to be the main operating system for ibm and compatible pc’s, until windows 95 came out in 1995. then, for the last 11 years, microsoft has been hell-bent on eradicating dos from existence. but, beyond all the flashy marketing gimmicks about windows being better than dos, what is the real story? what really happened to dos? how many different companies made dos, and how powerful is dos? and how many different versions of windows are out there, anyway?

well, dos was originally a cheap knock-off of an operating system called cp/m, called qdos, short for “quick and dirty operating system”. microsoft bought the rights to qdos, cheap, since it was quite crappy, after all. then for about a decade microsoft and ibm collaborated on dos, both working together on it as a joint project, and packaging and marketing separate versions of microsoft ms-dos and ibm dos, based on the same basic source code. microsoft and ibm were also collaborating on something called os/2 which was designed to be the successor to dos. eventually microsoft and ibm had a major falling out, and completely quit working together, becoming staunch enemies. then things started to get really fucked up. microsoft decided to put all its eggs in one basket with windows, and wanted to kill dos. the last version of dos they released to the public, about a year before windows 95, was ms-dos 6.22.

the secret they don’t want you to know about is that they kept making dos after that. windows 95, 98, and me were all based on ms-dos, just like windows 1.0 thru 3.11. microsoft tried to market windows 95, 98, and me as 32-bit operating systems, but really they were hybrid 16-bit and 32-bit graphical user interfaces running on top of a 16-bit dos backend. windows 95 versions prior to oem service release 2 came with ms-dos 7.00. ms-dos 7.10 came with windows 95 oem service release 2 and all versions of windows 98. and ms-dos 8.00 came with windows me. ms-dos 7.00 introduced long file name (lfn) support, meaning a filename can be more than 8 characters and an extension can be more than 3. ms-dos 7.10 introduced support for the fat32 filesystem, allowing hard drives larger than 2 gigabytes. fat32 supports drives up to 137 gigabytes, in fact. ms-dos 8.00 was the watered down version of dos that came with windows me, the crappy version that they tried to make impossible to even run directly as a command prompt version. if you have windows me, you can still make an ms-dos 8.00 boot disk, from add/remove programs in the control panel. but ms-dos 8.00 is crap, and so is windows me for trying to kill dos, even though windows me at is very core is based on dos, meaning windows me is dead inside. in windows 95 and 98, they expose the dos functionality to the user and allow you to boot into ms-dos mode, so at least those versions have some justification for existing. windows me, on the other hand, completely abandoned any ideas of having backwards compatibility with dos, but they also failed to replace it with anything better, such as the nt kernel.

ok... so far i have not discussed anything too secret. but did you know that there are actually top secret versions of ms-dos the government does not want you to know about? they are classified, for military use only, not for civilians. microsoft actually continued to make ms-dos 6.xx after ms-dos 6.22 was the final public release of a standalone version of ms-dos. there are 3 classified, top secret versions of ms-dos: ms-dos 6.23, ms-dos 6.24, and ms-dos 6.25. very little is publicly known about any of them, except they contain advanced top-secret security features and encryption and are extremely stable and can run for years without crashing, and are in extensive use by the united states military for tactical advantage, against enemies like al qaeda who are so stupid they probably use windows me. these secret versions of ms-dos also supported fat32, just like ms-dos 7.10, but they have other features too. the most advanced dos technology is still being kept out of civilian hands, unfortunately. and civilians are still brainwashed into thinking windows is better than dos... quite untrue if you are talking about embedded systems that do not need a flashy user interface that need to be secure and stable.

and what about windows programs? people might say windows is more advanced than dos because windows can run dos programs but dos cannot run windows programs. well this is simply untrue. the hx dos-extender is a program that has been under development for years and is still being actively developed and enhanced. it allows you to run windows programs from a pure dos command prompt. the government does not want you to know about this, either. it is all a giant conspiracy, obviously. i should mention that wealthy jewish zionist banking agents are behind this, but secretly they are all space aliens from the planet x, also known as x-ists. on x-day, the x-ists will destroy the planet earth. x-day actually happened on july 5, 1998, and the entire planet earth was destroyed, and we were all killed. we are dead right now, and everything going on nowadays is entirely imaginary. we are living in the matrix, which was actually a documentary. okaaaaay... enough bullshit. so the hx dos-extender really does allow you to run windows programs from dos. it is really fucking amazing, especially since the whole program was just written by one guy, and it actually works.

now there are obviously other versions of dos besides the microsoft and ibm versions. the most important versions of dos besides ms-dos and ibm dos are dr-dos, pts-dos, datalight rom-dos, and freedos. dr-dos was for a long time a competitor to ms-dos and ibm dos, back when ms-dos was microsoft’s only operating system. dr-dos was technically superior, and generally much better than ms-dos, but they lacked the marketing savvy of microsoft, and failed to win much market share. eventually, when microsoft killed dos, this got rid of the competition from dr-dos. pts-dos was originally made by phystechsoft, a russian company that is part of russia’s military-industrial complex, with close ties to the russian space agency. it is what the russians use in their military, and what was used on the space station mir, and elsewhere in the russian space program. another company called paragon software, in germany, has developed its own version of pts-dos, which they basically stole from phystechsoft. however, they appear to have gotten away with this scot-free, and avoided any punishment. paragon software actually makes several very useful and high-quality products on their own, so it is a shame they had to resort to theft in this one case. datalight rom-dos is a version of dos developed for embedded systems, namely for everyday small electronic devices that we do not normally think of as computers, but that do have computer chips in them. it is certainly not the most popular operating system for embedded systems, but it has a certain amount of market share, and the company does make a profit. finally, freedos is the dos that was developed by the open-source community, free for anyone to use or look at the source code for, and licensed under the popular gnu gpl license agreement that was written by infamous open-source fanatic richard stallman. freedos is currently under quite active development, even in 2006, which is quite amazing. put that together with the powerful and actively developed hx dos-extender for running windows programs, and who knows what is possible? freedos may put the secret american and russian military versions of dos to shame at some point, if it has not already.

but enough about dos! this post is about both dos and windows, and nowadays, for good or ill, most computers run windows, and most popular programs are for windows. there are 7 different implementations of the windows api. what is the windows api? the windows api, formerly known as the win32 api, is the interface that software programs running within windows use to talk to windows. consistency of the windows api between different versions of windows allows software to run the same in different versions of windows. anybody who can implement the windows api, therefore, is now able to run most any windows program, using their implementation. so, what are the 7 implementations? well, let us go back into history for a bit.

microsoft windows started with version 1.0 a little after ms-dos started. microsoft continued developing windows to run as a dos program, up until windows 3.11 for workgroups, which was its final release as a standalone graphical user interface to run on top of dos. in addition, all versions from 1.0 thru 3.11 were 16-bit programs, with nothing 32-bit whatsoever. a lot of what microsoft did in windows was copied from apple’s macintosh operating system (mac os). this was settled in a lawsuit between apple and microsoft, and microsoft got to continue making windows as a result of the outcome of that lawsuit, although i believe apple did get a significant amount of money from microsoft in exchange for this. anyway, regardless, microsoft and ibm had been working on a project called os/2, which was supposed to be a revolutionary new operating system to replace dos. after microsoft had the big falling-out with ibm, microsoft decided to kill dos, and the very first step in that strategy was to create windows nt. windows nt was based around os/2 rather than dos as the backend, as the kernel, but with the same windows 3.1 graphical user interface. moreover, os/2 had been developed as a fully 32-bit operating system. so while windows nt looked like windows 3.1, windows nt was fully 32-bit, whereas windows 3.1 was fully 16-bit. and windows nt had the os/2 kernel tightly integrated with the graphical user interface, so that the computer would not boot up to a command prompt, but instead go straight into windows. the first version of windows nt, of course, was 3.1, although windows nt 3.1 is completely different from regular windows 3.1. later versions based on the same user interface were windows nt 3.5 and windows nt 3.51. after windows 95 came out, the next windows nt was windows nt 4.0, which looked like windows 95. windows 2000, windows xp, windows 2003, and windows vista are the 4 latest versions of windows nt. windows 2000 is technically called windows nt 5.0, windows xp is windows nt 5.1, windows 2003 is windows nt 5.2, and windows vista is windows nt 6.0. as for windows 9x, windows 95 is technically windows 4.0, windows 98 is windows 4.1, and windows me is windows 4.9. but most people do not know the real version numbers for microsoft windows, only the popular marketing names microsoft uses publicly.

ok, i got kind of off track there, but the point is, there are 7 implementations of the 32-bit windows api, and the first one was windows nt, which started with windows nt 3.1, and the latest version is going to come out early next year, as windows nt 6.0, more popularly known as windows vista. this is the first and best implementation, the one that is most stable, with the least bugs, the one the other 6 all imitate. the second implementation of the windows api was called win32s. win32s was a free add-on component for windows 3.1 and 3.11, which you could download and install, and it added some 32-bit support to windows 3.1x. win32s is called win32s because the s stands for subset; it only implements a subset of the win32 api. this means that most 32-bit windows programs do not work under win32s. win32s came with a demonstration program microsoft specially made to show off how it works; it was a solitaire game called freecell. if you have an old windows 3.1 computer with freecell on it, that is probably the only 32-bit windows program you have, on an otherwise 16-bit dos + windows system. the third implementation of the windows api is windows 9x, namely the windows 95, 98, and me series of operating systems. windows 95, 98, and me, like a windows 3.1 system with win32s, are a hybrid system with both 16-bit and 32-bit components. however, they provide a complete implementation of the win32 api, and not just a subset. for a while, windows 9x was considered the flagship product, the primary implementation of the win32 api, rather than windows nt. however, now, windows nt is restored to being the primary implementation of 32-bit windows, just like it was back when it first started, given the success of windows 2000, xp, 2003, and vista. the fourth implementation of the win32 api is called windows ce, which is a version of windows that microsoft developed to run on small embedded systems, the same type of systems that datalight rom-dos would run on. windows ce is fully 32-bit, like windows nt, but, like win32s, it does not implement 100% of the windows api. there are some things they had to leave out, in order to keep windows ce lean and mean. more recent versions of windows ce have other names, like “windows mobile”, but they are just newer versions of the same product. anyway, that is about it, as far as it goes with microsoft’s official implementations of the 32-bit windows api.

the fifth implementation is the hx dos-extender which i discussed earlier. it allows you to run certain windows programs from dos. and like win32s, it only implements a subset of the windows api, although for different reasons. with the hx dos-extender, the main core files of windows are emulated, but to run a typical program, you also need some .dll files, besides the executable .exe file. the hx dos-extender can use .dll files taken right out of the windows system directory, and essentially you end up filling in the gaps in the hx dos-extender’s implementation of the windows api by stealing files out of microsoft windows and taking advantage of them against their will. the sixth implementation of the windows api is called wine, short for windows emulator. wine is a program that runs on linux, mainly, and it emulates the windows api quite well. it is also incomplete, of course, because no implementation could ever be complete unless it is by microsoft. wine is the most popular 3rd party implementation of the windows api, and many linux geeks use it to run their favorite windows programs, without having to actually use windows as an operating system. finally, the seventh implementation is reactos, a free, open-source alternative to the microsoft windows operating system, licensed under the gnu gpl. reactos aims to be fully compatible with all versions of windows up to xp, although they might update it in the future to implement features from windows vista, if reactos ever gets that far. while reactos has made impressive strides, it is still nowhere near as functional and stable as an actual installation of microsoft windows, and still lacks many important features from windows. hopefully they will finish it up so they can focus on debugging. unfortunately, that could take a very long time, given all the secrecy surrounding internal details of windows, as well as the copyright laws that prevent reactos developers from directly copying anything from windows, requiring them to independently do everything. but someday, reactos could become the #1 operating system on earth, if it ever manages to fulfill the goals set out for the project at the beginning. which would still not be that great an achievement, seeing as the earth was destroyed on july 5, 1998, by space aliens from planet x. just kidding. but for now, i will keep using microsoft windows xp professional, with service pack 2, at least as my primary operating system. but i do plan on dabbling some more into alternative operating systems, to check them out some more. linux is actually a very promising operating system, especially a new type of linux called ubuntu. ubuntu linux is linux for humans. are you a human? then you need ubuntu. it is an african word. although hardly anyone in africa uses ubuntu linux. but it is the next big thing, just so ya know. basically it is easier to use than most other types of linux, and if you compare it to the other linux distributions that are centered around being easy to use, it is technically superior to them, because it is based on debian, and does not try to charge you money for anything. they regularly schedule updates: every 6 months, a new version of ubuntu comes out. and it has an automatic updates thingy just like windows xp. pretty advanced shit, if ya ask me. now 2 types of linux i used to think might be the next big thing were gentoo and knoppix. but gentoo makes you compile everything yourself and is just a big pain in the ass and not very nice for most users. and knoppix is apparently not as good as some newer livecds that have come out from other linux distributions; it is especially bad in terms of how slooooow it is. i would like to experiment with running wine on ubuntu and see if that is anywhere near as good as microsoft windows at running windows programs. i hope that someday soon, wine will be good enough so we can throw our windows cd’s in the garbage and just run linux. or maybe even reactos. and as for dos... just remember, when the military needs something mission-critical, they still turn to dos sometimes, to special top-secret versions of dos not available for civilian use. it would kick so much ass if i could get a copy of that dos, to see what it has in it. the main selling point of dos? it just works, period. and you only run one program at a time, which is nice, if you do not want anything else getting in your way. sometimes multi-tasking and graphical user interfaces are not really what is called for, and it is best to just have a good old-fashioned command prompt and run programs one at a time.

now i have talked about windows emulators, but there are also dos emulators and linux emulators. the most popular dos emulator is called dosbox, and it simulates not only the dos operating system, but the entire computer, including the cpu, the sound card, the video card, everything. or at least everything you need to play a video game designed for dos. and dosbox works from windows, or linux, or whatever other operating system you want to compile it on. another dos emulator, for linux only, is called dosemu, and it is not as good as dosbox. as for linux emulators, there is a program called cygwin that emulates linux on windows. mostly it is used to compile linux programs so they can run on windows, but it can also be used as an emulator of linux, to some extent. there is also another program called cooperative linux that allows you to run an actual copy of linux from within windows, at full speed, without any emulation. so, perhaps you can actually run a windows program within wine within linux within cooperative linux within windows, at the same time you run the same windows program directly in windows on the same computer. and you can compare how fast each of them is. i wonder, which one is faster? ha ha. tis obvious that running it directly in windows is faster. but how much faster? that is the real interesting question. and are there any bugs or problems encountered, running within linux? who knows? i might set this up on my computer to find out. but i have more important things to do. probably.

No comments: