Currently Microsoft ships three different operating system
Since this book explains how to write applications using the Windows API, whatever you learn from this book applies—theoretically—to all the kernels. In reality, the kernels are different and so the operating system's functions are implemented in different ways. This means that the underlying concepts are the same for the different kernels, but the details might vary.
Let me start by introducing the three different Windows kernels.
Windows 2000 is Microsoft's high-end operating system. It has a long shopping list of features. Here are some of them (in no particular order):
Windows 98 is Microsoft's consumer-oriented operating system kernel. It has many of the features of Windows 2000 but it is missing some of the key features. For example, Windows 98 is not robust (an application can crash the system), it is not secure, it is a
Microsoft's goal is to kill off the Windows 98 kernel. This is because the Windows 98 kernel does not offer the features of the Windows 2000 kernel, and changing the Windows 98 kernel to support these features is too difficult. Plus, if they did modify the kernel to support these features, the kernel would match the Windows 2000 kernel anyway. So the Windows 2000 kernel should be with us for a long time, and the Windows 98 kernel has just a few
Why does the Windows 98 kernel exist at all? The answer is that Windows 98 is more end
For these reasons, Windows 98 is still with us, and the consumer market for it is quite large. Microsoft is actively working on making Windows 2000 more end user-friendly, and a version of the Windows 2000 kernel will soon be available for the consumer market. Because the Windows 2000 and Windows 98 kernels have similar feature sets, and because both kernels have a huge installed base, I have decided to concentrate on these two kernels in this book.
Throughout the book, I discuss various Windows features. Where appropriate, I have placed notes with kernel-specific icons in the text—as shown here—to draw attention to implementation details particular to one kernel or the other.
Windows 98
This is an implementation detail specific to the Windows 98 platform.
Windows 2000
This is an implementation detail specific to the Windows 2000 platform.
Even though I don't explicitly mention Windows 95 in this book, the information that I present for Windows 98 applies equally well to Windows 95 since both operating systems use the exact same kernel. I simply refer to Windows 98 in the book—rather than always mentioning both Windows 95 and Windows 98—to allow for a more readable text.
Windows CE is Microsoft's most recent Windows kernel. This new operating system was created to fit the needs of small hardware devices such as handheld computers, auto PCs, smart terminals, toasters, microwave ovens, and vending machines. These devices typically must use a minimal amount of power, have small amounts of memory, and have little (if any) persistent storage (such as a disk drive). Because of these hardware restrictions, Microsoft was forced to create a new operating system kernel that had a smaller footprint than that of either Windows 2000 or Windows 98.
Amazingly enough, Windows CE is quite powerful and offers many features. Since Windows CE machines are geared toward the individual, the kernel does not need a lot of support for administration, scalability, and so on. Although I don't