UVM virtual memory system
UVM (acronyme récursif pour UVM Virtual Memory System) est un gestionnaire de mémoire virtuelle (VM) conçu et programmé par Charles D. Cranor.
UVM peut remplacer le VM de 4.4BSD (dérivé de Mach) utilisé par NetBSD et OpenBSD.

En août 1998, Charles présente The Design and Implementation of the UVM Virtual Memory System à l'université de Washington à Saint Louis au Missouri et obtient un Doctorat en sciences (D.Sc.)

UVM offre des mécanismes flexibles de mouvement des données pour les systèmes d'entrée/sortie et d'IPC. UVM est également plus performant que 4.4BSD VM et élimine certains algorithmes trop compliqués et souvent à l'origine de bogues dans le système.
UVM fut très innovateur dans le domaine du partage de la mémoire entre processus. En outre, UVM utilise trois nouvelles techniques: le page loanout, le page transfer, ainsi que le map entry passing pour éviter des copies de données inutiles.

Portabilité 

UVM fut intégré à NetBSD en premier, et porté vers plusieurs architectures, tel l'i386, l'alpha, le sparc, le m68k ainsi que le vax.

Auteurs 

Matthew Green a écrit le code de gestion de l'échange (swap).
Chuck Silvers a conçu le pager « aobj », rendant le support de la mémoire partagée System V et l'échange de processus possible.
Artur Grabowski s'est occupé de l'intégration d'UVM au noyau d'OpenBSD.
Niels Provos a intégré la cryptographie au système d'échange (swap encryption).

Liens externes 

 http://ccrc.wustl.edu/pub/chuck/tech/uvm/ (en anglais)
 http://www.usenix.org/publications/library/proceedings/sec2000/full_papers/provos/provos_html/ (en anglais)

Ordonnanceur