Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows.
The kernel is the very core of an operating system - it's what's actually running the computer, more or less. Operating system typically means the kernel plus the surrounding support applications and libraries available with it.
In so far as Windows is concerned, you've historically had three types of kernels, and thus three general types of Windows:
- The NT kernel, released as part of Windows for Workgroups 3.11 initially, then part of NT 4.0 Workstation/Server, Windows 2000, XP, Vista, 7, and 8/8.1.
- The 9x kernel, released as part of Windows 95, 98, and ME (it may have been part of older Windows releases such as 3.11 and previous)
- The CE kernel, released to device manufacturers as part of a kit to customize for portable and small devices.
Essentially, these are three different operating systems. There are common APIs between the three, so it's possible depending on what APIs are used in your program that you may only need to change little to get an application working, for example, both on 9x and NT. You also may need to change a lot, drop some features, or redevelop your application entirely. One example is that NT supports NTFS (and file permissions) whereas 9x and CE do not.
If you have an existing application you want to run under CE that already runs under NT, you'll need to port it, much as you would have to do to get a Windows application running under Linux or OS X.