Kiva

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 5. tammikuuta 2016 tarkistetusta versiosta . tarkastukset vaativat 7 muokkausta .

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 .

Kuvaus

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 .

Syntaksi

kiva [ -n offset ] [ --adjustment = offset ] [ komento [ argumentti ... ]]

Vaihtoehdot

-n offset --säätö=offset Aseta kiva prioriteetti nykyisen mukavan prioriteetin ja määritetyn "offset"-luvun summaksi. Jos tätä argumenttia ei ole määritetty, käytetään numeroa 10.

Muistiinpanot

  1. CPU - englanti.  keskusyksikkö , keskusyksikkö .
  2. IO_ _  input-output , input-output .
  3. ionice on ohjelma util-linux paketista . Katso GNU /Linux - käyttäjien komennot manionice(1) -  sivulta .  
  4. 1 2 nice(1)  - FreeBSD :n käyttäjäkomennot man -sivu .  
  5. Mukava apuohjelma . Avoin ryhmä . — Open Group Base Specifications Issue 7. IEEE Std 1003.1, 2013 Edition. Haettu 8. elokuuta 2015. Arkistoitu alkuperäisestä 12. syyskuuta 2015.
  6. Katso Linux-ytimen lähdekoodi :
  7. ↑ - GNU/Linux - järjestelmä kutsuu mangetpriority(2) -  sivun  
  8. ↑ - GNU/Linux - järjestelmä kutsuu mansched_getscheduler(2) -  sivun  

Linkit