Schön (Unix)

Hübsch
Entwickler (en) AT & T Bell Laboratories
Erstveröffentlichung November 1973; Vor 48 Jahren
Betriebssystem Unix und Unix-artig
Plattform Plattformübergreifend
Typ Befehl
Lizenz CoreUtils: GNU GPL V3

Hübsch ist ein Programm auf Unix und Unix-artig Betriebssysteme wie zum Beispiel Linux. Es karten direkt an a Kernel Anruf gleicher Name. Hübsch wird verwendet, um a aufzurufen Dienstprogramm oder Shell-Skript mit einem bestimmten CPU -Prioritätso geben Prozess mehr oder weniger CPU -Zeit als andere Prozesse. Eine Schönheit von -20 ist die höchste Priorität und 19 hat die niedrigste Priorität. Die Standardfeindlichkeit für Prozesse wird aus ihrem übergeordneten Prozess vererbt und beträgt normalerweise 0.

Verwendung und Wirkung

Hübsch wird nützlich, wenn mehrere Prozesse mehr Ressourcen fordern als die Zentralprozessor kann liefern. In diesem Zustand erhält ein Prozess mit höherer Priorität einen größeren Teil der CPU-Zeit als einen Prozess mit niedrigerer Priorität. Nur der Superuser (Root) kann die Schönheit auf einen niedrigeren Wert setzen (d. H. Eine höhere Priorität). Unter Linux ist es möglich, sich zu ändern /etc/security/limits.conf Damit andere Benutzer oder Gruppen niedrige nette Werte festlegen können.[1]

Wenn ein Benutzer eine große Datei komprimieren wollte, ohne andere Prozesse zu verlangsamen, kann er Folgendes ausführen:

$ Schön -n 19 TAR CVZF -Archiv.TGZ großziele

Der genaue mathematische Effekt der Festlegung eines bestimmten Nettheitswerts für einen Prozess hängt von den Details der Art ab, wie die Planer ist für diese Implementierung von UNIX entwickelt. Der Scheduler eines bestimmten Betriebssystems wird auch verschiedene Heuristiken integriert (z. B. um Prozesse zu bevorzugen, die hauptsächlich I/O-gebundene Prozesse sind, die CPU-gebunden sind). Als einfaches Beispiel, wenn zwei ansonsten identische CPU-gebundene Prozesse gleichzeitig auf einem Single-CPU-Linux-System ausgeführt werden, ist jeder Anteil an der CPU-Zeit proportional zu 20- p, wo p ist die Priorität des Prozesses. Somit ein Prozess, laufen Sie mit Schön +15, erhalten 25% der CPU-Zeit, die einem Normalprioritätsprozess zugeordnet ist: (20-15)/(20-0) = 0,25.[2] Auf der BSD 4.x Scheduler hingegen beträgt das Verhältnis im gleichen Beispiel etwa zehn zu eins.

Ähnliche Befehle

Die verwandten Renice Programm kann verwendet werden, um die Priorität eines bereits ausgeführten Prozesses zu ändern.[3]

Linux hat auch eine Ionice Programm, das sich auf die Planung von E/A und nicht auf die CPU -Zeit auswirkt.[4]

Etymologie

Der Name "Nizza" ergibt sich aus der Tatsache, dass der Zweck des Programms darin besteht, einen Prozessfeindlichkeitswert zu ändern. Die wahre Priorität, die zur Entscheidung verwendet wird, wie viel CPU -Zeit für jeden Prozess zuzugeben, wird vom Kernel -Prozessplaner aus einer Kombination der Nipfelwerte und anderer Daten der verschiedenen Prozesse berechnet, wie die Menge von I/o durch jeden Prozess durchgeführt.

Der Name "Schönheit" stammt aus der Idee, dass ein Prozess mit einem höheren Niß -Wert für andere Prozesse im System "schöner" ist:

Deshalb das der Grund Hübsch Nummer wird normalerweise aufgerufen Nettigkeit: Ein Job mit einer hohen Freundlichkeit ist sehr freundlich für die Benutzer Ihres Systems (d. H. Er läuft mit geringer Priorität), während ein Job mit wenig Freundlichkeit mehr von der CPU verwendet. Der Begriff "Schönheit" könnte als unangenehm angesehen werden. Leider ist es der einzige Begriff, der beide genau ist (Hübsch Zahlen werden verwendet, um die Prioritäten zu berechnen, aber nicht die Prioritäten selbst) und vermeidet schrecklich Umschüsse ("Erhöhen der Priorität bedeutet, die Priorität zu senken ...").[5]

Siehe auch

Verweise

  1. ^ limits.conf (5)- -Linux Dateiformate Handbuch
  2. ^ College, Abraham Silberschatz, Yale University, Peter Baer Galvin, Pluribus Networks, Greg Gagne, Westminster; Baer Galvin, Peter; Gagne, Greg (2013). Betriebssystemkonzepte (Neunte Ausgabe). Hoboken, N.J: Wiley. p. 294. ISBN 978-1-118-06333-0.
  3. ^ Renice (1)- -Linux Allgemeine Befehle Handbuch
  4. ^ Ionice (1)- -Linux Allgemeine Befehle Handbuch
  5. ^ Jerry Peek, Shelley Powers, Tim O'Reilly und Mike Loukides (2002). Unix -Elektrowerkzeuge. O'Reilly, p. 507.

Externe Links