diff options
| author | Open-IOV <dev@open-iov.org> | 2026-09-23 05:44:08 -0400 |
|---|---|---|
| committer | Open-IOV <dev@open-iov.org> | 2026-09-23 05:46:43 -0400 |
| commit | 68cdd7728a7cc6715bbbff7decfe2b11c3bdf558 (patch) | |
| tree | 3dc8ce2e6af313a97ec6852f5c663a9a93665d2e /wiki/open-iov.org/index.php/Introductory_Concepts_&_Definitions.html | |
| download | open-iov-68cdd7728a7cc6715bbbff7decfe2b11c3bdf558.tar.gz open-iov-68cdd7728a7cc6715bbbff7decfe2b11c3bdf558.zip | |
Open-IOV: initial public release
Open-IOV virtualizes NVIDIA GPUs so that unmodified guest drivers run with
real GPU functionality - CUDA first, 3D and video to follow - on unmodified
hosts, without a proprietary vGPU license and without patching any driver,
firmware or hypervisor.
Core principle: emulate the interface, pass through the work.
kernel/ open-iov-vfio.ko - host VFIO mdev driver: virtual GPU device
(PCI config space, BAR shadows, MSI-X), GSP boot emulation,
GSP-RM message-queue/RPC emulation, memory model (GPU-VA to
guest-PA discovery) and the semaphore-completion service that
advances guest UVM progress.
userspace/ libiov.so management API and examples.
tools/ guest diagnostics, firmware analysis wrappers, RM probes.
scripts/ stack manager, VM harness, build/load/test automation.
config/ hardware/version profiles (the portability surface).
docs/ documentation tree - start at docs/README.md.
wiki/ long-form firmware and protocol deep dives.
Status: initialization works end to end for a stock 570.144 Linux guest on
Turing (TU104): driver probe, nvidia-smi, the full GSP-RM control battery,
object creation and the early CUDA/UVM start-up path. GPU work forwarding -
the step that makes CUDA kernels execute on real hardware - is the active
work item; see docs/04-implementation/01-known-knowns-and-unknowns.md.
License: BSD-3-Clause for the project; GPL-2.0 for kernel modules that link
GPL-only kernel interfaces. See LICENSE and docs/09-reference/legal-and-licensing.md.
Diffstat (limited to 'wiki/open-iov.org/index.php/Introductory_Concepts_&_Definitions.html')
| -rw-r--r-- | wiki/open-iov.org/index.php/Introductory_Concepts_&_Definitions.html | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/wiki/open-iov.org/index.php/Introductory_Concepts_&_Definitions.html b/wiki/open-iov.org/index.php/Introductory_Concepts_&_Definitions.html new file mode 100644 index 0000000..85efcf9 --- /dev/null +++ b/wiki/open-iov.org/index.php/Introductory_Concepts_&_Definitions.html @@ -0,0 +1,269 @@ +<!DOCTYPE html> +<html class="client-nojs" lang="en" dir="ltr"> +<head> +<meta charset="UTF-8"/> +<title>Glossary - Open-IOV</title> +<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":!1,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"ad21173777d81cd562467944","wgCSPNonce":!1,"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":!1,"wgNamespaceNumber":0,"wgPageName":"Glossary","wgTitle":"Glossary","wgCurRevisionId":23763,"wgRevisionId":23763,"wgArticleId":13,"wgIsArticle":!0,"wgIsRedirect":!1,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Glossary","wgRelevantArticleId":13,"wgIsProbablyEditable":!1,"wgRelevantPageIsProbablyEditable":!1,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRedirectedFrom":"Introductory_Concepts_\u0026_Definitions","wgVisualEditor":{"pageLanguageCode" +:"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgInternalRedirectTargetUrl":"/index.php/Glossary","wgEditSubmitButtonLabelPublish":!1};RLSTATE={"site.styles":"ready","noscript":"ready","user.styles":"ready","user":"ready","user.options":"loading","skins.vector.styles.legacy":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","site","mediawiki.page.ready","mediawiki.toc","skins.vector.legacy.js","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader"];</script> +<script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@1hzgi",function($,jQuery,require,module){/*@nomin*/mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); +});});</script> +<link rel="stylesheet" href="../load.php%3Flang=en&modules=ext.visualEditor.desktopArticleTarget.noscript|skins.vector.styles.legacy&only=styles&skin=vector.css"/> +<script async="" src="../load.php%3Flang=en&modules=startup&only=scripts&raw=1&skin=vector"></script> +<meta name="generator" content="MediaWiki 1.37.1"/> +<meta name="format-detection" content="telephone=no"/> +<link rel="shortcut icon" href="../favicon.ico.html"/> +<link rel="search" type="application/opensearchdescription+xml" href="../opensearch_desc.php" title="Open-IOV (en)"/> +<link rel="EditURI" type="application/rsd+xml" href="../api.php%3Faction=rsd"/> +<link rel="alternate" type="application/atom+xml" title="Open-IOV Atom feed" href="../index.php%3Ftitle=Special:RecentChanges&feed=atom"/> +<link rel="canonical" href="Glossary.html"/> +</head> +<body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Glossary rootpage-Glossary skin-vector action-view skin-vector-legacy"><div id="mw-page-base" class="noprint"></div> +<div id="mw-head-base" class="noprint"></div> +<div id="content" class="mw-body" role="main"> + <a id="top"></a> + <div id="siteNotice"></div> + <div class="mw-indicators"> + </div> + <h1 id="firstHeading" class="firstHeading" >Glossary</h1> + <div id="bodyContent" class="vector-body"> + <div id="siteSub" class="noprint">From Open-IOV</div> + <div id="contentSub"><span class="mw-redirectedfrom">(Redirected from <a href="../index.php%3Ftitle=Introductory_Concepts_&_Definitions&redirect=no.html" class="mw-redirect" title="Introductory Concepts & Definitions">Introductory Concepts & Definitions</a>)</span></div> + <div id="contentSub2"></div> + + <div id="jump-to-nav"></div> + <a class="mw-jump-link" href="Introductory_Concepts_&_Definitions.html#mw-head">Jump to navigation</a> + <a class="mw-jump-link" href="Introductory_Concepts_&_Definitions.html#searchInput">Jump to search</a> + <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-parser-output"><blockquote><p>An absence of critical technical documentation has historically slowed growth and adoption of developer ecosystems for GPU virtualization. +</p><p>This <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by/4.0/">CC-BY-4.0</a> licensed content can either be used with attribution, or used as inspiration for new documentation, created by GPU vendors for public commercial distribution as developer documentation. +</p><p> +Where possible, this documentation will clearly label dates and versions of observed-but-not-guaranteed behaviour vs. vendor-documented stable interfaces/behaviour with guarantees of forward or backward compatibility.</p></blockquote> +<div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> +<ul> +<li class="toclevel-1 tocsection-1"><a href="Introductory_Concepts_&_Definitions.html#Definitions"><span class="tocnumber">1</span> <span class="toctext">Definitions</span></a> +<ul> +<li class="toclevel-2 tocsection-2"><a href="Introductory_Concepts_&_Definitions.html#VFIO"><span class="tocnumber">1.1</span> <span class="toctext">VFIO</span></a></li> +<li class="toclevel-2 tocsection-3"><a href="Introductory_Concepts_&_Definitions.html#Mdev"><span class="tocnumber">1.2</span> <span class="toctext">Mdev</span></a></li> +<li class="toclevel-2 tocsection-4"><a href="Introductory_Concepts_&_Definitions.html#Virtual_CPU_(vCPU)"><span class="tocnumber">1.3</span> <span class="toctext">Virtual CPU (vCPU)</span></a></li> +<li class="toclevel-2 tocsection-5"><a href="Introductory_Concepts_&_Definitions.html#Virtual_GPU_(vGPU)"><span class="tocnumber">1.4</span> <span class="toctext">Virtual GPU (vGPU)</span></a></li> +<li class="toclevel-2 tocsection-6"><a href="Introductory_Concepts_&_Definitions.html#IVSHMEM"><span class="tocnumber">1.5</span> <span class="toctext">IVSHMEM</span></a></li> +<li class="toclevel-2 tocsection-7"><a href="Introductory_Concepts_&_Definitions.html#KVMFR_(Looking_Glass)"><span class="tocnumber">1.6</span> <span class="toctext">KVMFR (Looking Glass)</span></a></li> +<li class="toclevel-2 tocsection-8"><a href="Introductory_Concepts_&_Definitions.html#NUMA_Node"><span class="tocnumber">1.7</span> <span class="toctext">NUMA Node</span></a></li> +<li class="toclevel-2 tocsection-9"><a href="Introductory_Concepts_&_Definitions.html#Application_Binary_Interface_(ABI)"><span class="tocnumber">1.8</span> <span class="toctext">Application Binary Interface (ABI)</span></a></li> +<li class="toclevel-2 tocsection-10"><a href="Introductory_Concepts_&_Definitions.html#SR-IOV"><span class="tocnumber">1.9</span> <span class="toctext">SR-IOV</span></a></li> +<li class="toclevel-2 tocsection-11"><a href="Introductory_Concepts_&_Definitions.html#GVT-g"><span class="tocnumber">1.10</span> <span class="toctext">GVT-g</span></a></li> +<li class="toclevel-2 tocsection-12"><a href="Introductory_Concepts_&_Definitions.html#VirGL"><span class="tocnumber">1.11</span> <span class="toctext">VirGL</span></a></li> +</ul> +</li> +</ul> +</div> + +<h2><span class="mw-headline" id="Definitions">Definitions</span></h2> +<p>This article will attempt to provide a glossary of common terms that are either related to/or often used in connection with virtualization for those who may need more context. +</p><p>If you have suggestions on how to improve the glossary you can <a rel="nofollow" class="external text" href="https://open-iov.org/index.php/Main_Page#Getting_Started_Contributing_to_Open-IOV"><b>contribute</b></a> or join our <a rel="nofollow" class="external text" href="https://discord.gg/Rb9K9DYxKK"><b>community discussion thread</b></a> to make suggestions. +</p> +<h3><span class="mw-headline" id="VFIO">VFIO</span></h3> +<blockquote><p>Kernel.org defines VFIO or Virtual Function Input Output as <b>"an IOMMU/device agnostic framework for exposing direct device access to userspace, in a secure, IOMMU protected environment." <a rel="nofollow" class="external text" href="https://www.kernel.org/doc/Documentation/vfio.txt">[1]</a></b></p></blockquote> +<div class="thumb tright"><div class="thumbinner" style="width:302px;"><a href="./File:VFIO_Diagram.png.html" class="image"><img alt="" src="../images/thumb/4/43/VFIO_Diagram.png/300px-VFIO_Diagram.png" decoding="async" width="300" height="397" class="thumbimage" srcset="../images/4/43/VFIO_Diagram.png 1.5x" /></a> <div class="thumbcaption"><div class="magnify"><a href="./File:VFIO_Diagram.png.html" class="internal" title="Enlarge"></a></div>A diagram depicting direct VFIO passthrough of a GPU adapter.</div></div></div> +<h3><span class="mw-headline" id="Mdev">Mdev</span></h3> +<blockquote><p>Kernel.org defines Virtual Function I/O (VFIO) Mediated devices as: <b>"an IOMMU/device-agnostic framework for exposing direct device access to user space in a secure, IOMMU-protected environment... mediated core driver provides a common interface for mediated device management that can be used by drivers of different devices." <a rel="nofollow" class="external text" href="https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api/vfio-mediated-device.rst?h=driver-core-next&id=7de3697e9cbd4bd3d62bafa249d57990e1b8f294">[2]</a></b></p></blockquote> +<div class="thumb tright"><div class="thumbinner" style="width:302px;"><a href="./File:VFIO-Mdev_Diagram.png.html" class="image"><img alt="" src="../images/thumb/c/c7/VFIO-Mdev_Diagram.png/300px-VFIO-Mdev_Diagram.png" decoding="async" width="300" height="397" class="thumbimage" srcset="../images/thumb/c/c7/VFIO-Mdev_Diagram.png/450px-VFIO-Mdev_Diagram.png 1.5x, ../images/c/c7/VFIO-Mdev_Diagram.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="./File:VFIO-Mdev_Diagram.png.html" class="internal" title="Enlarge"></a></div>A diagram depicting VFIO Mediated Device interacting with two vGPU guests.</div></div></div> +<h3><span id="Virtual_CPU_.28vCPU.29"></span><span class="mw-headline" id="Virtual_CPU_(vCPU)">Virtual CPU (vCPU)</span></h3> +<blockquote><p>A Virtual CPU (vCPU) is a CPU which has been virtualized to represent a percentage of the total hardware resource via preemptive scheduling.</p></blockquote> +<h3><span id="Virtual_GPU_.28vGPU.29"></span><span class="mw-headline" id="Virtual_GPU_(vGPU)">Virtual GPU (vGPU)</span></h3> +<blockquote><p>A Virtual GPU (vGPU) is a GPU which has been virtualized to represent a percentage of the total hardware resource via preemptive scheduling or thread pinning (to <a rel="nofollow" class="external text" href="https://www.intel.com/content/www/us/en/docs/oneapi/optimization-guide-gpu/2023-0/intel-iris-xe-gpu-architecture.html">EUs</a>, or <a rel="nofollow" class="external text" href="https://www.nvidia.com/content/PDF/nvidia-ampere-ga-102-gpu-architecture-whitepaper-v2.pdf">SMs</a>) and/or a partition of the device's Video Random Access Memory (VRAM).</p></blockquote> +<h3><span class="mw-headline" id="IVSHMEM">IVSHMEM</span></h3> +<blockquote><p>According to QEMU's GitHub repo: <b>"The Inter-VM shared memory device (ivshmem) is designed to share a memory region between multiple QEMU processes running different guests and the host. In order for all guests to be able to pick up the shared memory area, it is modeled by QEMU as a PCI device exposing said memory to the guest as a PCI BAR."</b> <b><a rel="nofollow" class="external text" href="https://github.com/qemu/qemu/blob/master/docs/specs/ivshmem-spec.txt">[3]</a></b></p></blockquote> +<div class="thumb tright"><div class="thumbinner" style="width:302px;"><a href="./File:IVSHMEM.png.html" class="image"><img alt="" src="../images/thumb/d/d3/IVSHMEM.png/300px-IVSHMEM.png" decoding="async" width="300" height="203" class="thumbimage" srcset="../images/thumb/d/d3/IVSHMEM.png/450px-IVSHMEM.png 1.5x, ../images/thumb/d/d3/IVSHMEM.png/600px-IVSHMEM.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="./File:IVSHMEM.png.html" class="internal" title="Enlarge"></a></div>A diagram depicting an inter-vm shared memory device being used by two separate virtual machines.</div></div></div> +<h3><span id="KVMFR_.28Looking_Glass.29"></span><span class="mw-headline" id="KVMFR_(Looking_Glass)">KVMFR (Looking Glass)</span></h3> +<blockquote><p>looking-glass.io defines Looking Glass as: <b>"an open source application that allows the use of a KVM (Kernel-based Virtual Machine) configured for VGA PCI Pass-through without an attached physical monitor, keyboard or mouse."</b> <b><a rel="nofollow" class="external text" href="https://looking-glass.io/">[4]</a></b></p></blockquote> +<div class="thumb tright"><div class="thumbinner" style="width:302px;"><a href="./File:KVMFR_Looking_Glass.png.html" class="image"><img alt="" src="../images/thumb/8/8a/KVMFR_Looking_Glass.png/300px-KVMFR_Looking_Glass.png" decoding="async" width="300" height="179" class="thumbimage" srcset="../images/thumb/8/8a/KVMFR_Looking_Glass.png/450px-KVMFR_Looking_Glass.png 1.5x, ../images/thumb/8/8a/KVMFR_Looking_Glass.png/600px-KVMFR_Looking_Glass.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="./File:KVMFR_Looking_Glass.png.html" class="internal" title="Enlarge"></a></div>A image posted by Gnif (Creator of the Looking Glass project) to a changelog thread on the Level1techs forum - an active community of VFIO users.</div></div></div> +<h3><span class="mw-headline" id="NUMA_Node">NUMA Node</span></h3> +<blockquote><p>Infogalactic defines NUMA as: <b>"<i>Non-uniform memory access (NUMA) is a</i> computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to the processor. Under NUMA, a processor can access its own local memory faster than non-local memory (memory local to another processor or memory shared between processors)." <a rel="nofollow" class="external text" href="https://infogalactic.com/info/Non-uniform_memory_access">[5]</a></b></p></blockquote> +<div class="thumb tright"><div class="thumbinner" style="width:302px;"><a href="./File:NUMA_Node.png.html" class="image"><img alt="" src="../images/thumb/7/73/NUMA_Node.png/300px-NUMA_Node.png" decoding="async" width="300" height="151" class="thumbimage" srcset="../images/thumb/7/73/NUMA_Node.png/450px-NUMA_Node.png 1.5x, ../images/thumb/7/73/NUMA_Node.png/600px-NUMA_Node.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="./File:NUMA_Node.png.html" class="internal" title="Enlarge"></a></div>A diagram depicting Non-Uniform Memory Access (NUMA) nodes.</div></div></div> +<h3><span id="Application_Binary_Interface_.28ABI.29"></span><span class="mw-headline" id="Application_Binary_Interface_(ABI)">Application Binary Interface (ABI)</span></h3> +<blockquote><p>Infogalactic defines an ABI as <b>"the interface between two program modules, one of which is often a library or operating system, at the level of machine code."</b> <b><a rel="nofollow" class="external text" href="https://infogalactic.com/info/Application_binary_interface">[6]</a></b></p></blockquote> +<div class="thumb tright"><div class="thumbinner" style="width:302px;"><a href="./File:Application_Binary_Interface_(ABI).png.html" class="image"><img alt="" src="../images/thumb/9/9d/Application_Binary_Interface_(ABI).png/300px-Application_Binary_Interface_(ABI).png" decoding="async" width="300" height="225" class="thumbimage" srcset="../images/thumb/9/9d/Application_Binary_Interface_(ABI).png/450px-Application_Binary_Interface_(ABI).png 1.5x, ../images/thumb/9/9d/Application_Binary_Interface_(ABI).png/600px-Application_Binary_Interface_(ABI).png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="./File:Application_Binary_Interface_(ABI).png.html" class="internal" title="Enlarge"></a></div>A diagram contrasting API and ABI as well as their respective roles in software compatibility.</div></div></div> +<h3><span class="mw-headline" id="SR-IOV">SR-IOV</span></h3> +<blockquote><p>docs.microsoft.com defines SR-IOV as <b>"The single root I/O virtualization (SR-IOV) interface is an extension to the PCI Express (PCIe) specification. SR-IOV allows a device, such as a network adapter, to separate access to its resources among various PCIe hardware functions." <a rel="nofollow" class="external text" href="https://archive.is/FcDoK">[7]</a></b></p></blockquote> +<div class="thumb tright"><div class="thumbinner" style="width:302px;"><a href="./File:SR-IOV.png.html" class="image"><img alt="" src="../images/thumb/6/65/SR-IOV.png/300px-SR-IOV.png" decoding="async" width="300" height="238" class="thumbimage" srcset="../images/thumb/6/65/SR-IOV.png/450px-SR-IOV.png 1.5x, ../images/thumb/6/65/SR-IOV.png/600px-SR-IOV.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="./File:SR-IOV.png.html" class="internal" title="Enlarge"></a></div>A diagram depicting host and guest interactions in a Single Root I/O Virtualization environment.</div></div></div> +<h3><span class="mw-headline" id="GVT-g">GVT-g</span></h3> +<blockquote><p>wiki.archlinux.org defines Intel GVT-g as <b>"a technology that provides mediated device passthrough for Intel GPUs (Broadwell and newer). It can be used to virtualize the GPU for multiple guest virtual machines, effectively providing near-native graphics performance in the virtual machine and still letting your host use the virtualized GPU normally." <a rel="nofollow" class="external text" href="https://wiki.archlinux.org/title/Intel_GVT-g">[8]</a></b></p></blockquote> +<div class="thumb tright"><div class="thumbinner" style="width:302px;"><a href="./File:SR-IOV-Diagram.png.html" class="image"><img alt="" src="../images/thumb/d/df/SR-IOV-Diagram.png/300px-SR-IOV-Diagram.png" decoding="async" width="300" height="258" class="thumbimage" srcset="../images/thumb/d/df/SR-IOV-Diagram.png/450px-SR-IOV-Diagram.png 1.5x, ../images/thumb/d/df/SR-IOV-Diagram.png/600px-SR-IOV-Diagram.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="./File:SR-IOV-Diagram.png.html" class="internal" title="Enlarge"></a></div>A diagram of Intel's GVT-g (Graphics Virtualization Technology g).</div></div></div> +<h3><span class="mw-headline" id="VirGL">VirGL</span></h3> +<blockquote><div class="thumb tright"><div class="thumbinner" style="width:302px;"><a href="./File:Virgl.png.html" class="image"><img alt="" src="../images/thumb/b/b4/Virgl.png/300px-Virgl.png" decoding="async" width="300" height="398" class="thumbimage" srcset="../images/b/b4/Virgl.png 1.5x" /></a> <div class="thumbcaption"><div class="magnify"><a href="./File:Virgl.png.html" class="internal" title="Enlarge"></a></div>A diagram depicting GPU instruction redirects to a single host graphics driver.</div></div></div><p>lwn.net defines Virgl as: <b>"a way for guests running in a virtual machine (VM) to access the host GPU using OpenGL and other APIs... The virgl stack consists of an application running in the guest that sends OpenGL to the Mesa virgl driver, which uses the virtio-gpu driver in the guest kernel to communicate with QEMU on the host."</b> <b><a rel="nofollow" class="external text" href="https://lwn.net/Articles/767970/">[9]</a></b></p></blockquote> +<!-- +NewPP limit report +Cached time: 20260911202651 +Cache expiry: 86400 +Reduced expiry: false +Complications: [] +CPU time usage: 0.022 seconds +Real time usage: 0.024 seconds +Preprocessor visited node count: 87/1000000 +Post‐expand include size: 0/2097152 bytes +Template argument size: 0/2097152 bytes +Highest expansion depth: 2/40 +Expensive parser function count: 0/100 +Unstrip recursion depth: 0/20 +Unstrip post‐expand size: 27/5000000 bytes +--> +<!-- +Transclusion expansion time report (%,ms,calls,template) +100.00% 0.000 1 -total +--> + +<!-- Saved in parser cache with key my_wiki:pcache:idhash:13-0!canonical and timestamp 20260911202651 and revision id 23763. Serialized with JSON. + --> +</div> +<div class="printfooter">Retrieved from "<a dir="ltr" href="../index.php%3Ftitle=Glossary&oldid=23763.html">https://open-iov.org/index.php?title=Glossary&oldid=23763</a>"</div></div> + <div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> + </div> +</div> + +<div id="mw-navigation"> + <h2>Navigation menu</h2> + <div id="mw-head"> + <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" role="navigation" + > + <h3 id="p-personal-label" class="vector-menu-heading"> <span>Personal tools</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"><li id="pt-login" class="mw-list-item"><a href="../index.php%3Ftitle=Special:UserLogin&returnto=Glossary.html" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o">Log in</a></li></ul> + + </div> +</nav> + + <div id="left-navigation"> + <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu vector-menu-tabs" aria-labelledby="p-namespaces-label" role="navigation" + > + <h3 id="p-namespaces-label" class="vector-menu-heading"> <span>Namespaces</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"><li id="ca-nstab-main" class="selected mw-list-item"><a href="Glossary.html" title="View the content page [c]" accesskey="c">Page</a></li><li id="ca-talk" class="new mw-list-item"><a href="https://open-iov.org/index.php?title=Talk:Glossary&action=edit&redlink=1" rel="discussion" title="Discussion about the content page (page does not exist) [t]" accesskey="t">Discussion</a></li></ul> + + </div> +</nav> + + <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown-noicon vector-menu vector-menu-dropdown" aria-labelledby="p-variants-label" role="navigation" + > + <input type="checkbox" + id="p-variants-checkbox" + role="button" + aria-haspopup="true" + data-event-name="ui.dropdown-p-variants" + class=" vector-menu-checkbox" aria-labelledby="p-variants-label" /> + <h3 id="p-variants-label" class="vector-menu-heading"> <span>Variants</span> + <span class="vector-menu-checkbox-expanded">expanded</span> + <span class="vector-menu-checkbox-collapsed">collapsed</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"></ul> + + </div> +</nav> + + </div> + <div id="right-navigation"> + <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu vector-menu-tabs" aria-labelledby="p-views-label" role="navigation" + > + <h3 id="p-views-label" class="vector-menu-heading"> <span>Views</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"><li id="ca-view" class="selected mw-list-item"><a href="Glossary.html">Read</a></li><li id="ca-viewsource" class="mw-list-item"><a href="../index.php%3Ftitle=Glossary&action=edit.html" title="This page is protected. You can view its source [e]" accesskey="e">View source</a></li><li id="ca-history" class="mw-list-item"><a href="../index.php%3Ftitle=Glossary&action=history.html" title="Past revisions of this page [h]" accesskey="h">View history</a></li></ul> + + </div> +</nav> + + <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown-noicon vector-menu vector-menu-dropdown" aria-labelledby="p-cactions-label" role="navigation" title="More options" + > + <input type="checkbox" + id="p-cactions-checkbox" + role="button" + aria-haspopup="true" + data-event-name="ui.dropdown-p-cactions" + class=" vector-menu-checkbox" aria-labelledby="p-cactions-label" /> + <h3 id="p-cactions-label" class="vector-menu-heading"> <span>More</span> + <span class="vector-menu-checkbox-expanded">expanded</span> + <span class="vector-menu-checkbox-collapsed">collapsed</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"></ul> + + </div> +</nav> + + <div id="p-search" role="search" class="vector-search-box"> + <div> + <h3 > + <label for="searchInput">Search</label> + </h3> + <form action="https://open-iov.org/index.php" id="searchform"> + <div id="simpleSearch" data-search-loc="header-navigation"> + <input type="search" name="search" placeholder="Search Open-IOV" autocapitalize="sentences" title="Search Open-IOV [f]" accesskey="f" id="searchInput"/> + <input type="hidden" name="title" value="Special:Search"/> + <input type="submit" name="fulltext" value="Search" title="Search the pages for this text" id="mw-searchButton" class="searchButton mw-fallbackSearchButton"/> + <input type="submit" name="go" value="Go" title="Go to a page with this exact name if it exists" id="searchButton" class="searchButton"/> + </div> + </form> + </div> +</div> + + </div> + </div> + +<div id="mw-panel"> + <div id="p-logo" role="banner"> + <a class="mw-wiki-logo" href="../images/archive/c/c3/20221214193624!I915_Scheduling_Events_and_Requests.png.html" + title="Visit the main page"></a> + </div> + <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu vector-menu-portal portal" aria-labelledby="p-navigation-label" role="navigation" + > + <h3 id="p-navigation-label" class="vector-menu-heading"> <span>Navigation</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"><li id="n-mainpage-description" class="mw-list-item"><a href="../images/archive/c/c3/20221214193624!I915_Scheduling_Events_and_Requests.png.html" title="Visit the main page [z]" accesskey="z">Main page</a></li><li id="n-recentchanges" class="mw-list-item"><a href="https://open-iov.org/index.php/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r">Recent changes</a></li><li id="n-randompage" class="mw-list-item"><a href="./Special:Random.html" title="Load a random page [x]" accesskey="x">Random page</a></li><li id="n-help-mediawiki" class="mw-list-item"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">Help about MediaWiki</a></li></ul> + + </div> +</nav> + + <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu vector-menu-portal portal" aria-labelledby="p-tb-label" role="navigation" + > + <h3 id="p-tb-label" class="vector-menu-heading"> <span>Tools</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"><li id="t-whatlinkshere" class="mw-list-item"><a href="./Special:WhatLinksHere/Glossary.html" title="A list of all wiki pages that link here [j]" accesskey="j">What links here</a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="https://open-iov.org/index.php/Special:RecentChangesLinked/Glossary" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li><li id="t-specialpages" class="mw-list-item"><a href="./Special:SpecialPages.html" title="A list of all special pages [q]" accesskey="q">Special pages</a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p">Printable version</a></li><li id="t-permalink" class="mw-list-item"><a href="../index.php%3Ftitle=Glossary&oldid=23763.html" title="Permanent link to this revision of the page">Permanent link</a></li><li id="t-info" class="mw-list-item"><a href="../index.php%3Ftitle=Glossary&action=info.html" title="More information about this page">Page information</a></li></ul> + + </div> +</nav> + + +</div> + +</div> +<footer id="footer" class="mw-footer" role="contentinfo" > + <ul id="footer-info" > + <li id="footer-info-lastmod"> This page was last edited on 27 March 2023, at 19:24.</li> +</ul> + + <ul id="footer-places" > + <li id="footer-places-privacy"><a href="https://open-iov.org/index.php/Open-IOV:Privacy_policy" title="Open-IOV:Privacy policy">Privacy policy</a></li> + <li id="footer-places-about"><a href="./Open-IOV:About.html" title="Open-IOV:About">About Open-IOV</a></li> + <li id="footer-places-disclaimer"><a href="https://open-iov.org/index.php/Open-IOV:General_disclaimer" title="Open-IOV:General disclaimer">Disclaimers</a></li> +</ul> + + <ul id="footer-icons" class="noprint"> + <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/"><img src="../resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="../resources/assets/poweredby_mediawiki_132x47.png 1.5x, ../resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31" loading="lazy"/></a></li> +</ul> + +</footer> + + +<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.022","walltime":"0.024","ppvisitednodes":{"value":87,"limit":1000000},"postexpandincludesize":{"value":0,"limit":2097152},"templateargumentsize":{"value":0,"limit":2097152},"expansiondepth":{"value":2,"limit":40},"expensivefunctioncount":{"value":0,"limit":100},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":27,"limit":5000000},"timingprofile":["100.00% 0.000 1 -total"]},"cachereport":{"timestamp":"20260911202651","ttl":86400,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":92});});</script> +<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a39968e9ca9039c9',t:'MTc4OTE1ODQxMQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>
\ No newline at end of file |
