Enden Sie und bleiben Sie ortsansässig

Enden Sie und Bleiben Sie Ortsansässig (TSR) ist ein Computersystem rufen DOS-Computer Betriebssysteme herbei, der Kontrolle ins System zurückgibt, als ob das Programm aufgehört hat, aber das Programm im Gedächtnis behält. Viele Softwareverkäufer verwenden den Anruf, das Äußere des Mehrbeschäftigens zu schaffen, indem sie Kontrolle zurück dem begrenzten Programm auf automatischen oder äußerlich erzeugten Ereignissen, wie das Drücken eines bestimmten Schlüssels auf der Tastatur übertragen. Einige TSR Programme sind effektiv Gerät-Fahrer für die Hardware, die nicht direkt durch das Betriebssystem unterstützt ist, während andere kleine Dienstprogramme sind, die oft verwendete Funktionalität wie Terminplanung anbieten, und sich mit Verzeichnissen in Verbindung setzen.

Kurze Geschichte

Normalerweise im MS-DOS Betriebssystem kann nur ein Programm zu jeder vorgegebenen Zeit laufen, und wenn es aufhören will zu laufen, gibt es die Kontrolle zum Schale-Programm von DOS mit dem Systemanruf auf. Das Gedächtnis und die durch das Programm verwendeten Systemmittel werden als unbenutzt gekennzeichnet, effektiv es unmöglich machend, Teile davon wieder aufzufordern, ohne es von Kratzer umzuladen. Jedoch, wenn ein Programm mit dem Systemanruf endet, oder das Betriebssystem verwendet keinen bestimmten angegebenen Teil des Gedächtnisses des Programms wieder.

Das Verwenden TSR

Der ursprüngliche Anruf wird 'begrenzt genannt, aber bleiben Sie ortsansässig', folglich der Name 'TSR'. Mit diesem Anruf kann ein Programm bis zu 64 Kilobytes seines Gedächtnisses ortsansässig machen. MS-DOS-Version 2.0 hat einen verbesserten Anruf eingeführt, ('Behalten Prozess'), der diese Beschränkung entfernt hat und lassen Sie das Programm einen Ausgangscode zurückgeben. Vor dem Bilden dieses Anrufs kann das Programm einen oder mehrere Unterbrechungsdressierer installieren, die in sich hinweisen, so dass es wieder genannt werden kann. Die Installation eines Hardware-Unterbrechungsvektoren erlaubt solch einem Programm, auf Hardware-Ereignisse zu reagieren. Die Installation eines Softwareunterbrechungsvektoren erlaubt ihm, durch das zurzeit laufende Programm genannt zu werden. Die Installation eines Zeitmesser-Unterbrechungsdressierers erlaubt einem TSR, regelmäßig zu laufen (sieh ISA und programmierbaren Zwischenraum-Zeitmesser, besonders die Abteilung "IBM PC vereinbar").

Die typische Methode, einen Unterbrechungsvektoren zu verwerten, schließt das Lesen seines aktuellen Wertes (die Adresse), Speicherung davon innerhalb des Speicherraums des TSR und Installation eines Zeigestocks zu seinem eigenen Code ein. Die versorgte Adresse wird genannt, nachdem der TSR die Unterbrechung erhalten hat und seine Verarbeitung beendet hat, tatsächlich eine einzeln verbundene Liste von Unterbrechungsdressierern, auch genannt Unterbrechungsdienstroutinen oder ISRs bildend. Dieses Verfahren, ISRs zu installieren, wird genannt, kettend oder eine Unterbrechung oder einen Unterbrechungsvektoren anhakend.

Durch das Anketten der Unterbrechungsvektoren konnten TSR Programme ganze Kontrolle des Computers nehmen. Ein TSR konnte einen von zwei Handlungsweisen haben:

  • Nehmen Sie ganze Kontrolle einer Unterbrechung, indem Sie anderen TSRs nicht nennen, der vorher denselben Unterbrechungsvektoren verändert hatte.
  • Kaskade mit anderem TSRs durch das Benennen des alten Unterbrechungsvektoren. Das konnte vorher getan werden, oder nachdem sie ihren wirklichen Code durchgeführt haben. Auf diese Weise konnte TSRs eine Kette von Programmen bilden, wo jeder den folgenden nennt.

'Begrenzt und bleiben' Residentmethode wurde durch die meisten MS-DOS-Viren verwendet, die entweder Kontrolle des PCs nehmen oder im Vordergrund bleiben konnten. Viren würden auf die Platteneingabe/Ausgabe oder Ausführungsereignisse durch das Anstecken rechtskräftig (.EXE oder.COM) Dateien reagieren, als sie geführt wurden und Datendateien, als sie geöffnet wurden.

