Mani Ramaswamy and Peter Sollich: Inside Compiler in the Cloud and MDIL

Arun Kishan digs into the low level details of Windows 8's new application model.
How has Process Lifetime Management (PLM) been reimagined in Windows 8? How does app suspension work, exactly, or, what happens when an app is no longer in the foreground and not closed? How much work can you do in the background when an app is suspended? Arun covers several topics here, so please do set aside some quality time. In return, you will gain new levels of deep understanding that will help you take advantage of the Windows Store App platform and build excellent modern Windows applications.
You've met Arun before, so you should be prepared for some very deep treatment of this new world for Windows and Windows developers. This is an excellent 400 level investigation of the core changes that support the new app model.
Huge thanks to Arun for another exceptional conversation and whiteboard session.
Tune in. Learn.
Perfect timing, this is high up on my 'must grok' list. Thank you Charles and Arun.
Great info and effectively presented. A question, how can one monitor all this quota consumption during development/testing in order to have an idea of what the app is consuming and perhaps re-desing the app if needed?
@aljj: A simple way, in terms of, say, memory consumption and cpu usage, is to just use Task Manager in another window (so, if you have two monitors, you can run your app on one and TM on the other). This is quick and easy, but limited in usefulness... Then there's the SysInternals tools (procmon, procexp, for example). For a rather complex WinRT app I've been involved with (mainly testing and debugging), PerfView and WinDbg have proven quite useful as well as ProcDump. XPerf is also your friend.
Hope this helps,
C
Super Valuable Informatioon!
Is there any documentation about it?
Great info!!! Thanks
Thank you for sharing! totally awesome.
How much of this apply to the phone?
@VironPapadopoulos: Not sure about documentation that covers this level of detail. This conversation looks at the new app model from the inside out. For pragmatic developer guidance focused on the API level, http://dev.windows.com is the right place.
C
@ch9 What about "Inside Windows 8 kernel changes" with Arun Kishan like @markrussinovich did back in 2009 about W7? Who will replace Mark?
— Sergei Matiushkin (@sergmat) November 23, 2012
@Charles Has anyone around MS been discussing the appx application model for server applications? With the exceptions of the UI specific stuff all of this work would make for more efficient/secure server applications as well.
@sermat: Glad you asked. There is no replacement for Mark, of course, but I have gone around and filmed conversations with the Windows kernel team (like Arun, for example) and topics include (and will include for upcoming interviews):
Windows 8 Thread Pool (Filmed)
Windows 8 Scheduler (To be filmed)
Windows 8 Heap Manager (Filmed)
Windows 8 Power Management (Filmed)
Windows 8 Desktop Activity Moderator (https://msdn.microsoft.com/en-us/library/windows/desktop/hh848040(v=vs.85).aspx) (Filmed)
Windows 8 Telemetry and Performance (Filmed)
Windows 8 Boot (Filmed)
These will be released on a cadence that isn't going to be as fast as you like, but it's the best we can do...
C
@B3NT: Not sure I understand. The Windows 8 modern client app model is designed to support single-instance application execution and lifetime management (Windows Store apps). You wouldn't want this on a server, nor would you want a limited background process execution model (for the client, limited means battery-optimized... The degree of background processing I asked Arun about isn't really something any app can leverage today (again, for good reason - battery life...), but the core capability is present in Windows 8,).
Can you elaborate?
C
@fabian: WP8 and Windows 8 do share kernel-level code, but not all of the Windows 8 kernel is present in the WP8 OS for hopefully obvious reasons. Beyond that, take a look at this talk from BUILD 2012 about the Windows Phone 8 App Model -> https://channel9.msdn.com/Events/Build/2012/2-013
C
@Charles: Awesome, looking forward to watching all those ... but what about "Going Deep: Inside WinRT XAML"? Or here's an idea, you could do an Expert to Expert with Erik Meijer and someone from the XAML team, and talk about the relation between Reactive Programming and data binding engines such as XAML's ... or you could even try to get Paul Betts on to talk about ReactiveUI ...
@Charles: What about AppContainer ??
And finally you can say the word 'Jupiter' in public now ?
9 hours ago, Charles wrote
There is no replacement for Mark, of course
@carmine007 @ch9 @markrussinovich It is an irreparable loss to the world of Windows Internals
— Sergei Matiushkin (@sergmat) November 24, 2012
9 hours ago, Charles wrote
I have gone around and filmed conversations with the Windows kernel team... it's the best we can do...
@carmine007 @ch9 #Windows8 ThreadPool Scheduler HeapMgr PowerMgnt DesktopActivityModerator TelemetryAndPerformance Boot GREAT JOB! MANY TNX!
— Sergei Matiushkin (@sergmat) November 24, 2012
I hope he was not drove away from WinDiv by Sinofsky.
He has moved to Server & Tools to work on the Azure Kernel (or App Fabric controller) and has been there for a couple of years. He is still performing updates to Sysinternals and releasing books, so he is still there.
Arun is an Architect on the Kernel team and a Technical Fellow in waiting.
OK, what I meant to say was, I hope 'the reason for Mark to left WinDiv and went to Azure' is not about (the aggresiveness, etc of) Sinofsky.
Ah, bad joke.
@felix9: AppContainer is a bit of a misnomer. The kernel name for AppContainer is "lowbox", and all of the security provisions of AppContainer are available to normal apps as well.
In fact, IE10 on the desktop runs as two processes (as it has since IE8); the low "rendering" process which always used to run as "Low-integrity" on Windows Vista and above now runs as "AppContainer" on Windows8, even though the renderer is not an app.
Although not formally exposed and technically subject to change without notice, you can create your own AppContainer processes via ntdll!NtCreateLowBoxToken API, which you can use to create appcontainer protected desktop apps by using it as the user token to advapi32!CreateProcessAsUser.
HTH.
He's senior tech lead for Azure, so he's not really been involved all that much in Win8. http://blogs.technet.com/b/markrussinovich/
Which CPU Scheduling Technique(s) is(are) used in windows 8 OS?
Is there a change in behavior for v.next (blue) or is it the same?
When will "Windows 8 Scheduler" be filmed?