If you ever come across a certain term within Unix context which you don't understand, this page will be where I'll try to help you out. Leave a comment below to suggest new definitions to be included.
GRUB – usually known as GNU GRUB is a boot loader (GRUB means GNU GRand Unified Bootloader) is a boot loader most common in Linux operating systems. It is a standard solution for booting multiple operating systems, or, in a default setup, for booting multiple different versions of a Linux kernel for your Linux OS.
More info here: GRUB Bootloader.
hard link – in many filesystem, it's a directory entry that associates a name with a file on a file system. Using hard links, it's possible to have multiple names (hard links) created for the same data (file). More info on hard links: hard links explained.
IPC – Inter-Process Communication – classic mechanism for sharing data between processes in a Unix or Unix-like operating system. Most common ways of interprocess communication are network sockets, Unix sockets, pipes (including named pipe) and shared memory segments. Technically, even files and memory-mapped files are ways of interprocess communication.
kernel – a Unix kernel is a core software component of any OS. Essentially, it's a program with a number of statically or dynamically linked modules which provide basic functionality every Unix program will need for execution. Kernel provides services of memory and process control, file and I/O management and network access. The kernel provides basic services for all other parts of the operating system, typically including memory management, process management, file management and I/O (input/output) management (i.e., accessing the peripheral devices). These services are requested by other parts of the operating system or by application programs through a specified set of program interfaces referred to as system calls.
OS – short for Operating System
Operating System – a special software kit which manages hardware available on your system and allows users run applications and share limited resources in terms of memory, CPU, disk space or networking bandwidth. If you ever worked on a PC, you have used an OS. Most commonly it's a version of Microsoft Windows, but lately Linux operating systems like Ubuntu and RedHat are gaining a considerable share of users.
runlevel – a defined mode of Unix OS operation. Most usually, you wil find 7 runlevels on your system, numbered from 0 to 6. Moving your OS from one runlevel to another essentially brings it to different controlled states.
IMPORTANT: Runlevels are different between various Unix and Unix-like distros, so be sure to research.
Run levels in Solaris: runlevel 0 means halting a system, runlevel 5 will initiate a shutdown and switching to runlevel 6 will reboot the system.
Run levels in Linux: runlevels 0 means halting a system, runlevel 5 is actually a typical running level – normal OS boot with networking and desktop environment. Runlevel 6 is similar to Solaris – reboot.
SMP – Symmetric Multi Processing – most commonly used to specify the type of an OS kernel. SMP kernels support multiple processors and multiple processor cores on your system, and are pretty much the standard today. ** **
symlink– just a short name for symbolic link symbolic link – a special type of file that contains a reference to another file or directory in the form of an absolute or relative path. Simply put, accessing symlink will mean accessing the original file it points to. However, removing a symbolic link will not remove neither the original file nor the data it refers to.
system call – a set of functions that allow a Unix program to request specific service from the OS kernel. Because system calls are very low-level functionality that may impact the performance and integrity of the OS, their coding and execution is fully implemented in the OS kernel. In user-level programs, developers use a library (usually C library – libc) interface to request specific functionality from the OS kernel and to process the results returned by a system call.
More on this topic: Unix System Calls
Unix epoch – a moment in time at 00:00:00 UTC on January 1, 1970. Widely used in Unix-like systems as a starting point for measuring points in time (purists would note that UTC didn't exist in its current form until 1972, but this hasn't changed the Unix epoch time yet). Unix time – a system for tracking time in Unix-like operating systems. This time is measured in a number of seconds elapsed since Unix epoch (see above).
UUID -Universally Unique IDentifier, an alpha-numeric label which can be assigned to every storage device on your Unix system (currently used in Ubuntu and many other Linux distros). UUIDs are guaranteed to be unique on your system, thus ensuring each storage device will always be referred by a unique label. UUIDs are created for each drive and each partition found in your system.
VPS – Virtual Private Server – a solution that bridges the gap between shared hosting and dedicated servers. It provides small and medium businesses and websites with the reliability and control of dedicated hosting, but with a cheaper price per month. Usually this is done with VM or container technology where a number of VPS servers is hosted on the same physical host.
Xen – a free software virtualization solution for IA-32, x86-64, IA-64 and PowerPC 970 architectures. A software layer called Xen hypervisor is used to manage virtual environments with guest operating systems. Hypervisor is the only layer which directly accesses all the CPUs and available memory. Guest operating systems are installed in separate virtual environments called user domains (domU's), all of which are provided shares of CPU time and memory allocation through Xen hypervisor.