A szép segédprogram egy UNIX-szerű operációs rendszerekben található számítógépes program , amelyet úgy terveztek, hogy megváltozott szép prioritású folyamatokat indítson el . A folyamat szép ( integer ) prioritását az OS kernel folyamatütemezője használja a processzoridő folyamatok közötti felosztása során , nevezhetjük cpu_nice [1] -nek , hogy megkülönböztessük az I/O ütemező által használt io_nice [2] prioritástól, ill . az ionice segédprogram módosította [3] . A szép segédprogram az operációs rendszer 4. verziójában jelent meg UNIX , amelyet az AT&T fejlesztett ki [4] . Az IEEE Std 1003.1-2001 ( POSIX .1) [4] [5] leírása . A coreutils csomag egy szép megvalósítást tartalmaz .
Meg kell különböztetni a "hasznosság" és a "parancs" kifejezéseket. A segédprogram egy számítógépes program , amely külön folyamatban fut . A parancs a parancsértelmező (shell) beépített parancsa , amelyet a shell folyamaton belül hajtanak végre .
A nice parancs egy shell beépített parancs , amely ugyanazokat a funkciókat látja el, mint a nice segédprogram, de a shell folyamaton belül fut . Például a csh és tcsh parancsértelmezők hajtják végre .
A szép prioritás egy szám, amely megmondja az OS kernel folyamatütemezőjének , hogy a felhasználó milyen prioritást szeretne a folyamathoz rendelni .
A szép segédprogram , amely argumentumok nélkül fut, a szülőfolyamattól örökölt szép prioritást adja ki . A nice egy offset argumentumot vesz fel, amely -20 (legmagasabb prioritás) és +19 (legalacsonyabb prioritás) között van. Ha megadja az eltolást és a végrehajtható fájl elérési útját , a nice megkapja a folyamat prioritását , megváltoztatja azt a megadott eltolásra, és családisegítségével lecseréli a folyamatkódját a megadott végrehajtható fájl kódjára A szép parancs ugyanezt teszi, de először egy családi rendszerhívást indít a gyermekfolyamat elindításához ( eng . sub-shell ). Ha nincs eltolás megadva, akkor +10 eltolás kerül felhasználásra. Egy privilegizált felhasználó ( root ) megadhat negatív eltolást. exec() fork()
A szép prioritás és az OS kernel folyamatütemező prioritása különböző számok. A szép szám az a prioritás, amelyet a felhasználó a folyamathoz szeretne rendelni . Az ütemező prioritása az ütemező által a folyamathoz rendelt aktuális prioritás . Előfordulhat, hogy az ütemező a nicehoz közeli prioritást szeretne egy folyamathoz rendelni , de ez nem mindig lehetséges, mivel sok folyamat futhat a rendszeren eltérő prioritásokkal. A szép prioritás egy folyamatattribútum , és más attribútumokhoz hasonlóan a gyermekfolyamatok öröklik . A top , ps , htop stb. segédprogramok kimenetében a szép prioritást "NI" -nek nevezik - a "nice" rövidítése, az ütemező prioritását pedig "PRI" - a "priority" rövidítése. Általában NI = PRI - 20 , de ez nem mindig igaz. Alapértelmezés szerint NI=0 , illetve PRI=20 .
A Linux kernel folyamatütemezője 0 ( valós idejű ) és 139 közötti prioritásokat támogat [6] . A szép segédprogram vagy parancs −20…+19 prioritásai megfelelnek a folyamatütemező 100…139 prioritásainak . A folyamatütemező egyéb prioritásai a chrt paranccsal állíthatók be az util-linux csomagból .
A FreeBSD kernel folyamatütemezője -20 és +20 közötti prioritásokat támogat.
Linuxon a rendszerhívás a folyamat aktuális szép prioritásának lekérésére és a [7] módosítására szolgál . getpriority()setpriority()
A folyamatütemező a felhasználó által kiválasztott házirendnek megfelelően működhet ( angol ütemezési szabályzat ). Egyes irányelvek figyelmen kívül hagyhatják a szép prioritást.
Linuxban egy rendszerhívás segítségével megtudhatja az aktuális folyamatra alkalmazott folyamatütemező házirendet , és módosíthatja azt [8] . sched_getscheduler()sched_setscheduler()
A renice segédprogram a már futó folyamatok prioritásának megváltoztatására szolgál .
Unix parancsok | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|