Passa al contenuto principale

Quando i messaggi di log di sistema (tutti: hardware, sicurezza, syserr, ecc.) vengono generati in OpenVOS, vengono inviati alla partizione syserr e viene notificato un evento. Un processo chiamato TheOverseer è in attesa di quell'evento, insieme a molti altri eventi.

Per gestire questo evento, TheOverseer legge quindi i messaggi dalla partizione e li memorizza nel suo mucchio di utenti. Poi scrive i messaggi sul terminale della console del modulo, li scrive nel log specificato e poi li cancella dall'archivio utenti. Se una delle due scritture non ha successo, il messaggio rimane nell'user heap per un tentativo successivo.

La partizione è di dimensioni limitate. L'heap utente conterrà solo un dato numero di messaggi di log. Se una di queste aree trabocca, il file di log specificato viene bloccato per la scrittura da qualche altro processo, o il terminale della console è rotto, viene impostato un flag. Questo fa sì che i messaggi esistenti vengano sovrascritti e TheOverseer emetterà **Log Messages Lost** nel syserr_log e nella console.

TheOverseer ha molti compiti da svolgere. Tra questi vi sono la creazione e la distruzione di processi, il tipo di traffico di comunicazione send_message e altri, che possono richiedere una notevole quantità di tempo e di elaborazione. Se questo processo è occupato, allora non servirà spesso il meccanismo degli eventi syserr, e può portare ad un "wraparound" del syserr.

Qualsiasi evento del modulo che provochi una marea di messaggi da inserire nella partizione del syserr (es: arresto di molti processi tutti in una volta, applicazioni utente che scrivono al syserr, ecc) può causare il riempimento della partizione. Per questo motivo, si sconsiglia alle applicazioni utente di utilizzare il meccanismo syserr_log per mantenere le informazioni di registrazione specifiche del sito. Le applicazioni utente dovrebbero utilizzare i propri meccanismi per contenere informazioni di log specifiche dell'applicazione.

© 2024 Stratus Technologies.