Today s Windows Platforms

[Previous] [Next]

Currently Microsoft ships three different operating system kernels. Each kernel is optimized for a particular computing scenario. Microsoft is trying to lure software developers to Windows by stating that each platform offers the same application programming interface (API). This simply means that when you learn how to write a Windows application for one kernel, you know how to write a Windows application for any of the kernels.

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.

The Windows 2000 Kernel

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):

  • It is designed to run as a workstation, server, or data center.
  • The system is robust, which prevents a poorly written application from crashing the system.
  • The system is secure, which prevents unauthorized access to resources (such as files and printers) managed by the system.
  • The tools and utilities used to manage the system are very rich for the administrators within an organization.
  • The kernel is mostly written in C and C++, which makes the system easily portable to other CPU architectures.
  • The system natively supports Unicode, which makes localization and working with international languages easy.
  • The memory-management features offer extremely rich capabilities and high efficiency.
  • Structured exception handling (SEH) features allow for easy error recovery.
  • Dynamic-Link Libraries (DLLs) allow for easy extensibility.
  • Multithreading and support for multiple processors offer easy scalability to improve performance.
  • File system features offer great ways of tracking how users manipulate data on their machines.

The Windows 98 Kernel

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 uniprocessor kernel (which restricts its ability to scale), and it does not offer the same degree of Unicode support.

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 years (if that) left in it.

Why does the Windows 98 kernel exist at all? The answer is that Windows 98 is more end user-friendly than Windows 2000. Consumers don't like to log on to their computers, they don't like to administer their computers, and so on. Plus, consumers (arguably) tend to play games more than corporate employees do. Many older games tend to access hardware directly, which can crash the machine. Windows 2000—a robust operating system kernel—doesn't allow this. Any application that attempts direct hardware access on Windows 2000 is immediately terminated with no ill effect on the machine or other applications.

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.

The Windows CE Kernel

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 specifically cover Windows CE in this book, many of the concepts discussed throughout apply to this platform. Differences that do exist are usually due to the limitations Windows CE has on the various functions. The material presented in this book should be thought of as a companion to any additional information regarding Windows CE.



Programming Applications for Microsoft Windows
Programming Applications for Microsoft Windows (Microsoft Programming Series)
ISBN: 1572319968
EAN: 2147483647
Year: 1999
Pages: 193

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net