MenüNetzwerklösungen, Webprogrammierung, Intranetlösungen, Datenbanken, Anwendungsprogrammierung und Systemsicherheit aus einer Hand in Bad Tölz
Diese Seite vergleicht den Boliden Linux mit DOS

 Vergleich

DOS mit Linux zu vergleichen ist etwa so haarsträubend wie der Vergleich zwischen einem Trabbi und einem Porsche...

Aber

Beide haben einen Motor, vier Räder und stinken....

Hersteller

Der Hersteller des Betriebssystems DOS dürfte allgemein bekannt sein.
Linux dagegen läßt sich nicht so ohne weiteres irgend einem Hersteller zuordnen.
Vielmehr ist mit Linux eigentlich nur der Betriebssystemkern gemeint, dessen Ursprünge auf der von dem Finnen Linus Benedict Thorvalds 1992 entwickelten Kernelversion 0.12 zurückgehen.

Seit dieser Zeit wird Linux weltweit (!) ständig getestet und weiterentwickelt (man stelle sich mal diese Manpower vor!!!) und hat sich inzwischen mit den 2.4.xx -er Versionen zu einem sehr ausgereiften und äußerst stabilen Betriebssystem gemausert.

Zu allem Überfluß ist Linux auch noch Freeware!!!
Und es kommt noch besser! Der gesamte Quellcode (Programmiersprache C) ist frei erhältlich; diesen kann man auf eine recht bequeme Weise auf seinem Rechner neu kompilieren und somit die Eigenschaften der verwendeten CPU voll ausreizen.
Noch Fragen?

 
Distributionen

