SS 2007
Version vom 21.03.2007
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 2
Organisation
Leitung: H. WeberPraktikum: Abdellaoui, Adrian, Debusmann,
Schäfer, Weber
Vorlesung:Do, 7.45 - 10.15 (3 Stunden V, inkl. Pause)
Praktikumsgruppen : 3-stündig
PL/SL : Klausur am Semesterende
Praktikum: 2 bewertete (live) Aufgaben (je 40 %) undweitere 5 Aufgaben (je 2%), mündlicher Anteil (5%), Praktikumsordner (5%)
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 3
Literatur I
R. Brause, Betriebssysteme – Grundlagen und Konzepte, 2. Auflage, Springer-Verlag, Berlin 2001
A.S. Tanenbaum, Moderne Betriebssysteme, 2. Auflage, Pearson-Verlag 2002
C. Vogt, Betriebssysteme, Spektrum Akademischer Verlag, Heidelberg 2001
J. Nehmer, P. Sturm, Systemsoftware – Grundlagen moderner Betriebssysteme, dpunkt-Verlag, Heidelberg 1998
A. Silberschatz, P. Gavin, G. Gagne, Applied Operating Systems Concepts, John Wiley&Sons, New York 2000
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 4
Literatur II
W. Stallings, Operating Systems, Prentice Hall, New Jersey 1998
G. Nutt, Operating Systems, Addison-Wesley, Reading 2000 L. Bic, A. Shaw, Betriebssysteme, Hanser-Verlag, 1988 E. Glatz, Betriebssysteme Grundlagen, Konzepte,
Systemprogrammierung, dpunkt-Verlag, 2005 R.A. Finkel, An Operating Systems Vade Mecum,
Prentice Hall – bei uns als PDF-File vorhanden
H. Weber, Praktische Systemprogrammierung, Vieweg, Wiesbaden 1998
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 5
Inhalt der Vorlesung
ÜbersichtProzesseProzeßsynchronisationSpeicherverwaltungDateiverwaltungEin- und AusgabeverwaltungVerteilte Systeme
Übersicht
Kap. 1
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 7
Kap. 1 - Inhalt
Einleitung: Was ist ein BetriebssystemBetriebssystemschichtenSchnittstellen und virtuelle MaschinenGeschichteAufbau von BetriebssystemenRechnerarchitekturenWichtige Konzepte
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 8
Betriebssystem-Zoo
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 9
Einleitung I
Was ist ein Betriebssystem ?
* die Gesamtheit der Programmteile, die die Benutzung von Betriebsmitteln steuern und verwalten
* die Software (Programmteile), die für den Betrieb eines Rechners anwendungsunabhängig notwendig ist
* virtuelle Maschine, die dem Benutzer Abstraktionen der Hardware zur Verfügung stellt, die wesentlich einfacher zu benutzen sind
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 10
Einleitung II
Definition (Betriebssystem):
Ein Betriebssystem ist ein Programmsystem, das alle Betriebsmittel eines Rechensystems verwaltet und ihre Zuteilung kontrolliert und den Nutzern des Rechensystems eine virtuelle Maschine offeriert, die einfacher zu verstehen und zu programmieren ist als die unterlagerte Hardware.
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 11
benutzt
benutzt
benutzt
Benutzer
Benutzerprogramm
Maschinenhardware
Betriebssystem
Betriebssystemschichten I
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 12
Betriebssystemschichten II
User 1 User 2 User 3 Compiler Editor ... Spiele
Betriebssystemdienste Hardware
HW
Schichtenmodell Zwiebelschalenmodell
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 13
Betriebssystemschichten III
Systemsoftware versus Anwendersoftware
Das Betriebssystem ist der Teil der Software, die normalerweise im Kernmodus oder Supervisormodus ausgeführt wird
Die Anwendungsprogramme (Compiler, Editor, E-Mail-Programm etc.) werden im Benutzermodus ausgeführt
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 14
Schnittstellen & virt. Maschinen I SCSI-Operationen fur Festplatten:
FORMAT UNIT RECOVER DATA VERIFYINQUIRY RECOVER ID WRITEMODE SELECT RELEASE UNIT WRITE AND VERIFYMODE SENSE REQUEST SENSE WRITE BUFFERNO OPERATION RESERVE UNIT WRITE EXTENDEDPRIORITY RESERVE REZERO UNIT WRITE LONGREAD SEEK WRITE SAMEREAD BUFFER SEEK EXTENDED .....READ CAPACITY SEND DIAGNOSTICREAD DEFECT DATA SET LIMITSREAD EXTENDED START/STOP UNITREAD LONG TEST UNIT READYREASSIGN BLOCKSRECEIVE DIAGN. RESULTS
Wer will schon mit dieser Schnittstelle Informationenlangfristig speichern und zugreifen wollen ?!?
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 15
Schnittstellen & virt. Maschinen II
Eine SchnittstelleSchnittstelle besteht aus Daten sowie Funktionen bzw. Methoden dafür
(Objekte) Protokolle für die Benutzung der Funktionen und
Daten, mit denen das Objekt Dienstleistungen erbringt (Exportschnittstelle)
Die ImplementierungImplementierung benötigt dazu Daten, Funktionen und Protokolle für die Dienstleistungen,
die sie zur Erfüllung benötigt (Importschnittstelle).
Virtuelle Maschinen
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 16
Schnittstellen & virt. Maschinen III
Schicht 3
Zeit
Schicht 2
Schicht 1
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 17
Schnittstellen & virt. Maschinen IV – Virt. CPU
Software-Hardware-Migration
durch virtuelle CPU
Programm in Java-Code Programm in Java-CodeJava-Code / Maschinencode Microcode-
CPU- Hardware und CPU-Hardware
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 18
Schnittstellen & virtuelle Maschinen V - virtuelle logische, physikalische Geräte
Beispiel: Festplattenspeicher
virtuelles Gerät
= logisches Gerät +Verwaltungstreiber
logisches Gerät
= physikalisches Gerät + HW-Treiber.
Kontrolle Daten
Virtuelles Gerät
log. Gerät 1 log. Gerät 2
phys.Gerät 1
Treiber 1
phys.Gerät 2
Treiber 2
Treiber für log. Geräte
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 19
Geschichte I
Gliederung (parallel zu Rechnergenerationen):
1. Generation (1945-1955): Röhren und Steckkarten
2. Generation (1955-1965): Transistoren und Stapelverarbeitung
3. Generation (1965-1980): ICs und Mehrprogrammbetrieb
4. Generation (1980-1990): Personal Computer und Netzwerkbetriebssysteme
5. Heute
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 20
Geschichte II
1. Generation (1945-1955):
USA: H. Aiken (Harvard), J. v. Neumann (Princeton) u.a.
Deutschland: Konrad Zuse Eine Gruppe von Personen kümmert sich um Entwurf, Bau,
Programmierung, Operating und Wartung jedes einzelnen
Rechners. Programmierung durch Verdrahtung von Steckkarten oder in
absoluter Maschinensprache (Programmiersprachen unbekannt).
Nutzung fur numerische Berechnungen. Ab Anfang der 50er Jahre Benutzung von Lochkarten. Betriebssysteme unbekannt.
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 21
Geschichte III
2. Generation (1955-1965):Nach Einfuhrung von Transistoren werden Rechner
zuverlässig genug, um an Kunden verkauft zu werden.Unterscheidung zwischen Entwicklern, Herstellern,
Operateuren, Programmierern und Wartungspersonal.Zunächst Ausfuhrung einzelner Jobs in Form von
Lochkartenstapeln mit hohem Anteil manueller Arbeiten.
Rationalisierung des Operating durch Einfuhrung des Stapelbetriebs (Batch-System):
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 22
Geschichte IV
-
Batch-System– bringt Kartenstapel zur 1401– kopiert Karten auf Band– bringt Eingabeband auf 7094, die Berechnung ausführt– bringt Ausgabeband zur 1401, die den Output ausdruckt
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 23
Geschichte V
Die Steuerkarten waren Vorläufer der heutigen Kommandosprachen, die Monitore Vorläufer der heutigen Betriebssysteme
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 24
Geschichte VI
3. Generation (1965-1980):
ICs und Multiprogramming
Timesharing-Betrieb Zugriff über Terminals Multics UNIX
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 25
Geschichte VII
4. Generation (1980-1990): Personal Computer als Individuen zugeordnete Werkzeuge
(= Workstation). Netzwerke zur Kommunikation und Kooperation. getrieben durch LSI und VLSI- Entwicklung, preiswert, aber
leistungsstark wie Minirechner bzw. Großrechner. hohe Graphikfähigkeit führt zu benutzerfreundlichen
Oberflächen Marktdominierende Betriebssysteme: MS- DOS und UNIX. Netzwerkbetriebssysteme erlauben Zugang zu anderen
Rechnern, Dateitransfer, gemeinsame Benutzung von Informationen (z. B. TCP/ IP Netzwerk Utilities, Novell Netware, Network File System)
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 26
Geschichte VIII
5. Heute: Neue Anwendungen gekennzeichnet durch: steigende Komplexität und neue geforderte Funktionalitäten: Verteiltheit (Client/ Server), Offenheit, Heterogenität, Skalierbarkeit "Cooperative Computing" Sicherheit (Security) Realzeitfähigkeit Fehlertoleranz / Robustheit Multimedia WWW- Anbindung
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 27
Geschichte IX
Aktuelle Entwicklungsrichtungen:
Verteilte Betriebssysteme Multiprozessing Standardisierung von Schnittstellen Mehrere BS-Schnittstellen auf einem Rechner Konfigurierbarkeit Realzeitfähigkeit Administration grosser Netzwerke Multimediaunterstützung Erhöhung der Sicherheit
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 28
Geschichte X - Fragen
Gestern:
Welche Betriebssysteme haben Sie benutzt?
...
Heute:
Welche Betriebssysteme benutzen Sie ?
...
Welche Systeme sind nützlich für diese LV?
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 29
Aufbau I - Unterschiedliche Arten von BSn
Mainframe-BetriebssystemeServer-BetriebssystemeMultiprozessor-BetriebssystemePC BetriebssystemeEchtzeit-BetriebssystemeBetriebssysteme für eingebettete SystemeBetriebssysteme für Chipkarten
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 30
Aufbau II - Betriebssystemgliederung
Benutzerschnittstelletextuelle und graphische Interaktion mit dem Benutzer
Dienstprogramme, Werkzeugeoft benutzte Programme wie Editor, Linker, ...
ÜbersetzungsprogrammeInterpreter, Compiler, Translator, ..
OrganisationsprogrammeSpeicher-, Prozessor-, Geräte-, Netzverwaltung
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 31
Aufbau III - Benutzerschnittstelle
Ein Blick auf die Benutzerschnittstelle:
1. Benutzeroberfläche (Kommandointerpreter, Grafische Oberflächen) einschließlich der Schnittstellen zu Dienstprogrammen (Tools) wie etwas Editoren, Übersetzer (Compiler), Binder (Linker), ...
2. Bibliotheksschnittstellen (Standardbibliotheken und spezielle Bibliotheken), zur Programmierung benutzt.
3. Betriebssystemdienst-Schnittstelle enthält Systemaufrufe (system calls), d.h. „erweiterte Befehle“ = Operationen zum Umgang mit den Abstraktionen, die der Kern offeriert. Wesentliche Kernabstraktionen: Prozesse (processes) = Programme in Ausführung, damit verbunden Mechanismen zur Prozess-Synchronisation und –KommunikationDateien (files) , damit verbunden Dateisysteme (file systems) und Verzeichnisse (directories) IO-Geräte (devices)
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 32
Aufbau IV - Typischer Betriebssystemaufbau
Systemaufruf
Maschinencode
BenutzeroberflächeUser Interface Management System
BetriebssystemkernOperating System Kernel
Hardware
Anwen-dung 1
Dienst-programm
Werk-zeug
Benutzer 1 Benutzer N
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 33
Aufruf mittels Traps (Falltüren)
Aufbau V - Der Betriebssystemkern
EingangAusgang
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 34
Aufbau VI - Systemaufrufe: Traps und Interrupts
Synchrone, indirekte Methodenaufrufe (Traps)...Move A,R1 Tabelle von
Interruptvektoren
Trap 7Move R1, A...
Adr 0017 Status PS der ISR 8
Adr 0016 Adresse PC der ISR 8
Adr 0015 Status PS der ISR 7
Adr 0014 Adresse PC der ISR 7
Adr 0013 Status PS der ISR 6
Adr 0012 Adresse PC der ISR 6
Asynchrones HW-Interrupt-Signal 7
ISR = Interrupt Service Routines = Treiber
PS = Processor Status Word (prio, mode,..)
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 35
Aufbau VII - Aufruf des Betriebssystemkerns
Interrupt{PC+1, PS=user mode} stack return from interrupt
BS PC, kernel mode PS stack{PC, PS=user mode}
Programm-instruktionen
Programm-instruktionen
Betriebssystem-
kerndienste
Umschaltung vom Usermodus in Kernmodus und zurück !!
BS : Bootstrap
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 36
Aufbau VIII - UNIX-Betriebssystemkern
user mode
kernel mode
Benutzer-Programm 1
System-Programm 1
System-Programm 2
Benutzer-Shell 1
Benutzer-Shell 2
Überprüfbare Schnittstelle und FunktionsverteilungSpeicher-
verwaltungSerielle Ein/Ausgabe Dateisystem
Prozess-Dis-play
TTY Drucker MausPlatte
FloppyNetz
manage-ment
Hardware
Multi-UserMulti-User
Multi-Multi-programmingprogramming
Implementierungsunabhängige Schnittstellen:PPortable OOperating SSystem IInterface based on UniXX
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 37
Aufbau IX - UNIX Systemsoftware I
Systemprogramme ar build & maintain archivescat concatenate filesstandard outcc compile C programchmod change protection modecp copy fileecho print argumentgrep file search including a patternkill send a signal to a process
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 38
Aufbau X - UNIX Systemsoftware II
ln link a file lp print a filels list files and directoriesmv move a filesh start a user shelltee copy standard in to standard
out andto a file
wc word count
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 39
Aufbau XI – Monolitisches System
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 40
Aufbau XII – Geschichtetes System
Struktur des THE Betriebssystems
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 41
Aufbau XIII – Virtuelle Maschinen
Struktur von VM/370 mit CMS
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 42
Aufbau XIV – Client-Server Modell
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 43
Aufbau XV – Client-Server Modell in einem verteilten System
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 44
Aufbau XVI – Bsp.: MACH- Betriebssystemkern
Mach-Kern
Scheduler, Nachrichtenübermittlung, Basic I/O, Speicherobjekte
SpeicherManager
FileManager
TerminalI/O
Benutzer-programm
user modekernel mode
Hardware
Mikrokern Vorteile: minimaler Kern, alle Funktionen modularisiert
austauschbar Nachteile: Kommunikationsdauer zwischen Managern
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 45
Aufbau XVII – Bsp.: Windows NT - Anforderungen
kompatibel zu vorhandenen Systemen Unix, DOS, ..
zuverlässig und robust
leichte Portierbarkeit
leicht veränderbar und anpassungsfähig
leistungsstark
Geht das überhaupt ?
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 46
Aufbau XVIII – Bsp.: Windows NT - Lösungen
Kompatibilitätpro emuliertes BS ein extra Subsystem (Server), von Kunden (Clients) durch Nachrichten (local procedure calls LPC) angefordert. Sie setzen auf Dienstleistungen der NT Executive (Syscalls) auf.
RobustheitTrennung der Programmablaufumgebungen(virt. Maschinen), kein direkter Hardwarezugrifffehlertolerantes Dateisystem, Netzdienste,
PortierbarkeitIn C geschriebene Module, auf Hardwaremodell aufsetzend
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 47
Aufbau XIX – Bsp.: Windows NT - Betriebssystemkern
user modekernel mode
SystemdiensteObject
ManagerProcess
ManagerLocal
Proc. CallsMemoryManager
SecurityMonitor
I/OSystem
Kernel
Hardware Abstraction Layer HALHardware
POSIXClient
Win/DOSClient
OS/2Client
Win32Subsys-
tem
POSIXSubsys-
tem
OS/2Subsys-
temLogon
SecuritySubsys-
tem
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 48
Rechnerarchitekturen I
Einprozessorsystem
Massen-speicher
ProgrammeDaten
Prozessor
BS- Kern
Nutzer 1Programm
... Nutzer nProgramm
Hauptspeicher
Bis max. N (~ 16) CPUs erweiterbar. Problem: Speicherzugriff (Systembus)
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 49
Rechnerarchitekturen II
Multiprozessorsystem
Verbindungsnetzwerk „Tanzsaal “
BS- Kern
Nutzer 1Programm
... Nutzer nProgramm
P 1 P2 Pn
Problem: Performance-Einbussen bei häufigen Speicherzugriffen
Arbeitsspeicher
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 50
Rechnerarchitekturen III
Mehrrechnersystem
Verbindungsnetzwerk „Vorzimmer“
BS- Kern
Nutzer 1Programm
P1 Pn
BS- Kern
Nutzer nProgramm
Arbeitsspeicher
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 51
Rechnerarchitektur IV
Rechnernetz
VerbindungsnetzwerkLAN, WAN
P1 Pn
BS- Kern
Nutzer 1Programm
BS- Kern
Nutzer nProgramm
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 52
Wichtige Konzepte I
ProzesseDateienSystemaufrufeShells
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 53
Konzepte II - Prozesse
Prozess-Baum
– A hat zwei Kind-Prozesse B and C erzeugt
– B hat drei Kind-Prozesse D, E, und F erzeugt
Prozeß : Programm in seiner Ausführung
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 54
Konzepte III - Dateissytem
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 55
Konzepte IV – Mounten von Dateisystemen
• Vor dem Mounten,
Files auf Floppy sind nicht benutzbar
• Nach dem Mounten der Floppy auf b,
Files auf Floppy sind Teil der Filehierarchie
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 56
Konzepte V - Systemaufrufe
Es gibt 11 Schritte beim Ausführen des Systemaufrufs
read (fd, buffer, nbytes)
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 57
Konzepte VII – Systemcalls für File Management
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 58
Konzepte VII – Directory Management
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 59
Konzepte IX - Verschiedene
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 60
Konzepte X – UNIX/Windows32 - Systemaufrufe
Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 61
Konzepte XI – Eine kleine Shell
while (TRUE) { /* repeat forever */ type_prompt( ); /* display prompt */ read_command (command, parameters) /* input from
terminal */ if (fork() != 0) { /* fork off child process */ /* Parent code */ waitpid( -1, &status, 0); /* wait for child to exit */ } else { /* Child code */ execve (command, parameters, 0); /* execute command */ }}
Top Related