Basis-DOS für virtuelle Maschinen

Wer DOS noch von früher kennt, weiß, wie wichtig es ist, möglichst viel der Verfügbaren 640 KiB zu frei zu haben. Wer DOS nicht von früher kennt: Egal, wie viel RAM ein Computer unter DOS hat, es bleibt stets zusätzlich ein Limit von 640 KiB für die maximale Größe eines Programms. Dieser Wert ist maximal, zusätzliche Treiber oder Systemprogramme benötigen zusätzlichen Speicher.

640K ought to be enough for anybody.

Hat Bill Gates wohl nie gesagt,
er ist damit in guter Gesellschaft von
Albert Einstein und Oscar Wilde ;)

Heutzutage wird DOS hauptsächlich in virtuellen Maschinen betrieben. Der Speichermanager EMM386, der Blöcke im oberen Speicher (UMB) für Treiber verfügbar macht, findet dort nicht mehr automatisch die korrekten Speicherbereiche.

EMM386 unterstützt zwei Modi, EMS und XMS. Wir behandeln hier nur XMS, da EMS nur für wirklich alte Software verwendet wird. Der notwendige Parameter für ist NOEMS. Der Parameter RAM kann benutzt werden, um den Speicherbereich, der für UMBs benutzt werden soll. Ohne weitere Spezifizierung wird der gesamte Bereich von 640 KiB an benutzt. Zusätzlich können über den Parameter I=xxxx-yyyy bestimmte Bereiche angewiesen werden. Dies ist notwendig, um auf modernen Computern mit Virtual Box die UMBs verfügbar zu machen. Folgende Bereiche stehen zur Verfügung:

Bereich Verwendung Benutzbar?
A000-AFFF VGA Videospeicher. Nicht verfügbar.
B000-B7FF Videospeicher für Monocromdisplays (MDA). Sicher, die VM hat ein Farbdisplay.
B800-BFFF Videospeicher für Farbdisplays (CGA). Nicht Verfügbar.
C000-C7FF Video ROM. Nicht benutzbar.
C800-EFFF Verschiedene ROMs. Hard drive Rom von C800 bis CFFF, andere BIOS-Daten (Extended BIOS). Sollte verfügbar sein.
F000-FFFF BIOS ROM. Nicht verfügbar.

Diese Liste gibt uns zwei Zusammenhängende Bereiche von Hauptspeicher, einmal ein kleiner Bereich (32 KiB von B000 bis B7FF) und einmal (160 KiB von C800 bis EFFF); zusammen 192 KiB. Diese beiden Bereiche können beim Laden in den oberen speicher über DEVICEHIGH oder LH mit /L:1 bzw. /L:2 angesprochen werden. Die kleinen Treiber sollten in den vorderen Bereich geladen werden, die großen in den hinteren. Wenn man optimieren möchte, es handelt sich hierbei um eine Instanz des Bin Packings Problems (Achtung! NP-Schwer ;)).

Eine CONFIG.SYS für den Anfang könnte also so aussehen:

Basiskonfiguration CONFIG.SYS

Basiskonfiguration CONFIG.SYS

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE RAM NOEMS /I=E000-EFFF /I=B000-B7FF /I=C800-CFFF /I=D000-DFFF
DOS=HIGH,UMB
DEVICEHIGH /L:1=C:\DOS\SETVER.EXE
COUNTRY=049,850,C:\DOS\COUNTRY.SYS
DEVICEHIGH /L:1=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
FILES=30

Die zugehörige Basisversion der AUTOEXEC.BAT ist dann:

Basiskonfiguration AUTOEXEC.BAT

Basiskonfiguration AUTOEXEC.BAT

@ECHO OFF
PROMPT $p$g
LH /L:2 C:\DOS\SMARTDRV.EXE /X
PATH C:\DOS
SET TEMP=C:\DOS
MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI)
MODE CON CODEPAGE SELECT=850
LH /L:2 KEYB GR,,C:\DOS\KEYBOARD.SYS
LH /L:2 DOSKEY.COM

Auf dieser Konfiguration aufbauend, kann dann das System weiter aufgesetzt werden. Es gibt noch reichlich freien Speicher im oberen Speicherbereich und ein Großteil der 640 KiB sind verfügbar.

DOS Memory-Übersicht

Verfügbarer Speicher und Treiber im hohen Speicherbereich im Basissystem.

Geschrieben von Kap. Zuletzt geändert am 19. Dezember 2018.

Ein Switch für EntertainTV mit IGMPv3

Aktuelle Netzwerkkonfiguration mit altem Switch

Die bisherige Einrichtung der Medien-Zentrale im Wohnzimmer

Zum Anschluss zahlreicher internetfähiger Geräte steht schön im Schrank versteckt ein kleiner, alter Switch. Der Betreibt unter anderem magentanes IPTV der Marke EntertainTV. Das nutzt zum Verteilen der Daten Multicast und das Verfahren IGMPv3. Bei der Einrichtung können zahllose Probleme auftreten; das Internet ist voll davon. Um es überhaupt erstmal zum Laufen zu bekommen, kann es notwendig sein in die Tiefen der Routerkonfiguration abzusteigen und am VLAN-Tagging rumzuspielen. Wenn das Fernsehen dann läuft, wie es soll können weitere Probleme auftreten.

Multicast ist die richtige Technologie für IPTV. Wie der Name andeutet, verbreitet Multicast Datenpakete an viele viele Empfänger. Damit wird ermöglicht, dass viele Nutzer sich einen Datenstrom teilen und nicht das ganze Netz (in diesem Fall der Telekom) überlasten. Im Heimnetz kann das jedoch Probleme verursachen. Der Datenstrom soll hier ja nur an ein bestimmtes Gerät gehen (den IPTV-Receiver). Alte Hardware, die das moderne Protokoll nicht kennt, kann keine Zuordnung an ein spezielles Gerät vornehmen. Daher wird der Datenstrom einfach überall hin gesendet.