Teile von DOS selbst, besonders in DOS-Versionen 5.0 und später, haben diese dieselbe Technik verwendet, um nützliche Funktionen, wie der DOSKEY Redakteur der Befehl-Linie und die verschiedenen anderen installable Dienstprogramme durchzuführen, die durch das Laufen von ihnen an der Befehl-Linie (manuell oder von AUTOEXEC.BAT) aber nicht als Fahrer durch CONFIG.SYS installiert wurden.

Ein TSR Programm kann jederzeit geladen werden; manchmal werden sie sofort nach dem Stiefel des Betriebssystems geladen, indem sie in AUTOEXEC.BAT Gruppe-Programm, oder wechselweise auf das Verlangen des Benutzers (zum Beispiel, das SideKick und Turbotesthilfeprogramm von Borland oder QuickPay von Quicken) ausführlich geladen wird. Diese Programme, weil 'TSR' einbezieht, werden ortsansässig im Gedächtnis bleiben, während andere Programme durchführen. Die meisten von ihnen haben keine Auswahl, um sich auswendig ausgeladen zu werden, so TSR zu nennen, bedeutet, dass das Programm im Gedächtnis bis zu einem Neustart bleiben wird. Jedoch Entleerung ist äußerlich, mit Dienstprogrammen wie MARK.EXE/RELEASE.EXE Combo durch die Software von TurboPower oder den weichen Neustart TSRs möglich, der eine spezifische Schlüsselkombination fangen und den ganzen nach ihnen geladenen TSRs veröffentlichen wird. Da die Kette von ISRs einzeln verbunden wird, gibt es keine Bestimmung, für die Adresse des vorherigen Dressierers zu entdecken, oder seinen Vorgänger zu informieren, dass es seine "folgende Adresse aktualisieren muss, zu der man springt", um zum TSR nicht hinzuweisen, der wünscht, sich zu entfernen. Das hat TSR Zusammenarbeit-Fachwerk wie TesSeRact und AMIS verursacht.

Das Unterbrechungsteilen

Um Probleme mit vielen TSR Programmen zu führen, die dieselbe Unterbrechung teilen, wurde eine Methode genannt Alternate Multiplex Interrupt Specification (AMIS) von Ralf Brown vorgeschlagen, wie eine Verbesserung vorher Dienstleistungen verwendet hat, die über die INTERNE NUMMER 2Fh angeboten sind. AMIS stellt Weisen zur Verfügung, Softwareunterbrechungen auf eine kontrollierte Weise zu teilen. Es wird nach dem Unterbrechungsteilen-Protokoll von IBM modelliert, das ursprünglich erfunden ist, um Hardware-Unterbrechungen eines x86 Verarbeiters zu teilen.

AMIS Dienstleistungen sind über die Interne Nummer 2Dh http://www.ctyme.com/intr/int-2d.htm verfügbar (sieh die Unterbrechungsliste von Ralf Brown).

Der Vorschlag hat nie eine weit verbreitete Traktion unter Programmierern in seinen Tagen gewonnen. Es hat neben mehreren anderen konkurrierenden Spezifizierungen der unterschiedlichen Kultiviertheit http://www.ctyme.com/intr/cat-042.htm bestanden.

Schulden

Während sehr nützlich, oder sogar notwendig, um die Beschränkungen von DOS zu überwinden, hatten TSR Programme einen Ruf als Unruhestifter. Viele der Programme haben effektiv das Betriebssystem im Verändern von dokumentierten oder undokumentierten Wegen entführt, häufig Systeme veranlassend, auf ihrer Aktivierung oder Deaktivierung, wenn verwendet, mit besonderen Anwendungsprogrammen oder anderem TSRs abzustürzen. Wie erklärt, oben wurden einige Viren als TSRs codiert und waren absichtlich lästig. Zusätzlich musste der ganze Programm-Code in DOS-Systemen, sogar diejenigen mit großen Beträgen des physischen RAM, in die ersten 640 Kilobytes des RAM (das herkömmliche Gedächtnis) geladen werden. TSRs waren keine Ausnahme, und haben Klötze von diesen 640 Kilobytes genommen, die so zu Anwendungsprogrammen nicht verfügbar waren. Das hat bedeutet, dass das Schreiben eines TSR eine Herausforderung war, die kleinstmögliche Größe dafür zu erreichen, und es für die Vereinbarkeit mit vielen Softwareprodukten von verschiedenen Verkäufern häufig eine sehr enttäuschende Aufgabe zu überprüfen.

