Going Deep

Inside Windows 8: Arun Kishan - Windows App Model

Download this episode

Download Video


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.



Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • tomkirbygre​en

      Perfect timing, this is high up on my 'must grok' list. Thank you Charles and Arun.

    • aljj

      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? 

    • Charles

      @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,

    • Viron​Papadopoulos

      Super Valuable Informatioon!

      Is there any documentation about it?

    • Rahul

      Great info!!! Thanks

    • fabian

      Thank you for sharing! Smiley totally awesome.

       How much of this apply to the phone?

    • Charles

      @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.

    • sermat
    • B3NT

      @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.

    • Charles

      @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 (http://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...


    • Charles

      @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?


    • Charles

      @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 -> http://channel9.msdn.com/Events/Build/2012/2-013


    • contextfree`

      @Charles: Awesome, looking forward to watching all those ... but what about "Going Deep: Inside WinRT XAML"? Smiley 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 ... Smiley

    • felix9

      @Charles: What about AppContainer ?? Smiley

      And finally you can say the word 'Jupiter' in public now ? Tongue Out

    • sermat

      , Charles wrote

      There is no replacement for Mark, of course


      , Charles wrote

      I have gone around and filmed conversations with the Windows kernel team... it's the best we can do...

    • felix9

      , Charles wrote

      There is no replacement for Mark, of course

      I hope he was not drove away from WinDiv by Sinofsky. Devil Devil

    • vesuvius

      , felix9 wrote


      I hope he was not drove away from WinDiv by Sinofsky. Devil Devil

      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.


    • felix9

      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.

    • evildictait​or

      @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.


    • evildictait​or

      , felix9 wrote

      I hope [Mark Russinovich] was not drove away from WinDiv by Sinofsky. Devil Devil

      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/

    • waqar

      Which CPU Scheduling Technique(s) is(are) used in windows 8 OS?

    • Vish

      Is there a change in behavior for v.next (blue) or is it the same?

    • Indra

      When will "Windows 8 Scheduler" be filmed?

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.