Aber eine Schwalbe macht noch keinen Frühling, und genauso wenig kann man mit einem "nackten" Betriebssystemkern (der übrigens gerade mal ca. 500 KB groß ist) irgendwas brauchbares anfangen.
Daher gibt es mittlerweile recht viele "Linux-Distributionen", Pakete, die neben dem eigentlichen Betriebssystemkern noch eine Fülle von Anwendungsprogrammen enthalten (so 4-5 vollgepackte CD's, komprimiert!!!), die in aller Regel Freeware sind.
Und diese Distributionen kosten natürlich was - ist ja eine Dienstleistung - in der Regel so knapp 100 €. Dafür erhält man mittlerweile einen Setup-Komfort, der den Windows-Setup ziemlich blaß aussehen läßt.
Bekanntester Distributor in Deutschland ist S.u.S.E. Auch RedHat und Debian haben international ziemlich hohe Marktanteile, die Installation ist jedoch bei diesen Distributionen weniger komfortabel.

 
Knoppix - Linux On CD

Warum überhaupt installieren? Linux läßt sich mit mehr oder weniger Aufwand auch direkt von der CD booten. Klaus Knopper macht es mit seiner eleganten CD-Lösung "Knoppix-CD" vor: CD einlegen - booten - und schon hat man mit KDE 3.x eine der modernsten grafischen Benutzeroberflächen auf dem Schirm. Mit Browser, Email, Office und was man sonst so braucht.

 
Privates Linux

Doch damit nicht genug. Wer sich mit Linux gut auskennt, der kann sich seine eigene "Distribution" ganz individuell selbst "stricken". Denn alles, was man dazu braucht kann man sich vom freundlichen GNU herunterladen. Und immer auf dem neuesten Stand halten

 
Oberfläche

Das ist auch schon die größte Gemeinsamkeit zwischen DOS und Linux - die kommandozeilenorientierte Oberfläche.

Während aber DOS direkt nach dem Booten betriebsbereit ist, muß man sich unter Linux erst mal in eine sogenannte "virtuelle Konsole" einloggen. Und das hat ganz triftige Gründe:

  1. Gibt das einen gewissen Schutz vor unberechtigtem Zugriff, denn das Einloggen auf so eine Konsole kann über die Tastatur, die serielle Schnittstelle, von einem anderen Rechner im lokalen Netzwerk oder, ISDN-Karte oder Modem vorausgesetzt, von irgendeinem Rechner irgendwo auf der weiten Welt aus erfolgen.
  2. Es gibt bis zu 64 Konsolen, die völlig unabhängig voneinander arbeiten - ganz grob vergleichbar mit den Fenstern von Windows. Sollte sich also mal ein Programm "aufhängen", einfach mit <ALT>+F2 auf die 2. Konsole umschalten und das Proggi einfach mit kill <pidnummer> "entsorgen". Wie man die PID-Nummer rauskriegt - später....
  3. Gut für Programmierer: Auf der ersten Konsole editieren, auf der 2. kompilieren, auf der 3. das Proggi testen und auf der 4. entsorgen, falls was schief geht.

Selbstverständlich gibt's unter Linux auch eine grafische Oberfläche (X-Window, meist "Konsole" Nr.7), aber dazu später mehr.

 
Netzwerke

Eine der herausragenden Stärken von Linux ist seine Netzwerkfähigkeit.
Während DOS praktisch keinerlei Netzwerkunterstützung bietet, hat Linux alles, was man sich an Netzwerkunterstützung nur vorstellen kann, bereits "unter der Haube". Egal, ob es nur um ein lokales Netz geht oder den Betrieb im Internet, als stinknormaler "Stand-alone-Rechner" oder als File-, Web-, FTP- oder weiß der Geier was für ein Server.
Die eingebaute Hardware erkennt Linux dabei beim Systemstart vollautomatisch und äußerst zuverlässig, also kein "Plug and Pray"

 
Stapelverarbeitung
"Batch"

Batchdateien sind unter DOS ein beliebtes Mittel, um gewisse Dinge, die sich öfter wiederholen, zu automatisieren. Diese Dateien werden ausführbar gemacht, in dem man ihnen die Dateiendung BAT (="Batch") verleiht.
Auch Linux beherrscht die Stapelverarbeitung, nur, wie sollte es auch anders sein, noch viel perfekter!
Die "Spielregeln":

  • In der ersten Zeile muß #!/bin/sh stehen.
  • Leerzeilen werden ignoriert.
  • Kommentare werden nicht mit "rem" oder ":" eingeleitet, sondern mit einem #
  • Die Parameter heißen nicht "%1, %2" usw., sondern "$1, $2" usw.
  • Anschließend muß diese Datei mit chmod 755 batchdatei ausführbar gemacht werden.

Im Gegensatz zu DOS-Batch's kann man unter Linux auch rechnen:


c=1
c=$((c+1))

Oder Kommandos bedingt ausführen lassen und dieses noch sauber verschachteln: (man beachte die Leerzeichen in den eckigen Klammern)


if [ ! f xyz.txt ] ; then
   echo "Inhalt von xyz.txt" > xyz.txt
   if [ ! f xyz.txt ] ; then
      echo "Dumm gelaufen..."
   fi
fi

Kleine Schleife gefällig?


c=0
while test $c != "10" ; do
   c=$((c+1))
   echo "Bla Bla Bla"
done

Oder mal auf die Schnelle einen Super-Simpel-Counter als CGI/SSI-Programm?


read z < z
z=$((z+1))
echo $z | tee z

Einbinden in die Webseite an passender Stelle mit

<!--#exec cmd="./z.cgi"-->

Sieht dann im Browser so aus: 2919 (Lade diese Seite mal neu...)
Wenn Du Dir dann noch den Referenzteil genau zur Brust nimmst, dann kommt spätestens hier so richtig Freude auf...

 
Speicherverwaltung    

Während DOS nur die untersten 640 KB des Arbeitsspeichers für Anwendungen nutzen kann und diesen Speicher zu allem Elend auch noch segmentiert, das heißt, in 10 64-KB-Häppchen zerlegt, nutzt Linux den kompletten Arbeitsspeicher "am Stück", also ohne die sehr nachteilige Segmentierung. Genauer gesagt, wird unter Linux nur auf einen "virtuellen" Speicher zugegriffen, der sich aus dem Arbeitsspeicher und einer Auslagerungsdatei (oder noch effizienter: Auslagerungspartition!) zusammensetzt.
Diese Speicherverwaltung integriert das Caching, Buffering und das Auslagern (swap) und verwendet nach Möglichkeit nur Arbeitsspeicher für die aktuellen Prozesse.
Für das Caching braucht DOS den SMARTDRV, der aber ein "festes Stück" Speicher für sich beansprucht und daher wenig flexibel ist.
Kein Wunder also, daß Linux selbst auf einem 386-er noch erstaunlich schnell ist.

 
Beenden

Wenn pures DOS auf dem Rechner läuft, kann man, sofern keine Anwendung läuft, den Rechner einfach ausschalten.
Tu das bloß nicht mit Linux - und sei die Versuchung noch so groß. Ähnlich wie Windows, muß auch Linux "'runtergefahren" werden, bevor der Finger zum Netzschalter zuckt.
Mit reboot wird der Rechner neu gebootet, auch die berühmten "Drei Musketiere" <Strg>+<Alt>+<Entf> fahren den Rechner korrekt 'runter.
Das Kommando halt bewirkt das gleiche, nur daß der anschließende Bootvorgang unterbleibt.

 

Und hier ist noch eine tabellarische Zusammenfassung für fortgeschrittene DOS-ler:

Betriebssystem    

Im Gegensatz zu DOS besitzt Linux keinen ausführbaren Bootsektor, der das Betriebssystem in den Speicher lädt.
Vielmehr wird Linux über den "LILO" im MBR (das ist nicht der Bootsektor, sondern der 1. Sektor der Platte, der auch die Partitionstabelle enthält) oder direkt aus DOS heraus mit dem "LOADLIN" gestartet.
Die Shell kann man frei wählen, meist wird das wohl die "bash" sein.

 DOSLinux
KernIO.SYS
MSDOS.SYS (nur bis 6.22)
vmlinuz
ShellCOMMAND.COMsh, bash, ksh,...
Systemstart

Während DOS gleich nach dem Booten betriebsbereit ist, muß man sich unter Linux erst mal in eine "virtuelle Konsole" einloggen. Dafür stehen hier bis zu 64 solcher völlig unabhängiger Konsolen zur Verfügung zwischen denen jederzeit umgeschaltet werden kann.

 DOSLinux
BootenEin Programm im MBR führt den Bootsektor der aktiven Partition aus. Dieser lädt und startet den Betriebssystemkern (IO.SYS), der daraufhin die Dateien CONFIG.SYS und AUTOEXEC.BAT ausführt.Der Betriebssystemkern wird in den Speicher geladen und ausgeführt. Ein Teil der Treiber ist normalerweise direkt im Kern integriert; diese erkennen die Hardware automatisch.
TreiberDie meisten Treiber werden mit der CONFIG.SYS geladen. Die AUTOEXEC.BAT hat meist vorbereitende Aufgaben.Einige Treiber, die nicht im Kern enthalten sind, werden über eine Vielzahl von Konfigurationsdateien als "Module" nachgeladen.
Befehle

Manchmal ist ein direkter Vergleich etwas schwierig. In dieser Liste kommen also nur die Befehle vor, die einen direkteren Vergleich zulassen. Mehr dazu im Referenzteil.

AktionDOSLinux
Bildschirm löschen
Dateiliste
Ordner wechseln
Ordner erstellen
Dateien / Ordner löschen
Kopieren
Verschieben
Dateien anzeigen
Seitenweise
Sortiert
Textteile suchen
CLS
DIR
CD
MD
DEL / DELTREE
COPY
MOVE / REN
TYPE
MORE
SORT
FIND
clear
ls -l
cd
mkdir
rm
cp
mv
cat
more
sort
grep
Batch Text ausgeben
Leerzeile
Bedingung
 
 
echo Kleiner Spruch
echo.
if exist datei del datei
 
 
echo "Kleiner Spruch"
echo
if [ -f datei ]
then
    rm datei
fi