ElCondor · May 8, 2010 at 03:13 pm

Windows Phone 7 Facts: Maybe Much Better and Rich Apps!

This is part 3 of the Windows Phone 7 Facts series. In the following weeks, we will be covering the more technical side of the currently unreleased Windows Phone 7 OS by Microsoft. In the previous article, we talked about how the new OS will affect us ROM cookers, and how ROMs are being deployed.

All information is based on exclusive information from XDA-Developers.com member and moderator Da_G. There will be some more changes to the way we were working with Windows Mobile. In this article, we will dive deeper into how the hardware collaborates with the software. We will compare the CE5 kernel (used on WM6.X platforms) to the CE7 kernel which will be used on the new WP7 devices. Both kernels are 32 bit, and both use a 4GB Virtual Address Space, which is split into 2GB reserved for the kernel and 2GB for user space, but that’s where it’s going to differ:

CE5

The running application shows up in red.

The CE5 kernel handles the 2GB of User Space differently from the way CE7 does. The 2GB space is split into 2 parts:

  1. User Space.
  2. Memory mapped files, Modules, etc.

The User Space is where it’s going to differ. In CE5, it’s divided into 32 slots of each 32MB (together 1024MB). A process, such as a program, is loaded into a slot when it’s running in background. During execution, so when the application is running, it’s swapped into Slot 0. This means that every program can only use 32 of Virtual Memory (VM). CE7 however will handle that differently:

CE7

The running application shows up in red.

The User Space in CE7 will not be divided any further, you get 1GB of VM. The huge advantage of this is that an application can use the full 1GB of VM to run.

Originally posted by Da_G

Each running process is mapped to the entire 1GB space, allowing the full 1GB of VM available for use without the trickery needed to accomplish using more than 32MB of VM in CE5.

This means that CE7, and thus Windows Phone 7, should allow much more rich programs to be developed. Requirement for this however is Microsoft’s allowance to us to write Native Code. According to Da_G, this will be coming at some point.

Other inter-process memory sharing, needed for Multitasking, will be done in the other 1GB of user space. This user space will be divided into 256 ‘priority levels’, for each individual thread within an application:

Scheduling is handled on a round-robin basis for threads sharing the same priority level. Priority level 0 functions as a “real time” priority level and any thread running at this level will run through til completion before the scheduler runs another thread. True multitasking will not be accessible to programmers initially, though Microsoft intends to unlock that later down the line (presumably around the time native code is allowed). There is no hard limit to the number of threads a program can utilize, it is only limited by the system resources available.

This means that there will be multitasking, but it could take some time.

In short: I think and hope that there will be much more rich apps, because of the huge size of Virtual Memory available. However this won’t be accessible until Microsoft supports Native Code for third parties.

We hope you found this informative, I think it’s pretty interesting how everything works. It also shows how difficult it is to create a new fresh kernel.

View the original thread for additional information, you can also ask questions to Da_G in that thread.


_________
Want something on the XDA Portal? Send us a tip!

ElCondor

ElCondor is an editor on XDA-Developers, the largest community for Android users. View ElCondor's posts and articles here.
Jimmy McGee · Mar 31, 2015 at 07:00 am · no comments

Fix Lollipop Memory Leak – XDA Xposed Tuesday

Unfortunately there was a memory leak in Android 5.0.x Lollipop. Thankfully it was fixed in Android 5.1. However, at the time of this video Xposed Framework doesn’t have Android 5.1 support. So you are faced with a choice of fixing the memory leak or running your Xposed Modules. Or are you? In this episode of XDA Xposed Tuesday, XDA TV Producer TK reviews an Xposed Module that adds the Android 5.1 memory fix to pre 5.1 Lollipop devices. The module...

XDA NEWS
Mario Tomás Serrafero · Mar 30, 2015 at 11:00 pm · 2 comments

Would The LG G4 Fare Well With The Snapdragon 808?

The LG G4 has a lot to prove, given that last year’s LG G3 was among the best smartphones of 2014. The Global Mobile Awards given out during the time of MWC 2015 named it the Smartphone of The Year (SOTY?) alongside the iPhone 6, and at the time of its release it packed the very best in Android specifications, from the powerful Snapdragon 801 to the class-leading 1440p display. The camera, battery life and feature set were also deemed...

XDA NEWS
GermainZ · Mar 30, 2015 at 02:41 pm · 3 comments

DexPatcher: Patch Android APKs Using Java

You've probably seen or installed modified applications, be it a patched dialer for your resolution or a custom WhatsApp version with added features. How do developers do that, though? A lot of the time, the applications' source code isn't even available, so how does it all work? We'll see that first, then take a look at a new tool that aims to make the process much easier, and finally compare it to the popular Xposed framework to see how they...

XDA NEWS
Share This