Gegen Ende der 1980er Jahre und Anfang der 1990er Jahre haben viele Videospiele auf der PC-Plattform gegen diese Grenze und verlassen immer weniger Raum für TSRs-sogar wesentliche wie CD-ROM-Fahrer - und das Ordnen von Dingen hochgeschoben, so dass es genug freien RAM gab, um die Spiele zu führen, durch das Halten der notwendigen TSRs-Gegenwart, eine Zauberei geworden ist. Viele gamers hatten mehrere Stiefelplatten mit verschiedenen Konfigurationen für verschiedene Spiele. In späteren Versionen des MS-DOS, "haben" Stiefelmenüschriften verschiedenen Konfigurationen erlaubt, selectable über eine einzelne "Stiefelplatte" zu sein. Mitte - zu den späteren 1990er Jahren, während viele Spiele noch für DOS geschrieben wurden, wurde die 640K-Grenze schließlich durch das Stellen von Teilen der Daten des Spiels und/oder Programm-Codes über dem ersten 1 Mb des Gedächtnisses und das Verwenden des Codes unter 640K überwunden, um auf das verlängerte Gedächtnis zuzugreifen (DOS-Erweiterungsmethoden verwendend) mit dem Code, der ins niedrigste 1 Mb des RAM als Bedeckungen wird tauscht. Weil die Programmierung mit vielen Bedeckungen eine Herausforderung in und von sich ist, sobald das Programm zu groß war, um völlig in ungefähr 512 Kilobytes zu passen, wurde der Gebrauch des verlängerten Gedächtnisses fast immer mit einem Dritt-DOS-Ex-Anerbieten getan, das VCPI oder DPMI durchführt, weil es viel leichter und schneller wird, um auf Gedächtnis über der 1-Mb-Grenze, und möglich zuzugreifen, Code in diesem Gebiet zu führen, wenn der x86 Verarbeiter von der echten Weise bis geschützte Weise geschaltet wird. Jedoch seit DOS und allen DOS-Programmen, die in der echten Weise geführt sind (lassen VCPI oder DPMI ein geschütztes Weise-Programm wie ein echtes Weise-Programm zu DOS und dem Rest des Systems durch die Schaltung hin und her zwischen den zwei Weisen aussehen), DOS TSRs und Gerät-Fahrer auch, die in der echten Weise geführt sind, und so jede Zeit bekommt man Kontrolle, muss das DOS-Ex-Anerbieten zurück auf die echte Weise umschalten, bis es Kontrolle aufgibt, eine Zeitstrafe übernehmend.

Zurückkehren

Mit der Ankunft von ausgebreiteten Speichervorstands- und besonders Verarbeiter von Intel 80386 in der zweiten Hälfte der 1980er Jahre ist es möglich geworden, Gedächtnis über 640 Kilobytes zu verwenden, um TSRs zu laden. Diese erforderliche komplizierte Software Lösungen, genannt hat Speicherbetriebsleiter, aber zur Verfügung gestellt etwas zusätzliches atmendes Zimmer seit mehreren Jahren ausgebreitet. Berühmte Speicherbetriebsleiter sind QRAM und QEMM durch das Achterdeck, 386Max durch Qualitas, CEMM durch Compaq und später EMM386 durch Microsoft. Die Speicherbereiche, die verwendbar sind, um TSRs über 640 Kilobytes zu laden, werden "obere Speicherblöcke" (UMBs) genannt, und ladende Programme in sie wird genannt, hoch ladend. Später haben Speicherbetriebsleiter einschließlich Programme angefangen, die versuchen würden automatisch zu bestimmen, wie man am besten TSRs zwischen dem niedrigen und hohen Gedächtnis zuteilt (Achterdeck Optimieren oder MemMaker des Microsofts), um zu versuchen, den verfügbaren Raum in den ersten 640 Kilobytes zu maximieren.

Niedergang

Mit der Entwicklung von Spielen mit dem DOS-Ex-Anerbieten (war ein bemerkenswertes frühes Beispiel Schicksal), der die 640-Kilobyte-Barriere umgangen hat, sind viele der Probleme in Zusammenhang mit TSRs, und mit der weit verbreiteten Adoption von Windows von Microsoft und besonders Windows 95 (gefolgt von Windows 98) verschwunden — der meiste TSRs unnötig und einige TSRs unvereinbar gemacht hat — ist der TSR ins Veralten verwelkt, obwohl Win16 Anwendungen TSR ähnliche Tricks wie Flicken des IDT tun konnten, weil Windows der echten Weise es erlaubt hat. Der TSR ist jetzt fast völlig, als stark mehrbeanspruchend Betriebssysteme wie Windows-Aussicht, Windows 7, Mac OS X verschwunden, und Linux stellt die Möglichkeiten für vielfache Programme und Gerät-Fahrer zur Verfügung, um gleichzeitig ohne das Bedürfnis nach speziellen Programmiertricks zu laufen, und der moderne Begriff des geschützten Gedächtnisses macht den Kern und seine Module exklusiv verantwortlich dafür, einen Unterbrechungstisch zu modifizieren.

Siehe auch

Außenverbindungen

häufig gestellte

TSR, Inc. / Winthrop
Impressum & Datenschutz