Under the Hood - Plugs

First, what are operating systems made from?
Well, it's not C#, VB .NET, so what is it? It's a coding language called x86 Assembly. You can read all about x86 Assembly at http://www.nasm.org. What Cosmos does is take the C# and turn it into x86 Assembly that can be compiled by NAsm and run in your Virtual Machine. So, not all C# items work. If you ever used a C# item that is not compatible with Cosmos, on run time, it will throw an error saying native code encountered, plug required. And plugs are what we're going to look at.

Plugs, in a nutshell
"Plugs are pieces of code that replace functionality provided Windows or a native code DLL to a .NET library.                                    -Cosmos GitHub Wiki, Plugs"

Here is an example of a plug for the, which is used to talk to hardware.

You can write your own plug, too! While higher level plugs for things such as filesystem or graphics can often be written in C#, drivers or other low level plugs require knowledge of x86 Assembly and X#. I hope this gave you insight as to why things just don't work.