Sie sind Hier:
Startseite
Betriebssysteme
OS/2
Warp 5
OS/2 Warp
5.0 installieren
Merkmale von
OS/2 (Operating System 2) sind vor allem
die einfache und mächtige Oberfläche WPS
(Workplace Shell), Stabilität und Technologievorsprung.
Die Oberfläche ist vollkommen objektorientiert
aufgebaut.
OS/2 von IBM ist seit
der Version 2.0 nicht mehr mit DOS oder
Windows Erweiterungen zu vergleichen. Diese
neue Version entsprach auch einer neuen
Betriebssystem Generation, die das volle
Leistungspotenzial einer 32-Bit CPU nutzten
konnte, entwickelt nur noch von IBM. Bis
zur Version 1.3 hatte IBM mit Microsoft
zusammengearbeitet. Insgesamt über 30.000
Beta Tester hatten die Vorabversion getestet.
Es wurde unter dem Motto "Better DOS than
DOS" verwirklicht und zur Reife gebracht.
Viele DOS und Windows (3.x, Win32s) Programme
werden unter OS/2 schneller ausgeführt als
in der Originalumgebung.
Das Projekt
Odin hat das Ziel, Win32 Programme (Windows
9x und Windows NT) nativ in OS/2 Warp auszuführen.
Dies geschieht zum einen durch Konvertierung
der .EXE und .DLL Dateien in das OS/2 Format
oder zum anderen über Anpassung des Abbild
zur Laufzeit im Speicher wie bei OS/2 Programmen.
Genauer gesagt, wird das PE (Portable Executable)
Win32 binär Format in das OS/2 LX (Linear
eXecutable) Format umgewandelt.
Ein besonderes Projekt ist das von Serenty
Systems weiterentwickelte Betriebssystem
eComStation. Das Betriebssystem OS/2
wurde abgewandelt und auf den neuesten technischen
Stand gebracht, die Oberfläche wurde ebenfalls
verbessert.
24.05.2003, eComStation
1.1 Serenity Systems hat Version 1.1
der auf OS/2 4.52 basierenden eComStation
veröffentlicht. Interessierte können zwischen
dem Grundsystem mit wenigen Standard Programmen,
oder einer Version mit zusätzlichen Programmen
wählen. Optional gibt es auch ein Upgrade
für SMP Support (bis 64 CPUs) und die Funktion
als Server, basierend auf dem OS/2 Warp
Server für e-Business. Auf NTFS Laufwerke
kann jetzt mit Lesezugriff gearbeitet werden.
09/2003, Veröffentlichung
der deutschsprachigen Version von eComStation
1.1, mit überarbeitetem GUI, neuen Treibern,
NTFS read-only Support.
[ Weblink
www.ibm.com ] [
odin.netlabs.org ] [
www.ecomstation.com ]
Anwendungsgebiet
- vereinzelt
kleine Firmen, Endanwender
- Kommunikations-
und Transaktionsserver im Banken- und Versicherungswesen
- andere
bestehende Großkunden
Strukturinformationen
- OS/2,
MS-DOS und 16-Bit Windows Anwendungen
- WPS (Workplace
Shell) mit mächtiger Skriptsprache
- Monolithischer
Kernel
- präemptives
Multi-Tasking
- 1 bis
64 CPU System
- 32-Bit
Betriebssystem
Systemumgebung
- HPFS,
JFS
- optimiert
für Webanwendungen; mit Tools für Netzwerkmanagement
- liest
FAT16 Dateisystem und mit Shareware Lösungen
FAT32, VFAT, NTFS, ext2fs, HFS
- verbindent
Plattformen in der Server Version
Besonderheiten
- sehr stabil,
Abschirmung der einzelnen Prozesse voneinander
- austauschbare
Dateisysteme durch Installable
File Systems
|
Datum
|
Version
|
|
1987,
|
OS/2
1.0, 16-Bit |
|
1988,
|
OS/2
1.1, 16-Bit |
|
1989,
|
OS/2
1.2, 16-Bit, erstmals HPFS im Einsatz,
verbesserter Presentations Manager
|
|
1991,
|
OS/2
1.3, 16-Bit |
|
1992,
März |
OS/2
2.0, neu konzipiert, Presentation
Manager optimiert, geschützter Speicherbereich,
bis zu 240 gleichzeitige DOS-Sessions
möglich, 32-Bit, hohe Kompatibilität
zu OS/2 1.x Anwendungen, DOS 2.x
- 5.x, Windows 2.x - 3.x, "Cut &
Paste", neue Workplace Shell (WPS),
unterstützt LAN Server 2.0, Extended
Services 2.0 |
|
1994,
Jan. |
OS/2
2.1, Grafiksubsystem optimiert,
Duale DOS-Sessions, APM, PCMCIA
|
|
1994,
Okt. |
OS/2
Warp 3.0, netzwerkfähig, P2P
|
|
1996,
|
OS/2
Warp Server, Kombination aus Warp
3.0 und IBM's LAN Server 4.0, Serverdienste,
Remote Zugriff |
|
1996,
Okt. |
OS/2
Warp 4.0, (merlin) Integration des
Pentium III Befehlssatzes, verbessertes
Plug & Play sowie Multimedia, enthält
Java und VoiceType Technologie,
universeller Netzwerk Client
|
|
199?,
|
Version
4.51, völlig verbesserte und überarbeitete
Version der Version 4
|
|
1999,
|
Warp
Server für E-Business, Netfinity
Manager, Java 1.1.6 JDK, neuer 32-Bit
Kernel, SMP für bis zu 64 CPUs,
JFS (64 bit Journaling File System),
optimiertes TCP/IP Protokoll
|
| |
Version
5.0, (aurora) OS/2 Warp Server für
E-Business, technisch weiterentwickelt,
JFS Dateisystem, max. 64 CPU's
|
Installationshinweise OS/2:
Ablauf der Installation
Nach der Installationsdiskette und Diskette
1 und 2 (bei OS/2 V.4) startet die CD und es
kommt zur Auswahl
Partitionierung
Soll neben OS/2 auch ein weiteres Betriebssystem
auf dem Rechner installiert werden, muss die
Platte partitioniert werden. Dabei ist zu berücksichtigen,
dass man eine kleine Partition für den OS/2
Bootmanager reserviert. OS/2 kann in einer logischen
Partition installiert werden.
Filesystem HPFS oder FAT
Man kann OS/2
auf einer FAT-Partition installieren. Allerdings
reduziert man die Geschwindigkeit des Systems
enorm. Die Angst, man käme nicht mehr an das
System heran, ist unbegründet. Man erreicht
es bequem über die Systemdisketten oder per
Alt-F1
beim Booten des Rechners.
Ein guter Grund, HPFS nicht zu installieren
ist, wenn der Speicher kleiner als 8 MB ist
und das Fehlen von knapp einem Megabyte Hauptspeicher
relevant ist. Auch, wenn ein Dual-Boot-System
installiert werden soll, ist die Verwendung
von FAT erforderlich, da man DOS oder Windows
nicht zur Verwendung von HPFS überreden kann.
Im Fall, dass HPFS nicht installiert wird, sollte
nach der Installation der Eintrag aus der CONFIG.SYS
herausgenommen werden. Ansonsten wird dennoch
der HPFS-Treiber geladen. Er befindet meist
in der ersten Zeile und lautet (in etwa)
IFS=D:\OS2\HPFS.IFS /CACHE:1024 /CRECL:4 /AUTOCHECK:DE
HPFS-Partitionen können übrigens von Windows
NT 3.51 direkt verwendet werden. Besitzt man
NT 4.0 kann man mit Hilfe des alten Treibers
ebenfalls HPFS-Partitionen bearbeiten und lesen.
Dual Boot
Bei dieser Art der Installation wird OS/2 in
die Bootpartition von MS-DOS bzw. Windows installiert.
Dazu ist es natürlich erforderlich, dass OS/2
in einem FAT-System unterkommt. Dieses Vorgehen
ist sinnvoll, wenn ansonsten zuwenig Plattenplatz
zur Verfügung steht.
Wird Dual Boot mit Windows 95 installiert, ist
zu beachten, dass das BOOT.COM in der normalen
MS-DOS-Eingabeaufforderung nicht das Recht hat,
die Installationsdateien zu verändern. Um dennoch
auf OS/2 wechseln zu können, wird über Start
- Beenden im MS-DOS-Modus gestartet. Dort kann
nun der Befehl zum Booten von OS/2 eingegeben
werden.
\OS2\BOOT /OS2
Installationsprobleme
IBM unterstützt OS/2 immer noch durch eine Vielzahl
von Treibern, die sie auf ihren Webseiten zum
Herunterladen bereit halten.
Grafikkarten
OS/2 läuft auf allen VGA-kompatiblen Karten
in der Auflösung 640x480. Wer mehr Auflösung
haben will, braucht einen OS/2-Treiber für seine
Grafikkarte.
Stellt man nach der Installation des Grafikkartentreibers
fest, dass man nichts mehr sehen kann, kann
man beim Booten mit Alt-F1 den Vorgang unterbrechen
und auf Standard-VGA zurückschalten.
Grosse Platten
Auf EIDE-Platten über 8,4 GByte kann mit älteren
Versionen nicht installiert werden. Es gibt
von IBM auf deren Webseiten einen neuen IDE-Treiber,
den man sich herunterladen kann. Ein genaues
Vorgehen ist dort beschrieben.
Kleinigkeiten
Startup der zuletzt gelaufenen Prozesse
OS/2 versucht beim Start alle Programme wieder
zu starten, die beim letzten Systemabschluß
noch gelaufen sind. Das ist oft nicht erwünscht.
Man kann es in der CONFIG.SYS abschalten:
SET RESTARTOBJECT=STARTUPFOLDERSONLY
Bootprobleme
Eingriffe ins Booten von OS/2
Ab Version 3 kann man mit Alt-F2 beim Booten
anzeigen lassen, welche Treiber gerade geladen
werden.
Durch Alt-F1 erscheint ein Menü, bei der folgende
Möglichkeiten bestehen:
|
ESC |
Systemstart fortsetzen |
|
C |
In den Befehlszeilenmodus
|
|
V |
Bildschirm auf Standard VGA stellen
|
|
M |
Über Installation anpassen starten
|
Dies ist vor allem hilfreich, wenn beim Installieren
mal den falschen Treiber erwischt haben sollte.
Schwarzer Bildschirm, zwei SYS-Nummern beim
Booten
Wenn ein bisher laufendes OS/2-System beim Booten
nicht mehr startet, ist oft die Ursache, daß
jemand die Diskette im Laufwerk gelassen hat.
OS/2-formatierte Disketten bringen nicht die
Meldung, dass kein System auf dem Medium sei
und man eine Taste drücken soll, sondern zwei
kryptische OS/2 SYS-Meldungen. Nach Entfernen
der Diskette muß neu mit Strg-Alt-Entf neu gebootet
werden. Ein einfacher Tastendruck reicht nicht.
Systempannen
System hängt
Wenn die Maus sich noch bewegt, aber der Rechner
auf keine Taste mehr reagiert, dann kann man
mit dem Herausziehen und dem Wiedereinstecken
des Tastatursteckers erstaunliche Erfolge erzielen.
Sollte sich so nichts rühren, kann man mit Strg-ESC
die Fensterliste anfordern. Erscheint sie nicht
sofort, wartet man eine halbe Minute, ohne eine
weitere Taste zu drücken. Im Allgemeinen meldet
OS/2 dann das Programm, das den Rechner blockiert
und bietet an, es abzuschießen.
Systemabsturz
Ein Absturz des Betriebssystem ist unter OS/2
relativ selten. In den meisten Fällen stirbt
das verursachende Programm allein. Ein Absturz
hat einen schwarzen Textbildschirm zur Folge,
auf dem ein Registerauszug steht und die Bitte,
sich an den Systemadministrator zu wenden. In
den allermeisten Fällen haben solche Abstürze
etwas mit Treibern oder nicht einwandfreier
Hardware zu tun. Besonders beliebt als Auslöser
ist die Verwendung unterschiedlicher Speichermodule
in einer Bank.
Prozessliste
Neben der Fensterliste,
die durch Strg-ESC erreicht wird (oder die Windows-95-Taste),
gibt es vom OS/2-Fenster aus die Möglichkeit,
die Prozeßliste anzuzeigen. Der Befehl dazu
lautet
pstat
und sollte am besten gleich in Kombination mit
more
verwendet werden.
pstat | more
Die Nummern am
Anfang sind die Prozeßnummer jedes Prozesses
in hexadezimaler Schreibweise. Wenn man über
einen
kill
verfügt, kann man ihn mit dieser Nummer abschießen.
In der PD gibt es diverse Ausprägungen. Beim
PC/TCP von ftp-Software wird ein
kill
automatisch installiert. Diesem kann man die
hexdezimalen Zahlen durch Voranstellen von 0x
direkt zuführen.
Die zweite Nummer
in der
pstat-Anzeige
ist die Prozessnummer des Elternprozesses.
Check der OS/2-Bootpartition
Soll die Bootpartition gecheckt werden, ist
die einfachste Möglichkeit die, einen Check
beim Booten zu erzwingen. In der CONFIG.SYS
findet man in der ersten Zeile den Treiber für
das HPFS. Dort gibt der Parameter /AUTOCHECK-Parameter
an, welche Platten automatisch geprüft werden.
IFS=D:\OS2\HPFS.IFS /CACHE:1024 /CRECL:4 /AUTOCHECK:DE
Im oberen Fall sind das die Platten D: und E:.
Um einen Bootcheck zu provozieren, startet man
das System neu und wartet, bis keinerlei Aktivitäten
auf dem System mehr feststellbar sind. Nach
einer weiteren Wartefrist schaltet man den Strom
aus. Strg-Alt-Entf reicht nicht! Beim nächsten
Reboot prüft OS/2 automatisch die Partitionen.
Tuning OS/2
OS/2 Minimalinstallation
Wird OS/2 auf einem Rechner installiert, der
nicht so leistungsfähig ist, gibt es einige
Punkte, bei denen man sparen kann.
Ist der Hauptspeicher knapp (unter 8 MB), wird
man das HPFS nicht installieren. Nicht zu vergessen,
den Eintrag "IFS=D:\OS2\HPFS.IFS..." aus der
CONFIG.SYS zu nehmen. Das bringt mindestens
1 MB Hauptspeicher.
Wer auf Multimedia verzichten kann, sollte es
bereits bei der Installation deaktivieren. Das
spart Festplattenplatz, Speicher und Prozessorleistung.
Ein nachträgliches Installieren ist etwas aufwendig.
OS/2 Plattentuning
Der wichtigste Schritt, die Platte zu beschleunigen,
ist die Installation von HPFS. Ein OS/2-System
auf einer FAT-Partition verliert massiv an Performance.
Es entsteht ein Eintrag in der CONFIG.SYS, der
etwa wie folgt aussieht:
IFS=D:\OS2\HPFS.IFS /CACHE:1024 /CRECL:4 /AUTOCHECK:DE
Zur weiteren Beschleunigung der Platte kann
der Cache hochgezogen werden. Bei HPFS-Platten
wird dies in der CONFIG.SYS im Parameter /CACHE
des HPFS-Treibers eingestellt. OS/2 lässt ein
Maximum von 2048.
Swapping
Wenn es OS/2 an Hauptspeicher mangelt, lagert
es Teile des verwendeten Speichers auf die Platte
aus. Wie dies geschieht, wird in der CONFIG.SYS
durch den Eintrag SWAPPATH eingestellt.
SWAPPATH=C:\OS2 20480 10240
Der Ort der Datei sollte auf der Platte liegen,
die am geringsten belastet wird. Dort sollte
die Partion mit den häufigsten Zugriffen gewählt
werden. Hinter dem Pfad stehen zwei Zahlenwerte.
Der erste gibt an, wieviel Platz auf der Platte
lassen soll, wenn die Swapdatei vergrössert
wird. Der zweite Wert ist die minimale Grösse
der Datei. Hier macht es Sinn, den Wert hochzuziehen,
wenn es der Plattenplatz zulässt. Dadurch wird
ein Wachsen und Schrumpfen und damit eine Fragmentierung
der Datei vermieden.
Vordergrundprozesse ohne Priorität
In der CONFIG.SYS steht der Parameter PRIORITY_DISK_IO
normalerweise auf YES. Damit haben Vordergrundprozesse
höhere Priorität als Hintergrundprozesse. Wird
der Rechner in erster Linie als Server verwendet,
empfielt es sich, diese auf NO zu stellen.
OS/2 Programmierung
Compiler unter OS/2
Die kostengünstigste und keinesfalls die schlechteste
Lösung ist der GNU-Compiler, der in zwei Versionen
exisitiert. Die emx-Portierung hat dabei den
Vorteil, dass sie weitgehend UNIX-kompatibel
ist. Dadurch sind auch beinahe alle GNU-Tools
unter OS/2 kostenlos verfügbar. Wer mit Kommandozeilen-Tools
wie make und grep zurechtkommt, kann mit diesem
Compiler gute Ergebnisse erzielen. Es ist durchaus
problemlos möglich, Programme mit einer GUI
zu entwickeln. Siehe dazu auch die Doku von
emx.
Von IBM gibt es den Visual Age Compiler, der
wohl etwas gewöhnungsbedürftig ist, aber von
den Benutzern einhellig sehr gelobt wird.
Von Borland gibt es einen C++ Compiler in der
Version 2, der mit der OWL ausgestattet ist
und es damit erlaubt, portable Programme zwischen
OS/2 und Windows zu entwickeln. Allerdings ist
die OWL nicht ganz fertig und auch auf einem
älteren Entwicklungsstand. Etwas tückisch ist,
dass Borland den OS/2-Linker verwendet, der
aber ab Version 4 nicht mehr an Bord ist. Glücklich,
wer da noch eine alte Version von OS/2 im Schrank
hat.
Watcom C++ enthält auch einen OS/2-Compiler.
An einigen Stellen ist er anderen Lösungen überlegen,
wie bei der Entwicklung von Multitarget-Projekten.
Der Compiler hat keinen eigenen Editor und startet
stattdessen den EPM von OS/2. Nett ist die vi-Version,
die im Paket enthalten ist.
Hilfedateien unter OS/2
Unter OS/2 gibt es zwei Arten von Hilfedateien.
Diejenigen mit der Endung INF können durch Doppelklick
von der Oberfläche aus verwendet werden. Für
die Verwendung aus dem Programm heraus werden
Dateien mit der Endung HLP verwendet.
Eine OS/2-Hilfedatei kann aus einer einfachen
ASCII-Datei hergestellt werden. Die "Sprache"
heisst IPF. Die Datei wird durch den IPF-Compiler
ipfc in eine entsprechende Zieldatei compiliert.
Der Syntax hat mehr Ähnlichkeiten zu HTML als
zu TeX, ist aber recht schnell erlernbar. Hier
ein Beispiel:
:userdoc.
:h1 id=Inhalt. Dies ist eine Überschrift;
:i1.Stichwort für den Index
Dieser Bereich ist über das Schlüsselwort
Inhalt anspringbar. :p. Nun beginnt ein neuer
Absatz. Dieser Link markiert eine :link refid=fussnote
reftype=fn.Fussnote:elink.,
die nähere Informationen liefert.
:fn id=fussnote.fussnote
Was zwischen fn und efn steht, erscheint
dann als kleines Fenster über
dem Link.
:efn.
:euserdoc.
Ein Tag erscheint immer zwischen einem Doppelpunkt
und einem Punkt. Ein Bereich wird eingerahmt
durch ein Tag und das entsprechende Ende-Tag.
Diesem wird einfach ein e im Namen vorangestellt.
Kill-Programm für OS/2
Das Programm ist
recht einfach um den Aufruf
DosKillProcess
herum gestrickt. Für Administrationszwecke ist
es sehr nützlich. Man kann damit Programme über
ihre Prozessnummer gewaltsam abschiessen. Dabei
ist auch eine Verwendung der hexadezimalen Zahlen,
wie sie pstat liefert möglich, indem man 0x
voranstellt (0x12 = 18).
#define INCL_DOSPROCESS
#include <os2.h>
#include <stdio.h>
#include <stdlib.h>
void Usage(void)
{
puts("kill pid");
exit(1);
}
int Digit(char Zeichen)
{
if (Zeichen>='0' && Zeichen <='9')
return (Zeichen - '0');
if (Zeichen>='A' && Zeichen <='F')
return (Zeichen - 'A' + 10);
if (Zeichen>='a' && Zeichen <='f')
return (Zeichen - 'a' +10);
return -1;
}
long GetValue(char *Str)
{
long Wert = 0;
int Basis = 10;
int Ziffer;
while (*Str==' ') Str++;
if (*Str=='0') {
Basis = 8;
Str++;
if (*Str=='x' || *Str=='X') {
Basis = 16;
Str++;
}
}
Ziffer = Digit(*Str);
while (Ziffer>=0) {
Wert = Wert*Basis + Ziffer;
if (Ziffer>=Basis) {
puts("PID not consistent");
exit(2);
}
Str++;
Ziffer = Digit(*Str);
}
return Wert;
}
main(int argc, char **argv)
{
unsigned long ActionCode = DKP_PROCESS;
PID ProcessID;
int RetValue;
if (argc!=2) Usage(); else { ProcessID
= GetValue(argv[1]); RetValue = DosKillProcess(ActionCode,
ProcessID); if (RetValue) { switch(RetValue)
{ case 13: // ERROR_INVALID_DATA: puts("invalid
data"); break; case 217: // ERROR_ZOMBIE_PROCESS:
puts("process terminated, but parent still
not notified"); break; case 303: // ERROR_INVALID_PROCID:
puts("no such process"); break; case 305:
//ERROR_NOT_DESCENDANT: puts("not descendant");
break; default: puts("unexpected error");
} } } }
|