What are the differences between Windows 98 and XP?

OK, XP seems to be much more stable…I hardly ever crash now that I’m on XP. XP is supposed to be based on WindowsNT. But what exactly does that mean? What are the differences (aside from the obvious graphical style differences) between the new operating system and the old one?

What makes XP more stable?
What changes are there behind the scenes?
If you changed from 98 to XP, what should you watch out for?

windows 9x series of OS lacks proper process isolation, and user login. Basicaly memory of one program is not protected from memory of another, this would lead to some program being able to overwrite memory of the operating sytem causing it to crash. Windoes XP kernel is based on NT which was a complete rewrite and redesign of the kernel done with stability and security in mind, this way it would be suitable in business applications and a competitor to unix.

      • The main difference is that Win98 and ME are the last two MS OS’s that allow software to directly access hardware. WinNT, Win2000 and WinXP don’t allow that–so what that means to you is that hardware drivers or software that depends on direct-hardware access and that works fine in Win98/ME won’t work in WinXP.
  • Some examples of things that tended to require hardware access: drivers for parallel-port printers and plotters, and especially piggyback scanners (where the scanner plugs into the parallel-port, and then the printer plugs into the scanner), soundcard drivers for cards with advanced features (Creative in particular) and drivers of many older legacy serial-port devices (I am speaking mainly of business and industrial equipment, such as stand-alone barcode scanners and mini-printers). Plus, any software that needs to use such a driver. --There’s a lot of old business and industrial equipment still in use out there that requires real-DOS mode to run. These computers are dedicated to particular tasks (they aren’t used for normal stuff like surfing and database/office applications, they just run equipment) and they aren’t networked at all and aren’t altered or updated at all once they are set up properly. …So mainly, hardware drivers that don’t have an “XP” option are what will get you.
  • If this makes XP more stable is another matter entirely. Theoretically it should, but if MS wanted to make a more stable OS they would be simplifying it, not making it more complicated. XP has higher “recommended” memory, hard-drive space and CPU speed requirements than any previous MS OS.

Microsoft used to have two main lines of operating systems. The first was the Windows line. Ignoring everything before win95, this would include Windows 95, 98, and ME. The other line was the NT line, which is NT 4.0, Windows 2000, and XP. To give you a clearer idea of what is going on underneath the hood, windows operating systems identify themselves as follows:

Windows 95: windows 4.0
Windows 98: windows 4.1
Windows ME: windows 4.2
Windows NT: NT 4.0
Windows 2000: NT 5.0
Windows XP: NT 5.1

This also helps to put them in perspective with older versions, which used the regular numbering scheme (i.e. windows 3.1).

95, 98, and ME are all designed to be backwards compatible to MS-DOS. They allow DOS programs to do what DOS programs normally do, which is access all of the hardware themselves (since DOS didn’t have drivers, there wasn’t much of a choice, the software had to access the hardware itself).

All of the NT versions take a different approach. The NT versions have what is called a “hardware abstraction layer” aka HAL. NT doesn’t allow software to directly access hardware. Instead the software has to ask HAL to access the hardware for it. This prevents really badly misbehaving programs from doing some major damage to the running environment. HAL is the major thing that prevents a lot of windows and DOS programs from working, because the software thinks it’s trying to access real hardware and HAL only gives them simulated hardware (I’m sorry Dave, but I can’t do that…).

There are two basic things you need to consider. First is that the underlying structure of the operating systems are completely different. Old games will often not run under NT. A lot of DOS software won’t run under NT. Generally speaking, software that runs on Windows (95, 98, and ME) operating systems will run ok on other Windows operating systems, and software running on NT operating systems will work on other NT systems, but you face a larger risk when jumping between product lines.

The second thing to consider is that microsoft very much intentionally will break backwards compatibility if they think they can make the software “better.” This means that the operating system calls that your software uses may work differently between different versions of windows. This can very easily cause a program written to run on NT 4.0 to not run at all under XP, despite the fact that they are both NT versions of windows.

Your largest risks of having something not work are when you jump product lines (between windows and NT) and the larger the version number change (for example, between NT and XP, which is 4.0 to 5.1). 2000 to XP is a relatively safe jump, because it’s really only a minor version change (5.0 to 5.1). Despite the totally different look and feel, XP and 2000 are almost identical underneath the hood.

Later operating systems also use a lot of fancy things to make them look better, like fades between windows and all sorts of little visual tricks that you may not really notice much, but give you the general appearance of it working “better.” This requires more CPU time to do all of these fancy effects, so later versions of windows tend to require much higher CPU speeds just to run the basic desktop.

Thanks for this explanation; I ran up against precisely this problem today (Create-A-Label software has a parallel port dongle, for which I had to install a driver on XP)

A couple notes.

There have been two posts that say that NT OSes don’t allow software to access the hardware. The reference is to user software (applications) that can’t access the hardware. A computer that didn’t allow any software to access the hardware wouldn’t be very special purpose. So the OS, which is software, can of course access the hardware. Also note, that permissions can be given to other programs to have the same rights as the OS to access the hardware.

One important aspect of the “isolation” nature of the NT OSes is that user and file permissions are maintained. So certain users/programs can only do/access certain things. This is a fundamental aspect of using a “real” computer. It’s about time that most people started using an OS that had such features.

      • In theory I’d agree with that–but for two realities:
        ---------first is, most home computers don’t need file permissions, and most software that requires registrations or serial-number enabling thinks every separate account is another user that requires its own full serial number + registration. Even Office 2K did this when I tried WinXP–so you can either only allow one account to use any particular program, or you can only create one user account, or you can use software hacks to defeat registration requirements. Assuming most people don’t know enough to find and use the hacks, the whole “user account” system is either an annoyance, or of no use at all to home users.
        -------The second is, MS screwed up the “user account security” to the point that it is no longer secure. My favorite “feature”: if you switch XP to the “push-button login”, you are required to have a push-button login… for the administrator. :wink:
        Gooooooood job there, boys.

You did something wrong. I don’t know exactly what, but I’ve installed Office on dozens of XP machines and it’s never required multiple serial numbers for multiple users.