title: What is "runtime"?
body: <p>I have heard about things like &quot;C Runtime&quot;, &quot;Visual C++ 2008 Runtime&quot;, &quot;.NET Common Language Runtime&quot;, etc.</p>
  <ul>
  <li>What is &quot;<strong>runtime</strong>&quot; exactly?</li>
  <li>What is it made of?</li>
  <li>How does it interact with my code? Or maybe more precisely, how is my code controlled by it?</li>
  </ul>
  <p>When coding assembly language on Linux, I could use the INT instruction to make the system call. So, is the runtime nothing but a bunch of pre-fabricated functions that wrap the low level function into more abstract and high level functions? But doesn't this seem more like the definition for the library, not for the runtime?</p>
  <p>Are &quot;runtime&quot; and &quot;<a href="http://en.wikipedia.org/wiki/Runtime_library" rel="noreferrer">runtime library</a>&quot; two different things?</p>
  <h2>ADD 1</h2>
  <p>These days, I am thinking maybe <em>Runtime</em> has something in common with the so called <em>Virtual Machine</em>, such as JVM. Here's the quotation that leads to such thought:</p>
  <blockquote>
  <p>This compilation process is sufficiently complex to be broken into
  several layers of abstraction, and these usually involve three
  translators: a compiler, a virtual machine implementation, and an
  assembler.  --- <a href="https://rads.stackoverflow.com/amzn/click/com/0262640686" rel="noreferrer" rel="nofollow noreferrer">The Elements of Computing Systems</a> (Introduction,
  The Road Down To Hardware Land)</p>
  </blockquote>
  <h2>ADD 2</h2>
  <p>The book <a href="https://rads.stackoverflow.com/amzn/click/com/0131774298" rel="noreferrer" rel="nofollow noreferrer">Expert C Programming: Deep C Secrets</a>. Chapter 6 Runtime Data Structures is an useful reference to this question.</p>
  <h2>ADD 3 - 7:31 AM 2/28/2021</h2>
  <p>Here's some of my perspective after getting some knowledge about processor design. The whole computer thing is just multiple levels of <strong>abstraction</strong>. It goes from elementary transistors all the way up to the running program. For any <code>level N</code> of abstraction, its <strong>runtime</strong> is the immediate <code>level N-1</code> of abstraction that goes below it. And it is God that give us the level 0 of abstraction.</p>