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

BizTalk Server 2013 Azure VM Log Shipping and HA for hosts

How to Share webservice object to all user