Das Verfahren funktioniert in dem Sinne, dass der Receiver das TV-Signal empfängt und man damit Fernsehen kann. Als unschöner Nebeneffekt empfangen jedoch alle anderen Geräte im Netz ebenfalls die Daten. Was einige über Kabel angeschlossene Geräte, wie ein PC, das gut abkönnen, ist die Lage bei WLAN leider anders. Die Vielen überflüssigen Datenpakete verstopfen das Funktnetz und sorgen dafür, dass WLAN nicht funktioniert. Zur Lösung gibt es zahllose Beiträge in diversen Blogs und Foren, zum Beispiel bei Dennis Hobmaier für einen Netgear GS108Ev2 beschreibt oder bei Stübi, der ebenfalls die Netgear-Konfiguration beschreibt.

Antiker Switch Frontansicht

Leicht vergilbt und angestaubt: Der antike Noname-Switch. Bisher hat er immer gute Dienste geleistet.

Antiker Switch Hinten

Von hinten ein normaler 8-Port-Switch, nicht viel anders als aktuelle Geräte.

Genau das Problem habe ich gehabt. Die Geräte im Wohnzimmer hängen alle an einem Switch, dessen Alter ich nicht mehr genau bestimmen kann. Ich schätze mal, dass er so 20 Jahre auf dem Buckel hat. Und damit nichts mit IGMPv3 anfangen kann. An dieser Stelle eine Warnung: auch moderne Switches müssen das nicht unterstützen! Hinter dem Switch ist ein WLAN-Access-Point. Und in der Konsequenz, kann man nicht gleichzeitig Fernsehen und das WLAN nutzen.

Konfiguration

Ich habe mich für den TP-Link TL-SG2008 entschieden. Mit TP-Link-Hardware habe ich bisher immer gute Erfahrungen gemacht, laut Einträgen im Telekomhilft-Forum funktioniert er zusammen mit EntertainTV und ansonsten scheint er von der Technik ganz gut zu sein, und das zu einem vernünftigen Preis. Auch wenn er nicht mehr so günstig ist, wie der Noname-Switch, den ich damals für 30 DM kaufen konnte. (DM, das war das Ding vor dem Euro…)

Man kann direkt loslegen mit dem TV-Konsum, aber um das Problem mit dem überlasteten WLAN zu beheben ist etwas Konfiguration notwendig. Im wesentlichen muss nur IGMP-Snooping aktiviert werden, das sich im Menü hinter dem Punkt Multicast verbirgt. Es genügt leider nicht, einfach einen Haken zu setzen. Glücklicherweise informiert die erste Seite direkt, dass drei Konfigurationen durchgeführt werden müssen: Global Config, was die erste Snooping Config-Seite ist, sowie Port Config und VLAN Config, die folgenden Konfigurationsseiten.

Standardmäßig ist IGMP Snooping deaktiviert. Es muss zunächst auf Enable gesetzt werden.
TP-Link TL-SG2008 Konfiguration IGMP Snooping

Globale IGMP-Snooping-Konfiguration

Weiter geht es mit der Portkonfiguration. Hier muss das Snooping für die einzelnen Ports aktiviert werden. Ich habe es für alle aktiviert, ob es Nachteile gibt, wenn man zu viele auswählt, weiß ich nicht. Es könnte aber einen Einfluss auf die Leistungsfähigkeit haben.
TP-Link TL-SG2008 Konfiguration IGMPv3 Ports

Portkonfiguration

Zuletzt muss das VLAN konfiguriert werden. Das hier ist nicht zu verwechseln mit der generellen VLAN-Konfiguration. Es muss vermittels Create ein neues VLAN erstellt werden. Dieses VLAN wird die Multicast-Daten empfangen. Das heißt, hier dürfen nur die Ports aktiviert werden, an denen der eingehende Datenstrom vom Router anliegt und der Mediareceiver angeschlossen ist. Bei mir sind das die Ports 1 und 2. Die abschließende Konfiguration sieht wie im Bild aus, die aktiven Router Ports für das VLAN sind 1-2.
TP-Link TL-SG2008 Konfiguration IGMP VLAN

VLAN-Konfiguration

Die Konfiguration ist nun fertig, Auf den Ports 1 und 2 werden die Multicast-Daten verteilt, und Geräte ohne IGMPv3-Support, wie der WLAN-Router können an den Ports 3-6 angeschlossen werden.

Weite Konfigurationen können nun natürlich im Anschluss vorgenommen werden. Zum Beispiel der Datenvorrang. Man kann da unterschiedlich argumentieren. Ich denke ja, das Fernsehen sollte gegenüber anderen Daten nachrangig behandelt werden, aber Dennis Hobmaier kommt zu einem anderen Fazit, „Schließlich sollte TV Vorrang gegenüber Daten-Downloads haben“.

Zuletzt sieht die Medienzentrale nun auch schöner und weniger vergilbt aus. Aber das sieht man im verschlossenen Schrank ja eher nicht.

Die neue Media-Zentrale

Die aktualisierte Media-Zentrale mit dem neuen IGMPv3-Fähigen Switch und dem alten (nicht fähigen) Access-Point. Je ein HDMI- und Ethernet-Kabel erlauben, weitere Geräte schnell anzuschließen.

Geschrieben von Kap. Zuletzt geändert am 18. Dezember 2018.