% // vim: set ft=tex:

\newglossaryentry{Rust}{
    name=Rust
    , description={
        TODO programming language
    }
}

\newglossaryentry{compiler}{
    name = compiler,
    description = {
        A program that can transform software source code to executable machine code.
    },
}

\newglossaryentry{addrspace}{
    name = memory address space,
    description = {
        A logical entity that represents parts of the virtual memory, specified with a starting address and the length in a standardize unit
    },
}

\newglossaryentry{API}{
    name = API,
    description = {
        Application Programming Interface
    },
}

\newglossaryentry{OS}{
    name = Operating System,
    description = {
        The software that manages the system's hardware ressources.
        Other \glspl{app} can access the ressources only through the interface provided by the \gls{OS}.
    },
}

\newglossaryentry{fs}{
    name = filesystem,
    description = {
        TODO
    },
}

\newglossaryentry{virt}{
    name = virtualization,
    description = {
        TODO
    },
}

\newglossaryentry{OSS}{
    name = Open-Source Software,
    description = {
        TODO
    },
}

\newglossaryentry{osvirt}{
    name = Operating System-Level Virtualization,
    description = {
        TODO
    },
}

\newglossaryentry{hypervisor}{
    name = Hypervisor,
    description = {
        TODO
    },
}

\newglossaryentry{VM}{
    name = Virtual Machine,
    description = {
        TODO
    },
}

\newglossaryentry{Linux}{
    name = Linux,
    description = {
        is a generic term referring to the family of Unix-like
        computer operating systems that use the Linux kernel
    },
    plural=Linuces
}

\newglossaryentry{imezzos}{
    name = intermezzOS,
    description = {
        TODO
    },
}

\newglossaryentry{redoxos}{
    name = Redox OS,
    description = {
        TODO
    },
}

\newglossaryentry{blogos}{
    name = Blog OS,
    description = {
        TODO
    },
}

\newglossaryentry{tockos}{
    name = Tock OS,
    description = {
        TODO
    },
}

\newglossaryentry{rootfs}{
    name = RootFS,
    description = {
        % TODO
    },
}

\newglossaryentry{lxns}{
    name = Linux Namespace,
    description = {
        entitiy that holds a specific set of process attributes and can be set per process
    },
}

\newglossaryentry{lxcap}{
    name = Linux Capability,
    description = {
        entitiy that holds a specific set of process attributes and can be set per process, mainly to establish a relationship between processes and \gls{OS} resources
    },
    plural = Linux Capabilities,
}

\newglossaryentry{lxvfs}{
    name = Linux VFS,
    description = {
        Virtual Filesystem Switch, a filesystem abstraction layer in \gls{Linux}.
    },
}

\newglossaryentry{BSD}{
    name = BSD,
    description = {
        TODO
    }
}

\newglossaryentry{computer}{
    name = Computer,
    description = {
        is a programmable machine that receives input,
        stores and manipulates data, and provides
        output in a useful format
    }
}

\newglossaryentry{app}{
    name=software-application,
    description={
        TODO
    }
}

\newglossaryentry{pm}{
    name=package manager,
    description={
        TODO
    }
}

\newglossaryentry{sac}{
    name=Software Application Container,
    description={
        The broad term for the technology used to build, package, distribute and run an application program in isolation from the underlying and co-existing systems, wherein the level or technique of isolation can be different depending on the \gls{sacr}.
        The term is nuanced from \gls{appc} defined by the \gls{appcorg}.
        The \gls{appcorg} is a community driven effort to create an open, standardized specification for developers and users of \gls{sac} technology.
        Such independent standards are required to form interoperability between \gls{sac} implementations made by independent parties.
        Some implementations will be subject to more detailed examination in Part \ref{part:research}.
    }
}
\newglossaryentry{saci}{
    name=Software Application Container Image,
    description={
        An archive file that contains all of the necessary binaries that are needed to execute an application and a manifest file that that contains metadata about the application. Alternatively to containing all the required binary files, the manifest file can declare dependencies to other application container images, which must then be available at runtime to execute the contained application.
    }
}

\newglossaryentry{sacr}{
    name=Software Application Container Runtime,
    description={
        An application program (suite) that understands how to run the software inside an \gls{saci}.
    }
}

\newglossaryentry{LXC}{
    name=LXC,
    description={
        TODO
    }
}

\newglossaryentry{Docker}{
    name=Docker,
    description={
        A very popular \gls{sac} platform and application suite, providing functionality to build and deploy Docker specific \glspl{saci}.
    }
}

\newglossaryentry{systemd-nspawn}{
    name=systemd-nspawn,
    description={
        TODO
    }
}

\newglossaryentry{rkt}{
    name=rkt,
    description={
        TODO
    }
}

\newglossaryentry{appcorg}{
    name=App Container Organisation,
    description={
        Organisation for the App Container specification, including the schema and associated tooling.
    }
}

\newglossaryentry{appc}{
    name=App Container,
    description={
        Specific variant of an \gls{sac} defined by the \gls{appcorg}.
    }
}

\newglossaryentry{CWE}{
    name=Common Weakness Enumeration,
    description={
        A formal list of software weakness types.
    }
}

\newglossaryentry{C}{
    name=C,
    , description={
        TODO C programming language,
    }
}

\newglossaryentry{asm}{
    name=Assembly programming language,
    , description={
        TODO ASM
    }
}

\newglossaryentry{CPU}{
    name=Central Processing Unit
    , description={
        TODO CPU
    }
}

\newglossaryentry{MMU}{
    name=Memory Management Unit
    , description={
        TODO MMU
    }
}

\newglossaryentry{sysadmin}{
    name=System Administrator
    , description={
        TODO sysadmin
    }
}

\newglossaryentry{realtime}{
    name=System Administrator
    , description={
        TODO realtime
    }
}
