FORUMS

Galaxy S6 & Edge get €100 Price Cut—New Models Incoming

Samsung has dropped the price of both the Galaxy S6 and S6 Edge by … more

How To Port Fully Featured Sony Xperia Z4 Camera

Xperia Z4’s hardware may not impress, but its software is definitely … more

Experimental TWRP Available For Moto G 2015

XDA Senior Member squid2 has posted experimental builds of TWRP for the Moto G … more

Sunday Debate: How Can We Get a No-Compromise Phone?

Join us in a fun Sunday Debate on Compromises. Come with your opinions and … more

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

3,305 posts
Thanks Meter: 1,541
 
By Da_G, Moderator Emeritus / Senior Recognized Developer on 21st March 2010, 09:27 AM
Post Reply Subscribe to Thread Email Thread
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 10:18 AM.
 
 
conflipper
22nd March 2010, 06:50 PM |#2  
Guest
Thanks Meter: 0
 
More
Just give me an ARM build of it that is already ported over to run MSM7x00.


Thank you
20th April 2010, 10:20 PM |#3  
Da_G's Avatar
OP Moderator Emeritus / Senior Recognized Developer
Flag Riverside, CA
Thanks Meter: 1,541
 
Donate to Me
More
Bump for visibility
21st April 2010, 02:42 AM |#4  
Senior Member
Thanks Meter: 130
 
More
good bump message too short grrr
26th April 2010, 05:32 AM |#5  
Senior Member
Flag Orlando
Thanks Meter: 75
 
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 05:35 AM.
26th April 2010, 05:41 AM |#6  
Da_G's Avatar
OP Moderator Emeritus / Senior Recognized Developer
Flag Riverside, CA
Thanks Meter: 1,541
 
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, 05:38 PM |#7  
Senior Member
Flag Orlando
Thanks Meter: 75
 
More
Interesting. That's a lot of risk for the WP7 team to take on.
8th May 2010, 08:54 PM |#8  
AdamiX's Avatar
Senior Member
Flag Bratislava
Thanks Meter: 11
 
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, 05:19 AM |#9  
the0ne's Avatar
Senior Member
Flag Melbourne
Thanks Meter: 52
 
More
where do you get this info from.. it does sound interesting

Keep it coming
9th May 2010, 05:24 PM |#10  
Ca5c4d3's Avatar
Senior Member
Flag London
Thanks Meter: 7
 
More
CE7 supports directx 9 acceleration. XNA & SL 4. Do they sound any familiar?
10th May 2010, 04:40 AM |#11  
mlin's Avatar
Senior Member
Thanks Meter: 1,085
 
More
Awesome information! Thanks and keep it coming; I can't wait for WP7 to be released!

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

Advanced Search
Display Modes