Hi Lowlevel-Community!
Mein Multitasking funktioniert so eigentlich einwandfrei! Ich kann die Programme starten die ich will. Jetzt stellt sich aber nur eine Frage! Wie erkenne ich ob ein Programm terminiert ist? Ich hab schon überlegt ob ich das irgendwie mit dem Stack lösen kann z.B. mein Stack ist (14*unsigned long) Bytes groß wenn ich das Programm starte. Da hab ich mir gedacht überprüfe ich doch einfach bei jedem mal wenn ich wieder im Kernel bin ist mein Stack (14*unsigned long) Bytes groß? Wenn ja hau ich das Programm aus dem Speicher. Ist dieser Gedanke zielführend oder gibt es da eine bessere/elegantere/sichere Lösung? Wie habt ihr das gemacht? meine Programme sehen zz. folgendermaßen aus:
Ich möchte aber dass es so funktioniert:
Danke!
Mein Multitasking funktioniert so eigentlich einwandfrei! Ich kann die Programme starten die ich will. Jetzt stellt sich aber nur eine Frage! Wie erkenne ich ob ein Programm terminiert ist? Ich hab schon überlegt ob ich das irgendwie mit dem Stack lösen kann z.B. mein Stack ist (14*unsigned long) Bytes groß wenn ich das Programm starte. Da hab ich mir gedacht überprüfe ich doch einfach bei jedem mal wenn ich wieder im Kernel bin ist mein Stack (14*unsigned long) Bytes groß? Wenn ja hau ich das Programm aus dem Speicher. Ist dieser Gedanke zielführend oder gibt es da eine bessere/elegantere/sichere Lösung? Wie habt ihr das gemacht? meine Programme sehen zz. folgendermaßen aus:
Code: [Auswählen]
#include <stdio.h>
void main() {
printf("OS1 Testprogramm\n\n");
while(1){}
}
Ich möchte aber dass es so funktioniert:
Code: [Auswählen]
#include <stdio.h>
void main() {
printf("OS1 Testprogramm\n\n");
return;
}Danke!

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert

