Semwork ist ein Lernprogramm für Studenten des Fachbereichs Nachrichtentechnik der Fachhochschule Köln. Es beschreibt die Funktionsweise von Semaphoren. Semaphore werden in der Datenverarbeitung als Sperrmechanismen eingesetzt, die unter bestimmten Voraussetzungen Prozesse blockieren.
Zunächst wird der Aufbau und die Funktionsweise eines einzelnen Semaphors beschrieben. Anschließend wird die Verwendung von Semaphoren zur Prozeßverwaltung anhand einiger Beispielprogramme verdeutlicht. Im dritten Abschnitt werden die Systemoperationen vorgestellt, die in dem Betriebsystem UNIX implementiert wurden, um Semaphore zu erzeugen und zu manipulieren.
Am Ende dieses Workshops hat man auf der Seite write and test die Möglichkeit, selbst Semaphoroperationen einzugeben und zu testen.
Die einzelnen Beispiele wurden in Form von Java-Applets realisiert, das Programm kann daher nur mit einem java-fähigen Browser durchlaufen werden.

Was ist ein Semaphor ? Beispiele
Aufbau
Datenstrukturen
Zugriffsoperationen P(), V(), INIT()
Reihenfolgedurchsetzung
wechselseitiger Ausschluß
Erzeuger-/ Verbraucherproblem
Philosophenproblem
UNIX - Systemoperationen write and test
semget()  semctl()  semop() Semaphoroperationen eingeben und testen