Next: Generierung
Up: Prozesse
Previous: Prozesse
Prozesse sind Programme in Ausführung
sie bestehen aus einem Image mit folgenden Bestandteilen:
- Code
- dynamisch erworbene Speicherflächen
- Zustandsvariablen: rechnend, bereit, blockiert
- Programmzähler
- Signaltabellen
- Dateiverbindungen als Filedeskriptoren
open
, creat
liefern Filedesk., read
, write
werden sie übergeben
lseek
positioniert, close
schließt Dateien
- u.a.
UID/GID
als Attribute
- Shell-Variablen bilden das Environment
WINDOWID=46137346
HZ=100
HOSTNAME=caladan
ignoreeof=0
QTDIR=/usr/local/qt
MANPATH=/usr/local/qt/man:/usr/man:/usr/local/man/:/usr/X11R6/man
PS1=\h:\w\$
PS2=>
KDEDIR=/usr/local/kde
USER=letho
COLORTERM=rxvt
DISPLAY=:0.0
LOGNAME=letho
SHLVL=3
HUSHLOGIN=FALSE
MINICOM=-c on
SHELL=/bin/bash
HOSTTYPE=i486
OSTYPE=linux-gnu
TERM=xterm
HOME=/home/letho
die Prozeßtabelle verwaltet pro Prozeß Zustand, Programmzähler, Speicheradressen, geöffnete Dateien, PID
, PPID
...
Lösung für den Mehrfachzugriff auf Dateien: jeder Prozess in der Prozesstabelle unterhält Tabelle mit den Deskriptoren der von ihm geöffneten Dateien mit dem jeweiligen Offset-Wert, Löcher können entstehen
alle Prozesse besitzen Dateiverbindungen zu stdin, stdout, stderr mit
Filedeskriptoren {0,1,2}, die in der Shell umgelenkt werden können
bei Interaktion mit Dateien nimmt der Kern Prüfung der Rechte von Prozess und Datei vor
Next: Generierung
Up: Prozesse
Previous: Prozesse
1999-06-02