Bevor wir uns mit den praktischen Anwendungen der Prozessverwaltung befassen, ist es wichtig zu verstehen, was Linux-Prozesse sind und wie sie funktionieren. Dieses Thema kann komplex erscheinen, wenn wir uns die Details ansehen. Zögern Sie also nicht, diese Lektion bei Bedarf später noch einmal aufzurufen.
Was ist ein Linux-Prozess
A process is an execution of a program. More precisely, it is an instance of a running program to which the system has allocated resources like memory, CPU time, and I/O. For example, if you open three terminal windows, run the cat command in two of them without any arguments (it will wait for standard input, keeping the process active), and then use the third window to run ps aux | grep cat, you will see two distinct cat processes. Each is a separate instance of the same program, with its own unique process ID and resource allocation.
Die Rolle des Kernels bei der Prozessverwaltung
Der Linux-Kernel ist für die gesamte Prozessverwaltung verantwortlich. Wenn Sie ein Programm ausführen, lädt der Kernel dessen Code in den Speicher, weist die notwendigen Systemressourcen zu und beginnt, es als Prozess zu verfolgen. Der Kernel speichert detaillierte Informationen für jeden Prozess, darunter:
- Der Status des Prozesses
- Die Ressourcen, die der Prozess nutzt und erhält
- Der Prozessbesitzer
- Signalbehandlung (dazu später mehr)
- Und im Grunde alles andere
Alle aktiven Prozesse konkurrieren um Systemressourcen. Der Kernel fungiert als Scheduler und stellt sicher, dass jeder Prozess einen fairen Anteil an Ressourcen erhält, basierend auf seiner Priorität und seinen Bedürfnissen. Wenn ein Prozess seine Aufgabe beendet oder beendet wird, gibt der Kernel die von ihm genutzten Ressourcen wieder frei und stellt sie anderen Prozessen zur Verfügung.