Is clr code loaded one per process or shared


hi

i reading clr hosting articles , wondering how clr laid out in memory logically.

  • is clr (shim+mscor*.dll) loaded per process or shared somehow once first instance present in memory.

  • ie, code in clr n applications occupying n*sizeof(mscoree.dll + mscor*) or 1 memory instance shared applications.

  • how different scenario incase of asp.net hosting several web apps?

------------------            ------------------        --------------------
|         clr       |             |      clr             |        |      clr              |
-------------------          ------------------         -------------------
|                        |            |                           |        |                           |
|    app code     |            |       app code    |         |       app code    |
|                        |            |                           |        |                           |        ????????



the clr no different other dlls: there 1 copy of clr code in ram.  copy mapped virtual memory pages each process executing clr code.  pages containing clr data (heap etc) unique per process (and appdomain).


.NET Framework  >  Common Language Runtime Internals and Architecture



Comments

Popular posts from this blog

Azure DocumentDB Owner resource does not exist

job syspolicy_purge_history job fail in sqlserver 2008

Trying to register with public marketplace error with 'Get-AzureStackStampInformation'