Coffeehouse Thread

7 posts

Some more info on Redhawk in Windows 8

Back to Forum: Coffeehouse
  • felix9

    Well, we have known that 'Microsoft Windows Redhawk' made a modest debut in Windows 8, there are slr100.dll and wcl*.dll, and they are use by two Windows component: PowerWmiProvier.dll and whealogr.dll. Although the functionality of wcl libraries are very limited and specific, the base runtime (clr) 'slr100.dll' and base library (bcl) 'wcl.dll' are still quite interesting.

    One good thing about Windows 8 CP is that Microsoft symbol servers have PDBs for the dlls, and you can download them too http://msdn.microsoft.com/en-us/windows/hardware/gg463028, PDBs are quite informative to understand some internals of a library, so I extracted some info using Dia2Dump and DumpBin, pasted here:

    SLR100.PDB publics & modules http://pastebin.com/Gpjtsb98
    WCL.PDB publics & modules http://pastebin.com/ziXwq9za
    WCL.DLL exports http://pastebin.com/Pm6G3asK

    as we can see, slr100 basically contains the execution engine and two garbage collectors, WKS and SVR, and it is designed to be run on just MinWin.

    0002 c:\redhawk-win8\rh_min\ndp\rh\src\slr\minwin\objr\i386\dllmain.obj
    0029 objr\i386\palredhawkminwin.obj

    and the WCL basically contains the System namespaces and Windows namespaces, provides basic and low-level functionalities.

    One interesting thing I seen in WCL is, it as Async/Await support, with the 'INotifyCompletion' interface which is new in the beta version of .NET 4.5, so we know that Redhawk is actually very up-to-date and in sync with the real CLR/BCL.

    Windows::Threading::ThreadPool::Async::DelayAwaitable::Awaiter.System.Runtime.CompilerServices.INotifyCompletion.OnCompleted
    Windows::Device::LogicalDevice::Awaitable::Awaiter.System.Runtime.CompilerServices.INotifyCompletion.OnCompleted
    Windows::Threading::ThreadPool::Async::SynchronizationHandleAwaitable::Awaiter.System.Runtime.CompilerServices.INotifyCompletion.OnCompleted

  • felix9

    Now we can read the old report by MaryJo Foley again:

    Redhawk and MinSafe are two sides of the same coin. Redhawk is the codename for new managed code work being done by the Developer Division, while MinSafe is the codename for the complementary managed code initiative on the Windows side of the house.

    Both projects are aimed at providing a new managed-code execution environment that will be more lightweight and (Microsoft hopes) more appealing to developers who are put off by the perceived overhead of the current Common Language Runtime (CLR) at the heart of the .Net Framework.

    Redhawk deliverables may include a new back-end compiler and new runtime that would still provide type safety and garbage collection, but perhaps not the rest of the functionality that is currently part of the current .Net CLR.

    The Redhawk and MinSafe teams are not restricting themselves to insuring compatibility with Windows or the .Net Framework. (That jibes with tips I've gotten about Midori being a "built from scratch" non-Windows-based operating system that won't necessarily preserve backward compatibility with Windows.) And the Redhawk/MinSafe are dabbling with how to deliver a new object framework on top of User Mode Driver Framework (UMDF), as well as a new base class library (BCL).

    I am hearing that some of the Redhawk/MinSafe deliverables (specifically around the driver model)  could be incorporated into Windows 8 — which, if the Windows client team stays on its current schedule, could be expected debut around 2011/2012.

    We can see that this report was quite accurate on the tech stuff, but not so accurate on other more political stuff. Redhawk is reduced to be used only by Windows itself, in few exotic dlls, and is not promoted to be used by app/driver developers, and nothing happend on UMDF yet. Given the rumors about Steven Sinofsky hates .NET, maybe we need to wait longer to see the fate of Redhawk. On the other side, recent job postings from TSI/Midori team talk more and more about the clouds, it seems like they are focusing more on the server side now.

    (P.S.: here is a recent job posting from TSI for Bartok compiler Smiley )

    https://careers.microsoft.com/jobdetails.aspx?jid=76831

    Our goal is to build the best performing, highest-quality ahead-of-time native-code compilers in the world for C++ and C#. We have a unified compiler infrastructure that compiles C++ and C# to native code, so improvements for either language benefit the other language also.

     

  • SteveRichter

    ...  Given the rumors about Steven Sinofsky hates .NET, maybe we need to wait longer to see the fate of Redhawk. ... 

    What is not to like about .NET ?

     

  • felix9

    @SteveRichter:  Hmm.... for causing the failure of Longhorn ? The Longhorn Reset basically cleaned the managed bits out from the Windows code base, I believe Windows team still remember that, and Steve Sinofsky doesnt want to be Jim Allchin.

     

  • Ray7

    , felix9 wrote

    @SteveRichter:  Hmm.... for causing the failure of Longhorn ? The Longhorn Reset basically cleaned the managed bits out from the Windows code base, I believe Windows team still remember that, and Steve Sinofsky doesnt want to be Jim Allchin.

     

    But if this is a problem with having managed code in the OS, why does it affect .NET outside of the OS?

    I've run a couple of .NET apps and they never struck me as particularly sluggish.

     

  • figuerres

    , felix9 wrote

    @SteveRichter:  Hmm.... for causing the failure of Longhorn ? The Longhorn Reset basically cleaned the managed bits out from the Windows code base, I believe Windows team still remember that, and Steve Sinofsky doesnt want to be Jim Allchin.

     

     

    *IF* anyone thinks that the Vista / longhorn problems were created in any way by .Net i think they need to have a reality check.....  

    do we forget about XP SP2 ?   about the directive that all of MS was given orders to work on fixing XP ??  at how the chnages made to the XP codebase had to be then brought into the Vista / Longhorn code base ?

     

  • felix9

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.