Click here to Skip to main content
15,868,016 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi all!..

I have a big doubt.. as when CLR actually needs a help from Operating system to run the asp.net applications apart from memory, hoping somebody help me....
Posted
Comments
Wendelius 19-Feb-15 6:51am    
CLR relies on the services provided by the OS. What is your concern exactly?

1 solution

Nearly everywhere. It is not touching OS API only if you only shuffle some managed data inside your CLI process, in other words, use only the CPU and managed resources. This can be a lot of processing, and the whole application can be in that state nearly all of its runtime, but this is a rare situation. Any I/O at all, any UI events (much less for WPF but all the time for Forms) is done through OS, not counting all the OS-level chores.

For some activities, the question "is it done via OS or not?" is not clearly certain. The example of WPF I just mentioned is one such example. It is based on DirectX, not on GDI and uses very little of Windows message pumping, only on the very top level. But what is DirectX, a part of OS or not? In a way, yes and no. It is the optional independently installed product, but preinstalled with the OS.

Even the operation with managed memory. The managed memory management and Garbage Collector are involved when you create reference objects, and the garbage is eventually collected. You code works only through the managed memory management. But how it works under the hood? The management of managed memory has to eventually address to the OS heap API, to get memory or the return it to the OS. This happens totally transparent to your application, but the answer "when CLR communicates?" depends on the exact meaning of this question. I hope I gave you some basic ideas.

—SA
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900