5,595,691 Members 44,174 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
Da_G
Old
(Last edited by Da_G; 21st March 2010 at 10:18 AM.)
#1  
Da_G's Avatar
Senior Mod/ Senior Recognized Developer - OP
Thanks Meter 1503
Posts: 3,275
Join Date: Aug 2007
Location: Riverside, CA

 
DONATE TO ME
Default CE7/Windows Phone 7 - The Kernel, Memory Management, etc.

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.
Support my work! The more phones I can get my hands on the more ROM goodness I can churn out. Like BUTTAH

conflipper Old
#2  
Guest
Thanks Meter
Posts: n/a
Just give me an ARM build of it that is already ported over to run MSM7x00.


Thank you
 
Da_G
Old
#3  
Da_G's Avatar
Senior Mod/ Senior Recognized Developer - OP
Thanks Meter 1503
Posts: 3,275
Join Date: Aug 2007
Location: Riverside, CA

 
DONATE TO ME
Bump for visibility
Support my work! The more phones I can get my hands on the more ROM goodness I can churn out. Like BUTTAH

 
domineus
Old
#4  
Senior Member
Thanks Meter 114
Posts: 1,903
Join Date: Jun 2007
good bump message too short grrr
 
RustyGrom
Old
(Last edited by RustyGrom; 26th April 2010 at 05:35 AM.)
#5  
Senior Member
Thanks Meter 26
Posts: 997
Join Date: Apr 2006
Location: Orlando
Quote:
Originally Posted by Da_G View Post
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.
 
Da_G
Old
#6  
Da_G's Avatar
Senior Mod/ Senior Recognized Developer - OP
Thanks Meter 1503
Posts: 3,275
Join Date: Aug 2007
Location: Riverside, CA

 
DONATE TO ME
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.
Support my work! The more phones I can get my hands on the more ROM goodness I can churn out. Like BUTTAH

 
RustyGrom
Old
#7  
Senior Member
Thanks Meter 26
Posts: 997
Join Date: Apr 2006
Location: Orlando
Interesting. That's a lot of risk for the WP7 team to take on.
 
AdamiX
Old
#8  
AdamiX's Avatar
Senior Member
Thanks Meter 11
Posts: 402
Join Date: May 2009
Location: Bratislava
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?
Klikni><Click
hTC Desire HD, 7 PRO, Wildfire, Touch PRO & HD owner.
Running EnergyROM on Windows Phones, RCMix3d Runny with Sense 3.5 on Desire HD and stock ROM on Wildfire. HTC 7 PRO runs stock WP7.8. HTC One X is gone

Current phone - HTC ONE
 
the0ne
Old
#9  
the0ne's Avatar
Senior Member
Thanks Meter 51
Posts: 843
Join Date: Jan 2007
Location: Melbourne
where do you get this info from.. it does sound interesting

Keep it coming
---

Windows Phone Apps || Windows Phone Games --- want to review apps and game for windows phone and get paid for it ? Get it touch



---
 
Ca5c4d3
Old
#10  
Ca5c4d3's Avatar
Senior Member
Thanks Meter 7
Posts: 131
Join Date: Apr 2007
Location: London
CE7 supports directx 9 acceleration. XNA & SL 4. Do they sound any familiar?
  • HTC Radar
  • Nokia Lumia 800
  • HTC 8X

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


XDA PORTAL POSTS

Google Glass XE16 Update Factory Image and Rooted Bootloader Now Available

You may recall that early yesterday, we talked about the XE16 … more

Add Swipe Utilities to Your App with SimpleFingerGestures Library

Gestures have become an increasingly important element in smartphone UI … more

Android App Review: Lock it Down with Lockdown Pro – XDA Developer TV

Our smartphones are our lives. They store our contacts, emails, … more