diff --git a/reference/glossary.md b/reference/glossary.md index bd1af6ce..3e6d0d3f 100644 --- a/reference/glossary.md +++ b/reference/glossary.md @@ -66,6 +66,9 @@ Any [VM](#vm) that supplies its root filesystem to another VM. TemplateVMs are intended for installing and updating software applications, but not for running them. * Colloquially, TemplateVMs are often referred to as "templates." + * Since every TemplateVM supplies its *own* root filesystem to at least one other VM, no TemplateVM can be based on another TemplateVM. + In other words, no TemplateVM is a [TemplateBasedVM](#templatebasedvm). + * Since every TemplateVM supplies its *root* filesystem to at least one other VM, no [DVM Template](#dvm-template) is a TemplateVM. TemplateBasedVM --------------- @@ -118,12 +121,18 @@ An abbreviation of [DispVM](#dispvm), typically used to refer to [DVM Templates] DVM Template ------------ -TemplateBasedVMs on which [DispVMs](#dispvm) are based. +A type of [TemplateBasedVM](#templatebasedvm) on which [DispVMs](#dispvm) are based. By default, a DVM Template named `fedora-XX-dvm` is created on most Qubes installations (where `XX` is the Fedora version of the default TemplateVM). -DVM Templates are neither [TemplateVMs](#templatevm) nor [AppVMs](#appvm). -They are intended neither for installing nor running software. -Rather, they are intended for *customizing* or *configuring* software that has already been installed on the TemplateVM on which the DVM Template is based (see [DispVM Customization]). -This software is then intended to be run (in its customized state) in DispVMs that are based on the DVM Template. +DVM Templates are not [TemplateVMs](#templatevm), since (being TemplateBasedVMs) they do not have root filesystems of their own to provide to other VMs. +Rather, DVM Templates are complementary to TemplateVMs insofar as DVM Templates provide their own user filesystems to the DispVMs based on them. +There are two main kinds of DVM Templates: + + * **Dedicated** DVM Templates are intended neither for installing nor running software. + Rather, they are intended for *customizing* or *configuring* software that has already been installed on the TemplateVM on which the DVM Template is based (see [DispVM Customization]). + This software is then intended to be run (in its customized state) in DispVMs that are based on the DVM Template. + * **Non-dedicated** DVM Templates are typically [AppVMs](#appvm) on which DispVMs are based. + For example, an AppVM could be used to generate and store trusted data. + Then, a DispVM could be created based on the AppVM (thereby making the AppVM a DVM Template) so that the data can be analyzed by an untrusted program without jeopardizing the integrity of the original data. PV --