|
mxKernStruk.h |
/*
* mxKernStruk.h
*
* ====================================================================================================================
* Im Modul mxKernStruk werden die Datenstrukturen definiert, die der Betriebs-
* systemkern fuer die Verwaltung der Prozesse benoetigt.
* ====================================================================================================================
*/
#ifndef __mxKernStruk__
#define __mxKernStruk__
#include "mxStrukturen.h"
#include "mxDienstStruk.h"
#include "mxListe.h"
/***************
** Strukturen **
***************/
typedef struct { /* Umgebung eines wartenden Prozesses */
void *UserStackZeiger; /* aktueller UserStack-Zeiger 4 */
long DatenRegister[8]; /* Inhalte der Daten-Register 32 */
long AdressRegister[7]; /* Inhalte der Adress-Register 28 */
short StatusRegister; /* Inhalt des Status-Registers 2 */
void *RuecksprungAdresse; /* Adresse, ab der der Prozess weiterlaeuft 4 */
} tProzessUmgebung; /* Summe = 74 */
typedef struct { /* benoetigter Speicher eines Prozesses, Groessen in Byte */
void *UserStack; int UserStackGroesse; /* Beginn und Groesse des Benutzerkellers */
void *KernStack; int KernStackGroesse; /* Beginn und Groesse des Systemkellers */
} tBelegterSpeicher;
typedef struct { /* Verwaltungs-Daten eines Prozesses */
tProzessName Name; /* Name des Prozesses (Startkommando) fuer Anzeige */
tProzessStatus Status; /* Status des Prozess-Verwaltungs-Blocks */
int Zeitscheibe; /* Zeitscheibe in Uhr-Ticks */
int Abgeschossen; /* gibt an, ob der Prozess abgeschossen wurde */
int AmTerminieren; /* gibt an, ob der Prozess gerade terminiert */
int WechselZaehler; /* speichert den Wert des Erlaubtzaehler's */
tLEDStatus LED; /* LED-Anzeige des Prozesses */
tProzessUmgebung *ProzessUmgebungP; /* Verweis auf Prozess-Umgebung */
tListenKnoten StatusKnoten; /* Listenknoten der Prozesslisten */
tBelegterSpeicher Speicher; /* Informationen ueber vom Prozess belegten Speicher */
} tProzessVerwaltungsBlock;
typedef tProzessVerwaltungsBlock /* Tabelle, in der alle Prozesse verwaltet */
tProzessTabelle[cMaximaleProzessAnzahl]; /* werden */
#endif
Bei Problemen mit der Seite bitte eine Mail an Marek
Converted with C2HTML V0.669 by Iluvatar
Prozeßdatenverarbeitung