DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 117567 - Geändert am: Dienstag, 27. August 2002 - Version: 1.0

 
Dieser Artikel wurde zuvor veröffentlicht unter D36192
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
117567  (http://support.microsoft.com/kb/117567/EN-US/ ) How 16-Bit and 32-Bit Programs Multitask in Windows 95

Zusammenfassung

In Windows 95 werden alle 32-Bit-Anwendungen präemptiv eingeplant. Präemptives Multitasking ermöglicht es Windows 95, zwischen 32-Bit-Anwendungen umzuschalten, ohne daß diese Anwendungen darauf vorbereitet sein müssen, die Kontrolle der CPU abzugeben. Beim 32-Bit-Multitasking ist keine Kooperation zwischen der Anwendung und dem Betriebssystem erforderlich.

Weitere Informationen

32-Bit-Anwendungen:
Die 32-Bit-API (application program interface) -Funktionen und die Anwendungen, die diese Funktionen aufrufen, dienen dazu, die beim präemptiven Multitasking bestehenden gleichzeitigen Anforderungen zu unterstützen. Alle internen Datenstrukturen werden entweder als einzelne Threads zugewiesen oder durch Semaphoren (oder kritische Code-Abschnitte) vor Beschädigung geschützt. Dadurch wird sichergestellt, daß eine 32-Bit-Anwendung nicht die von einer anderen 32-Bit-Anwendung benötigten Daten zerstört, indem sie gleichzeitig die gleichen APIs aufruft. Bei Win32 und seinen APIs ist dies möglich, da sie simultan verwendbar sind (d.h., der Code kann von mehreren Programmen gleichzeitig genutzt werden).

Windows 95 schützt 32-Bit-Anwendungen zusätzlich vor unbeabsichtigtem Datenverlust, indem es jede Anwendung in einem eigenen Adressbereich ausführt. Dies bedeutet, daß eine andere Anwendung nicht auf die Daten für eine bestimmte Anwendung zugreifen kann. Der Nachteil dieser Schutzfunktion besteht darin, daß die Anwendungen die Daten nicht problemlos gemeinsam nutzen können, wie dies der Fall wäre, wenn sie im gleichen Adressbereich ausgeführt würden und vollständigen Zugriff auf die jeweiligen Codes und Daten der anderen Anwendungen hätten.

16-Bit-Anwendungen:
Unter Windows 3.x und Windows für Workgroups 3.x erfolgt das Multitasking von 16-Bit-Anwendungen kooperativ, indem sie die Kontrolle der CPU häufig anderen Anwendungen überlassen. Dieses kooperative Multitasking bedeutet, daß eine Anwendung so lange die Kontrolle über die CPU hat, bis sie sie freigibt. Eine Beschädigung von Datenstrukturen wird durch die kooperative Programmumschaltung verhindert.

Unter Windows 3.x, Windows für Workgroups 3.x und Windows 95 werden alle 16-Bit-Anwendungen im gleichen Adressbereich ausgeführt. Dadurch können die Anwendungen Ressourcen gemeinsam nutzen, es besteht allerdings auch ein größeres Risiko, daß Daten einer anderen Anwendung überschrieben werden.

Einige 16-Bit-Anwendungen sind von den Funktionen des kooperativen Multitasking abhängig. Diese Anwendungen können folgendes voraussetzen:
  • Die Kontrolle der CPU, der Anzeige und anderer Ressourcen wird erst abgegeben, wenn die Anwendung selbst die Kontrolle abgibt.
  • Ressourcen wie Pens und Pinsel können von einer Anwendung erstellt und an eine andere weitergegeben werden.
  • Die gemeinsame Nutzung von Daten zwischen Anwendungen kann dadurch erfolgen, daß in den Datenbereich einer anderen Anwendung geschrieben wird.
Aufgrund der für die Umschaltung zwischen Anwendungen erforderlichen Kooperation kann es dazu kommen, daß auch Windows nicht mehr reagiert (hängt), wenn eine 16-Bit-Anwendung hängenbleibt, bevor sie die Kontrolle an eine andere Anwendung abgegeben hat. Die in Windows 3.1 eingeführte Funktion des lokalen Neustarts von Anwendungen (Application Local Reboot) behebt dieses Problem teilweise, indem die nicht mehr reagierende Anwendung geschlossen und es dadurch Windows und den anderen ausgeführten Programmen ermöglicht wird, weiterzulaufen. Es ist jedoch zu beachten, daß das erfolgreiche Funktionieren des lokalen Neustarts davon abhängt, wie schwerwiegend das Problem war, das zum Hängen einer bestimmten Anwendung geführt hat.

HINWEIS: Der lokale Neustart ermöglicht die Verwendung der Tastenkombination STRG+ALT+ENTF, um eine nicht mehr reagierende Anwendung zu schließen.

Windows 95 stellt einen Ausgleich her zwischen den Erfordernissen der Abwärtskompatibilität, der Fähigkeit, auf einem 4-MB-Computer zu laufen und der Bereitstellung des präemptiven Multitasking, indem es einen Großteil der auf dem 16-Bit-Code beruhenden Plattform und damit die vorherige Funktionalität aufrechterhält und dem 32-Bit-Code mehr Funktionalität verleiht.
Dies bedeutet, daß einige 32-Bit-Aufrufe an den 16-Bit-Code adressiert werden und umgekehrt. Wenn eine 32-Bit-Anwendung den 16-Bit-Code aufruft, kann ein schlecht konstruiertes 16-Bit-Programm dazu führen, daß eine 32-Bit-Anwendung nicht mehr reagiert.

Dieses Problem kann auftreten, wenn die beiden folgenden Bedingungen vorliegen:
  • Eine 16-Bit-Anwendung reagiert nicht mehr, bevor sie die Kontrolle abgegeben hat.
  • Eine 32-Bit-Anwendung ruft eine API auf, die auf 16-Bit-Code umgeleitet wird.
Um dieses Problem zu beheben, führen Sie einen lokalen Neustart durch, um die nicht mehr reagierende 16-Bit-Anwendung zu schließen. Die Funktion des lokalen Neustarts wurde in Windows 95 weiter verbessert, um 16-Bit-Anwendungen zuverlässiger zu machen.

Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, daß nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachige(n) Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows 95
Keywords: 
KB117567
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Zurückgezogener KB-ArtikelDisclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store