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.
Emil Kako · Apr 27, 2015 at 12:26 pm · 5 comments

Do You Use 4:3 or 16:9 in the Camera App?

Every person has their own method of taking the best photos on their devices, but which aspect ratio is best when taking photos on your smartphone camera? Let us know whether you prefer to use 4:3 or 16:9 and why in the comments below.

DISCUSS
Aamir Siddiqui · Apr 27, 2015 at 11:12 am · 3 comments

The Curious Case Of The Flash Sale

What do the horses in the Xiaomi stable, notably the Mi 3, Mi 4, Redmi 1S, Redmi 2 & Redmi Note 4G have in common with the YU Yureka or the Micromax Canvas Spark, or even the Lenovo A6000 and the A7000? For starters, the mentioned phones are amongst the more value centric Android smartphones, aiming to offer a better deal in terms of specifications and an overall package, than their domestic and foreign competitors in the Indian market. What...

XDA NEWS
Jimmy McGee · Apr 27, 2015 at 06:00 am · 3 comments

3D Printable Mobile Microscope? Nexus 7 Discontinued – XDA TV

The Nexus 7 2013 has been discontinued on the Google Store! That and much more news is covered by Jordan when he reviews all the important stories from this weekend. Included in this weekend's news is the announcement of Xposed 3.0 Alpha 3 and be sure to check out the article talking about the 3D printable microscope for mobile devices. That's not all that's covered in today's video! Jordan talks about the other videos released this week on XDA TV. XDA...

XDA NEWS
Share This