Glossary of Terms
This page documents a number of terms used by members of the community that refer to specific concepts closely related to SharpOS, managed operating systems, C#, and .NET.
| AOT | Ahead-Of-Time | code is architecture-specific binary code which has been generated from portable CIL bytecode. In the case of SharpOS, we’re referring specifically to AOTed code which can be run as an operating system kernel. (see Ahead-Of-Time compiler) |
| ADC | Architecture-dependent code | is a particular class of environment-independent code which handles architecture-specific tasks. |
| - | Boot loader | is a piece of software that loads and runs the operating system. |
| CIL | Common Intermediate Language | is the intermediate binary code format which .NET software targets. |
| CorLib | Core Library | The corlib is the direct equivalent of mscorlib. It is written in EDC and provides basic functionality to every other assembly on installed on the system. |
| - | Disk image | refers to a file that contains a file-system image. Disk images usually contain bootable code, which can be tested using a processor emulator / virtualization framework. |
| EDC | Environment-Dependent Code | refers to ahead-of-time-compiled code that requires runtime support. |
| EIC | Environment-Independent Code | refers to ahead-of-time-compiled code that can be run without the support of the .NET runtime. Many features of .NET require the help of a runtime and cannot be used by environment-independent code. For more information, see EIC. |
| - | The Garbage Collector | is a piece of software which automatically frees unused memory. It is a required part of .NET. |
| GRUB | GNU Grand Unified Boot Loader | is a Multiboot-compliant boot loader. It is the official boot loader of SharpOS. (see home page) |
| - | Heap | refers to an area of memory which is allocated to support relocatable pointers. Basically, the heap implementation allows memory to be reorganized to improve efficiency without breaking other pointers (by way of redirection). |
| HAL | Hardware Abstraction Layer | is a layer between all processes outside the kernel that makes it possible to communicate with the hardware indirectly, which allows the kernel to isolate processes and protect hardware resources from bugs and exploits |
| IL | Intermediate Language | same as CIL. |
| IPC | Inter Process Communication | is the part of the OS which defines how processes communicate with eachother. (see Inter Process Communication) |
| IR | Intermediate Representation | is the internal representation of code after the loading of CIL Bytecode and before translating it into architecture dependent code. |
| JIT | Just-In-Time | code is architecture-specific binary code which is generated from CIL bytecode just before it is run. (see Just-in-time compilation) |
| KorLib | Kernel Core Library | The korlib is the [[SharpOS.Kernel:EIC] portion of the [[SharpOS.Kernel:corlib]. It is written in such a way that the corlib will proxy certain functionality from it. |
| - | Multiboot | is a specification developed by the GNU Project for boot loaders. It defines an advanced interface between the boot loader and operating system. |
| - | NAnt | is an advanced cross-platform XML build system for .NET software. (see home page) |
| - | NUnit | is a framework for creating and running unit tests that target .NET. (see home page home page) |
| PE | Portable Executable | is a file format for executables. (see Portable Executable) |
| VES | Virtual Execution System | refers to the virtual machine used by .NET/Mono. It provides a suitable environment for executing CIL bytecode. |
| - | Unit tests | are small tests which assert the correct operation of a given aspect of software. |