Wenn Systemprotokollmeldungen (alle: Hardware, Sicherheit, Syserr usw.) in OpenVOS generiert werden, werden sie an die Syserr-Partition gesendet und ein Ereignis wird gemeldet. Ein Prozess namens „TheOverseer” wartet auf dieses Ereignis, zusammen mit vielen anderen Ereignissen.
Um dieses Ereignis zu verarbeiten, liest TheOverseer die Nachrichten aus der Partition aus und speichert sie in seinem Benutzer-Heap. Anschließend schreibt es die Nachrichten in das Modul-Konsolenterminal, schreibt sie in das angegebene Protokoll und löscht sie dann aus dem Benutzer-Heap. Wenn einer der beiden Schreibvorgänge fehlschlägt, verbleibt die Nachricht im Benutzer-Heap, um später erneut versucht zu werden.
Die Partition ist in ihrer Größe begrenzt. Der Benutzer-Heap enthält nur eine bestimmte Anzahl von Protokollmeldungen. Wenn einer dieser Bereiche überläuft, die angegebene Protokolldatei für das Schreiben durch einen anderen Prozess gesperrt ist oder das Konsolenterminal defekt ist, wird ein Flag gesetzt. Dies führt dazu, dass vorhandene Meldungen überschrieben werden und TheOverseer **Log Messages Lost** (Protokollmeldungen verloren) in die syserr_log und an die Konsole ausgibt.
Der Overseer hat viele Aufgaben zu erledigen. Dazu gehören unter anderem die Erstellung und Beendigung von Prozessen, die Kommunikation vom Typ „send_message“ und andere Aufgaben, die viel Zeit und Rechenleistung in Anspruch nehmen können. Wenn dieser Prozess ausgelastet ist, kann er den syserr-Ereignismechanismus nicht regelmäßig bedienen, was zu einem syserr-Wraparound führen kann.
Jedes Modulereignis, das eine Flut von Nachrichten in die syserr-Partition verursacht (z. B. das gleichzeitige Beenden vieler Prozesse, das Schreiben von Benutzeranwendungen in die syserr usw.), kann dazu führen, dass die Partition voll wird. Aus diesem Grund empfehlen wir, dass Benutzeranwendungen den syserr_log-Mechanismus nicht zum Speichern von standortspezifischen Protokollinformationen verwenden. Benutzeranwendungen sollten ihre eigenen Mechanismen zum Speichern von anwendungsspezifischen Protokollinformationen verwenden.
