Reentranz

Antworten
markusk
HELP.COM-Benutzer
Beiträge: 45
Registriert: Fr 19. Apr 2013, 11:12

Reentranz

Beitrag von markusk »

Hallo,

Ich hab vor mich mit der Programmierung von TSR Programmen zu beschäftigen und da kommt unweigerlich der Begriff Reentranz ins Spiel. Hab mir die größtenteils identischen Erläuterungen dazu durchgelesen, aber irgendwie blick ich da nicht ganz durch.

Folgendes ist mir bis hierher klar: DOS ist als Singletask System darauf ausgelegt daß DOS Funktionen, also jene die über den Interrupt 21h aufgerufen werden, schön der Reihe nach ausgeführt werden. Es kann ja schließlich auch nur ein Programm laufen welches diese Funktionen aufruft. Wenn man ein anderes starten will muß man das aktuell ausgeführte erst beenden.

Wenn nun ein TSR Programm durch seinen Hotkey aktiviert wird kann es sein daß es eine aktuell ausgeführte DOS Funktion unterbricht und das kann dann zu Problemen führen weil DOS genau auf so einen Fall nicht vorbereitet ist.

Versteh ich auch noch aber noch nicht worin das Problem genau besteht welches durch die Unterbrechung der DOS Funktion verursacht wird. Kann mir das jemand erläutern?

Lg, Markus
wobo
DOS-Guru
Beiträge: 603
Registriert: So 17. Okt 2010, 14:40

Re: Reentranz

Beitrag von wobo »

Selbst getestet habe ich da nichts. So wie ich es bisher verstanden habe, benutzen die DOS-Routinen teilweise globale Variablen. Diese werden dann natürlich für die unterbrochene Funktion fehlerhaft, wenn die Unterbrecher-Funktion globale Werte verändert. Ich denke hier z.B. an die FAT oder anderes.

Genaues weiß ich aber auch nicht.
Antworten