Mukava apuohjelma on tietokoneohjelma UNIX-tyyppisissä käyttöjärjestelmissä , jotka on suunniteltu käynnistämään prosesseja muuttuneella mukavalla prioriteetilla. Prosessin kivaa ( kokonaisluku ) -prioriteettia käyttää käyttöjärjestelmän ytimen prosessin ajastin jakaessaan prosessoriaikaa prosessien välillä , sitä voidaan kutsua cpu_nice [1] erottamaan se I/O-ajastimen käyttämästä io_nice [2] prioriteetista ja modifioitu ionice- apuohjelmalla [3] . Mukava apuohjelma ilmestyi käyttöjärjestelmän neljännessä versiossa UNIX , jonka on kehittänyt AT&T [4] . Kuvattu standardissa IEEE Std 1003.1-2001 ( POSIX .1) [4] [5] . Yksi kiva toteutus sisältyy coreutils - pakettiin .
Termit "hyöty" ja "komento" on erotettava toisistaan. Apuohjelma on tietokoneohjelma, joka suoritetaan erillisessä prosessissa . Komento on komentotulkin (shell) sisäänrakennettu komento , joka suoritetaan komentotulkkiprosessin sisällä .
Nice - komento on shell -komento , joka suorittaa samat toiminnot kuin nice -apuohjelma , mutta toimii shell - prosessin sisällä . Toteutettu esimerkiksi csh- ja tcsh - komentotulkeilla .
Mukava prioriteetti on numero, joka kertoo käyttöjärjestelmän ytimen prosessin ajastimelle prioriteetin, jonka käyttäjä haluaa määrittää prosessille .
Mukava apuohjelma , joka suoritetaan ilman argumentteja, tulostaa emoprosessilta perityn mukavan prioriteetin . nice ottaa offset-argumentin välillä -20 (korkein prioriteetti) +19 (matalin prioriteetti). Jos määrität offsetin ja polun suoritettavaan tiedostoon , nice saa prosessiprioriteettinsa , muuttaa sen määritetyksi siirtymäksi ja perhejärjestelmän kutsua korvatakseen sen prosessikoodin määritetyn suoritettavan koodilla Kiva komento tekee saman, mutta ensin se tekee perhejärjestelmäkutsun aloittaakseen lapsiprosessin ( eng . sub-shell ) . Jos poikkeamaa ei ole määritetty, käytetään +10 siirtymää. Etuoikeutettu käyttäjä ( root ) voi määrittää negatiivisen siirtymän. exec() fork()
Mukava prioriteetti ja käyttöjärjestelmän ytimen prosessin ajastimen prioriteetti ovat eri numeroita. Mukava numero on prioriteetti, jonka käyttäjä haluaa määrittää prosessille . Aikataulun prioriteetti on ajoittajan prosessille osoittama todellinen prioriteetti . Ajoitus voi haluta asettaa prosessille prioriteetin, joka on lähellä kivaa, mutta tämä ei ole aina mahdollista, koska järjestelmässä voi olla useita prosesseja käynnissä eri prioriteeteilla. Mukava prioriteetti on prosessiattribuutti , ja kuten muutkin attribuutit, sen perivät aliprosessit . Apuohjelmien top , ps , htop jne. lähdössä mukavaa prioriteettia kutsutaan "NI" - lyhenne sanoista "kiva", ja aikataulun prioriteetti on "PRI" - lyhenne sanoista "priority". Yleensä NI = PRI - 20 , mutta tämä ei aina pidä paikkaansa. Oletuksena NI=0 , vastaavasti PRI=20 .
Linux - ytimen prosessin ajastin tukee prioriteetteja 0 ( reaaliaikainen ) - 139 mukaan lukien [6] . Mukavan apuohjelman tai komennon prioriteetit −20…+19 vastaavat prosessin ajastimen prioriteetteja 100…139 . Muut prosessin ajastimen prioriteetit voidaan asettaa util -linux- paketin chrt -komennolla .
FreeBSD :n ytimen prosessin ajastin tukee prioriteetteja -20 - +20.
Linuxissa järjestelmäkutsua käytetään prosessin nykyisen mukavan prioriteetin saamiseksi ja [ 7] sen muuttamiseen . getpriority()setpriority()
Prosessin ajastin voi toimia käyttäjän valitseman käytännön ( eng. scheduling policy ) mukaisesti. Jotkut käytännöt saattavat jättää hyvän prioriteetin huomiotta.
Linuxissa järjestelmäkutsun avulla voit selvittää nykyiseen prosessiin sovellettavan prosessin ajoituskäytännön ja muuttaa sitä [ 8] . sched_getscheduler()sched_setscheduler()
Renice - apuohjelmaa käytetään muuttamaan jo käynnissä olevien prosessien prioriteettia .
Unix-komennot | ||||||||
---|---|---|---|---|---|---|---|---|
|