# V (Betriebssystem)

V (manchmal auch V-System) ist ein Betriebssystem mit Microkernel, das in den 1980er Jahren von Fakultät und Studenten in der Distributed Systems Group der Stanford University unter der Leitung von Professor David Cheriton entwickelt wurde. V war der Nachfolger der Betriebssysteme Thoth und Verax, an denen Cheriton zuvor gearbeitet hatte.

## Terminologie von V

Die ursprüngliche V-Terminologie benutzte „Prozess“ für das, was heute gemeinhin Thread genannt wird, und „Team“ für das, was man heute üblicherweise einen Prozess nennt, der aus mehreren Threads besteht, die sich einen Adressraum teilen. Dieser Artikel benutzt die modernen Begriffe.

## Eigenschaften

Die Schlüsselkonzepte von V sind Multithreading und synchroner Nachrichtenaustausch. In V arbeitet die Kommunikation zwischen Threads mit synchronem Nachrichtenaustausch mit kurzen Nachrichten fester Länge, die Zugriffsrechte für den Empfänger beinhalten können, um Teile des Adressraums des Senders vor dem antworten lesen oder schreiben zu können. Die gleiche Schnittstelle zum Nachrichtenaustausch wird sowohl zwischen Threads innerhalb eines Prozesses, zwischen Threads verschiedener Prozesse auf einer Maschine, als auch zwischen Threads auf verschiedenen Maschinen, die über lokales Ethernet verbunden sind, verwendet. Ein Thread, der eine Nachricht empfängt, muss diese nicht beantworten, bevor er andere Nachrichten empfangen hat; hierin unterscheidet sich das Modell vom Rendezvous-Modell in Ada.
Ein gemeinsames Muster zur Verwendung der Nachrichtenverbindung für Clients ist, einem Server eine Nachricht mit der Anfrage nach einem Dienst zu senden. Von der Client-Seite aus, erscheint diese fast wie ein RPC (Remote Procedure Call). Die Bequemlichkeit eines automatischen Stub-Generators fehlt, andererseits kann der Client Referenzparameter übergeben, was via RPC nicht möglich ist. Von der Server-Seite aus unterscheidet sich das Modell stärker von RPC, da standardmäßig alle Client-Anfragen auf einem Server-Thread gebündelt werden. Der Server kann jedoch ausdrücklich eine Kopie eines Threads zu erzeugen, um Client-Anfragen parallel zu bearbeiten; Tut er dies, ist das serverseitige Modell ebenfalls fast wie RPC.

## Verwendung

V war nie selbst ein Endpunkt für Cheriton's Gruppe; Stattdessen wurde es als Vehikel benutzt für viele verschiedenen Entwicklungsprojekte im Bereich verteilter Betriebssysteme und Netzwerktechnik. Ähnlich den Bemühungen anderer Betriebssysteme seiner Zeit (Sprite etc.), war V ein komplettes System, das im Wesentlichen alle zum Betrieb notwendigen Komponenten umfasste (Self-hosting). Viele Studenten betrieben V als einziges Betriebssystem auf ihren Sun oder VAX Diskless-Workstations. Kompilieren konnte man entweder auf V selbst oder auf VAX Unix Maschinen, die Dateidienste in einer stabileren Umgebung boten, als das ständig sich verändernde Entwicklungssystem.

## Nachwirkungen

Inzwischen, mit der größeren Verfügbarkeit von Linux und BSD Unix für PCs, scheint es, dass experimentelle Betriebssysteme dieser Art mit Self-hosting selten geworden sind, da es nur wenig Bereitschaft gibt, so viel Arbeit zu leisten, nur um sich selbst mit Infrastruktur zu versorgen. V ist heute fast vergessen, aber es hat Spuren im Sand der Zeit hinterlassen: Das wenig bekannte Fenstersystem W hat seinen Namen teilweise, weil es zuerst auf dem V-Betriebssystem lief (auf dem VGTS-Grafikpaket). Und das bekannte X Window System selbst hat seinen Namen, weil seine erste Version teilweise auf W basierte. V führte auch zu dem Bestreben nach einem „reineren“ Microkernel auf Apple-Computern, bekannt als Vanguard, welches eine Reihe von Verbesserungen zum Ausgangssystem hinzufügte. Vanguard verschwand im Rahmen einer Reorganisation. In den späten 1980er Jahren wurde das Tektronix VM700 TV-Messgerät in einer V-Netzwerkumgebung entwickelt und lief mit einer leicht veränderten Version des V-Betriebssystems; dieses Gerät wird nach wie vor hergestellt und verkauft.