Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

CE7/Windows Phone 7 - The Kernel, Memory Management, etc.

OP Da_G

21st March 2010, 10:27 AM   |  #1  
Da_G's Avatar
OP Moderator Emeritus / Senior Recognized Developer
Flag Riverside, CA
Thanks Meter: 1,533
 
3,298 posts
Join Date:Joined: Aug 2007
Donate to Me
More
Similar to the CE5 kernel that we're used to, the CE7 kernel is a 32 bit OS and runs a 4GB Virtual Address space. Similar to CE5, 2GB is reserved for the kernel and 2GB is reserved for user space.

This is where it begins to differ. CE5 handled the user space by splitting the process memory up into 32 slots of 32MB each. (This accounts for 1GB of user space, the rest is used for memory mapped files, fixed up modules, etc.) Any app currently in the foreground was swapped into slot 0 during execution, and swapped back into it's slot while it's backgrounded.

CE7 similarly uses 1GB for the process code, however now it's handled differently. 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 should allow for much more rich apps to be developed (whenever MSFT decides to allow us to write native code, which is coming at some point...)

This 1GB VM space will be dedicated to the process, and not accessible by any other process. The remaining 1GB of user space has to be utilized for inter-process memory sharing.

There are 256 priority levels as with CE5, for each individual thread within an app. 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 MSFT 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.

Regarding the limited APIs available to us "normal" programmers - OEMs and MOs will have access to an extended set of Managed APIs and a limited set of Native APIs that "normal" programmers won't get access to. This likely includes things like RIL.
Last edited by Da_G; 21st March 2010 at 11:18 AM.
conflipper
22nd March 2010, 07:50 PM   |  #2  
Guest
Thanks Meter: 0
 
n/a posts
Just give me an ARM build of it that is already ported over to run MSM7x00.


Thank you
20th April 2010, 11:20 PM   |  #3  
Da_G's Avatar
OP Moderator Emeritus / Senior Recognized Developer
Flag Riverside, CA
Thanks Meter: 1,533
 
3,298 posts
Join Date:Joined: Aug 2007
Donate to Me
More
Bump for visibility
21st April 2010, 03:42 AM   |  #4  
Senior Member
Thanks Meter: 118
 
1,918 posts
Join Date:Joined: Jun 2007
good bump message too short grrr
26th April 2010, 06:32 AM   |  #5  
Senior Member
Flag Orlando
Thanks Meter: 26
 
997 posts
Join Date:Joined: Apr 2006
More
Quote:
Originally Posted by Da_G

Similar to the CE5 kernel that we're used to, the CE7 kernel is a 32 bit OS and runs a 4GB Virtual Address space. Similar to CE5, 2GB is reserved for the kernel and 2GB is reserved for user space.

Are you sure it's CE7 and not CE6? Tweakers.net (which appears to have received the same docs you have) says it's 6 and 6 makes much more sense to me being that CE7 hasn't RTM'd yet.
Last edited by RustyGrom; 26th April 2010 at 06:35 AM.
26th April 2010, 06:41 AM   |  #6  
Da_G's Avatar
OP Moderator Emeritus / Senior Recognized Developer
Flag Riverside, CA
Thanks Meter: 1,533
 
3,298 posts
Join Date:Joined: Aug 2007
Donate to Me
More
Yes, i'm sure it's CE7. The docs do in fact say CE6 but the docs are dated, things move fast, and that's no longer the case

CE7 "Chelan" will likely RTM around the same time WP7 does.
26th April 2010, 06:38 PM   |  #7  
Senior Member
Flag Orlando
Thanks Meter: 26
 
997 posts
Join Date:Joined: Apr 2006
More
Interesting. That's a lot of risk for the WP7 team to take on.
8th May 2010, 09:54 PM   |  #8  
AdamiX's Avatar
Senior Member
Flag Bratislava
Thanks Meter: 11
 
402 posts
Join Date:Joined: May 2009
More
Windows 7, Windows Phone 7, so CE must be 7

What do u mean by "much more rich apps". 3D Games or what? I think that aplications on WM 6.5.5 are good and fast. Can u explain that rich applications?
9th May 2010, 06:19 AM   |  #9  
the0ne's Avatar
Senior Member
Flag Melbourne
Thanks Meter: 52
 
843 posts
Join Date:Joined: Jan 2007
More
where do you get this info from.. it does sound interesting

Keep it coming
9th May 2010, 06:24 PM   |  #10  
Ca5c4d3's Avatar
Senior Member
Flag London
Thanks Meter: 7
 
132 posts
Join Date:Joined: Apr 2007
More
CE7 supports directx 9 acceleration. XNA & SL 4. Do they sound any familiar?

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes