Inside Windows 8: Arun Kishan - Windows App Model

Sign in to queue

Description

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.

Embed

Download

Download this episode

The Discussion

  • User profile image
    tomkirbygre​en

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

  • User profile image
    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? 

  • User profile image
    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,
    C

  • User profile image
    Viron​Papadopoulos

    Super Valuable Informatioon!

    Is there any documentation about it?

  • User profile image
    Rahul

    Great info!!! Thanks

  • User profile image
    fabian

    Thank you for sharing! Smiley totally awesome.

     How much of this apply to the phone?

  • User profile image
    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.
    C

  • User profile image
    sermat
  • User profile image
    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.

  • User profile image
    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...

    C

  • User profile image
    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?

    C

  • User profile image
    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

    C

  • User profile image
    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

  • User profile image
    felix9

    @Charles: What about AppContainer ?? Smiley

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

  • User profile image
    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...

  • User profile image
    felix9

    , Charles wrote

    There is no replacement for Mark, of course

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

  • User profile image
    vesuvius

    , felix9 wrote

    *snip*

    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.

     

  • User profile image
    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.

  • User profile image
    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.

    HTH.

  • User profile image
    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/

  • User profile image
    waqar

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

  • User profile image
    Vish

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

  • User profile image
    Indra

    When will "Windows 8 Scheduler" be filmed?

Add Your 2 Cents