|
|||||||||||
|
Architecture FAQ [an error occurred while processing this directive] Introduction So you've got a Pocket PC, Handheld PC or Palm-size PC and you want to know more about how Windows CE works on it? This FAQ helps explain what is going on under the covers of your device. What is Windows CE? Windows CE is a newer generation of operating system from Microsoft. It's main goals in the architecture is to run in a small amount of ram, and be able to be suspended and resumed. There are multiple features and components of the operating system. These features include storage, ram, rom, multitasking and real time. I have written a Storage FAQ and a RAM FAQ which details out how Windows CE uses storage and RAM. What is ROM Used For? The ROM (Read Only Memory) of the system is used for multiple purposes. First there is a section to perform a basic loader of the kernel and allow access to the ram and ROM portion of the storage. So some programs are stored in ROM and executed in ROM. This is known as Execute In Place (XIP). Also, the ROM is compressed so the OEM can maximize the amount of programs and data that is stored there. The newer devices uses flash memory for the ROM so they can be upgraded. The current upgrade process requires the user to install a full set of the whole ROM onto the device. It does not allow the user to upgrade selected files in the system. Also, if there is (a need for a patch, the OEM can install an updated file in RAM and it will logically replace the ROM file when required. Multitasking and What It Does for Me? Part of the basic design of Windows CE was that it would be a single user operating system with multitasking. Multitasking means that the operating system is able to run more than one application at a time. In the case of Windows CE, preemptive multitasking occurs. Each application is guaranteed that it will have a time slice to have the opportunity to run. This the same principal that is used in Windows NT, 2000 and XP. As a consequence of this the user is able to see that multiple applications are running at once. For example the user can use Windows Media Player to play a .MP3 file in the background while using another program in the foreground. There are times when having multiple applications running at once causes the foreground application to slow down noticeably. This slowdown is due to the amount of time that the operating system is spending servicing background applications. In these instances, I recommend that users consider performing a soft reset. There is a limit of up to 32 applications running at once because each application requires it's own memory slot. However some systems like the Pocket PC limit the number of applications to attempt to address the performance tradeoff of supporting multitasking. Real Time In Windows CE 3.0, Microsoft changed the amount of time that the kernel of Windows CE switches between applications to 50 milliseconds or less. This change allows the operating system to service functions in nearly real time. By achieving this goal, Windows CE can be used by hardware developers for data acquisition from real time monitors. Also, this has a positive impact on the perceived system performance by end users. When Windows CE is running more than one application at a time, the user sees that the system is very responsive and fluid. This responsiveness is due in part to the reduction in the amount of time it takes to switch between applications. Prior versions of Windows CE took approximately 250 milliseconds to switch between applications so the reduction to 50 milliseconds represents a major reduction in the amount of time the system spends servicing other programs. Conclusion This overview of the Architecture of Windows CE should help you better understand what is going on under the hood of your Pocket PC or Windows CE device. As you can see the Windows CE operating system is sophisticated in it's approach to multitasking and memory management. [an error occurred while processing this directive] |