Was ist ein Prozess?
Zur Navigation springen
Zur Suche springen
Ein Prozess setzt sich aus zwei Teilen zusammen
- Programm, das in den Hauptspeicher geladen wurde
- Prozessumgebung
Was versteht man unter einem Prozess
- Ein Programm (binär), das in den Hauptspeicher geladen wurde.
- Ein Programm wird erst durch das Laden in den Hauptspeicher zu einem Prozess.
- Normalerweise liegt ein Programm als ausführbare Datei irgendwo auf der Festplatte.
- Ob es sich bei dem Programm um eine binäre Datei handelt, kann man mit dem Befehl file feststellen.
file
- file /bin/ls
/bin/ls: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6461a544c35b9dc1d172d1a1c09043e487326966, for GNU/Linux 3.2.0, stripped
- Die Datei liegt im Maschinencode vor und kann in den Hauptspeicher geladen werden.
- Sobald dies geschehen ist, kann der Rechner diesen Maschinencode abarbeiten (ausführen).
- Da aber ein Programm nicht direkt auf die Hardware zugreifen soll, muss es vom Betriebsystem kontrolliert werden.
- Das Betriebssystem liegt logisch gesehen zwischen Hardware und Anwendung.
- Das Betriebssystem ordnet jedem Prozess verschiedene Kenndaten zu, um die Prozesse verwalten zu können.
- Alle Kenndaten, die einem Prozess zugeordnet sind, nennt man die Prozessumgebung.
- Wenn man in der Shell ein Kommando eingibt, wird ein Prozess kreiert.
- Natürlich ist die Shell selbst auch ein Prozess. Ein Prozess kann aber genauso gut ein Serverprozess (Dienst) sein, z.B. Apache.
- Ein wesentliches Merkmal eines Prozesses ist die Prozesskommunikation.
- Über im Betriebssystem implementierte Methoden ist es möglich, dass verschiedene Prozesse Signale und Daten untereinander austauschen können.
- Dadurch wird auch dem Benutzer ermöglicht, einem Prozess bestimmte Signale zu senden bzw. auf den Status eines Prozesses Einfluss zu nehmen.