Linux - Was ist das eigentlich ?
Allgemeines zu Linux:
Linux ist ein vollständiges, POSIX-konformes Betriebssystem für
PC mit 386SX oder höherem Prozessor. Es sieht aus wie ein echtes
Unix-System ist aber von Grund auf neu geschrieben worden. Linux
ist sowohl als Quellcode als auch in kompilierter Form erhältlich.
Das Copyright liegt bei Linus B. Torvalds und ist unter der
GNU Public License
frei weitervertreibbar.
Eigenschaften:
- Multitasking: Mehrere Programme laufen gleichzeitig ab.
- Multiuserbetrieb: Mehrere Benutzer können gleichzeitig
auf einer Maschine arbeiten.
- Läuft im 386-Protected-Mode mit Speicherschutz für die
Prozesse: Ein Prozeß kann nicht das ganze System lahmlegen.
- "demand loads executables": Lädt nur die Programmteile
in den Speicher, die gerade benötigt werden.
- "shared copy-on-write pages": Mehrere Prozesse können sich
denselben Speicher teilen.IPC
- Virtueller Speicher durch Paging: Auslagern einzelner
Speicherseiten (nicht Prozesse) auf Festplatte.
- Freie Speicherverfügbarkeit für Programme und Cache:
Damit Anpassung der Cachegröße an den Speicherbedarf.
- Dynamische und Statische Libraries.
- Quellcode-kompatibel zu POSIX, System V und BSD.
- Vollständig verfügbarer, freier Quellcode des Kernels,
aller Treiber und nahezu aller Programme.
- POSIX Job-Kontrolle.
- POSIX Threads
- Pseudoterminals (pty's)
- Virtuelle Consolen: Dadurch paralleles Arbeiten mit unabhängigen
Login-Sessions möglich (unabhängig von der Video-Hardware).
- Unterstützung vieler nationaler und anwenderdefinierter
Tastaturen.
- Zugriff auf DOS,V-FAT,HPFS undNTFS(read-only) Partitionen möglich
- SMPSymetrisches Multi-Processing
- Netzwerk-Unterstützung einschließlich
TCP/IP, IPX, NFS, SMB, Novell.
- Plug-and-Play für PCMCIA-Ethernet-Karten.
Hardwareanforderungen
Linux benötigt mindestens einen Intel oder AMD 386SX Prozessor mit
ISA, EISA oder Local-Bus. Die kleinstmögliche Konfiguration ist
ein 386SX/16 mit 2 MB RAM, 1.44 MB oder 1.2 MB Laufwerk und einer
unterstützten Grafikkarte (sowie Tastatur, Monitor ...). Das reicht aus,
um das System zu Booten und auf der Maschine auszuprobieren, aber nicht
um damit irgendetwas sinnvolles zu machen.
Für sinnvolles Arbeiten mit dem System sind ein schnellerer Prozessor
(386DX/33, besser höher), mindestens 4 MB RAM (für X11 besser
min 8 MB), sowie eine Festplatte notwendig. Die Festplattengröße
richtet sich nach der installierten Software. Grundsätzlich sollten
ca. 16 MB als Swap-Partition eingeplant werden. Dazu kommen für ein
Grundsystem mit Unix-Utilities, Shells und Administrationsprogrammen
ca. 30 MB, für eine Installation
ohne X sind ca. 80 MB fällig und für eine vollständige
Installation mit X11 und TeX ca. 150 MB. Eine vollständige
Installation, zum Beispiel
SUSE braucht über 300 MB
Plattenspeicher. Und schließlich soll noch etwas Platz
für eigene Dateien übrig sein, so daß man eine 1 GB Platte
für Linux sicher nicht bereut.
Übrigens läßt sich das System durch mehr Hauptspeicher
oft deutlich beschleunigen, mehr als durch mehr Rechenleistung. Die Speichernutzung ist deutlich besser als unter NT
Unterstützte Hardware
- Prozessor: ab 386-sx, 680xx,PowerPC,Alpha,Mips und Sparc
- Architektur: ISA, EISA,Local-Bus,PCI und einzelne VME-Bus Systeme.
IBM-MCA wird nicht unterstützt.
- RAM: Theoretisch bis 1 GB (nicht getestet :-;).
- Externe Speichermedien: AT-BUS/EIDE, SCSI-Platten,CDROM's,CD-Writer,
Streamer und Wechselmedien
- Grafikkarten: Nahezu alle Grafikkarten bis etwa zur Matrox Millenium. Aktuelle 3D Grafikkarten werden erst zum Teil unterstuetzt. Da Linux Xfree86 benutzt, ist die Unterstützung von diesem X-Server abhängig.
- Mäuse: Fast alle seriellen Mäuse und viele Bus-Mäuse.
- Netzwerkkarten: Die meisten 10 und 100 MBit Karten XLIP,PPP und SyncPPP
- Soundkarten: SoundBlaster bis AWE 64 und viele andere
- ISDN alle HISAX basierten Karten wie Teles und AVM usw. Alle externen Modems
- Diverse serielle Multiportkarten, Scanner und viele ander moegliche und unmoegliche Hardware
Einige nach Linux portierte Software
- Die grundlegenden Unix-Kommandos: ls, tr, sed, awk und viele mehr.
- Entwicklungs-Wekzeuge: gcc, gdb, make, bison, flex, perl, rcs, cvs,
gprof und ... nahezu alle Programmiersprachen
- Graphische Benutzeroberfläche: X11R6 (Xfree86), MOTIF, CDE und Windowsemulationen
- Editoren: GNU Emacs, Lucid Emacs, MicroEmacs, jove, epoch, elvis,
joe, pico, jed.
- Shells: bash (POSIX sh-kompatible), zsh , pdksh,
tcsh, csh, rc, ash und mehr.
- Kommunikations-Software: UUCP, kermit, szrz, minicom, Seyon usw.
- News und Mail: C-news, inn, nn, tin, xrn, sendmail, QMail, elm, mh usw.
- WWW: NCSA, Apache, Arena, Netscape ...
- Textverarbeitung: TeX, groff, doc, Wordperfekt, Applix, Staroffice ...
- Datenbanken: Postgres95, MSQL, Flagship, YARD-SQL, LNX Adabas-D und ...