Prosessin ajoitus käyttöjärjestelmässä: Pitkä, keskipitkä, lyhytaikainen ajoitus

⚡ Älykäs yhteenveto

Prosessien ajoitus on käyttöjärjestelmän tehtävä, joka hallitsee prosesseja valmius-, odotus- ja ajotiloissa. Se varaa suorittimen aikaa kullekin prosessille, pitää suorittimen kiireisenä ja lyhentää vasteaikaa käyttämällä pitkän, keskipitkän ja lyhyen aikavälin ajoituksia.

  • Määritelmä: Prosessien ajoitus hallitsee prosesseja valmius-, odotus- ja käynnissä olevissa tiloissa pitääkseen suorittimen kiireisenä.
  • 📥 Jonot: Työ-, valmius- ja laitejonot järjestävät prosessit niiden suoritustilan mukaan.
  • 🔀 Kahden valtion malli: Yksinkertaisimmalla tasolla prosessi on joko käynnissä tai ei käynnissä.
  • 🧑💼 Kolme aikatauluttajaa: Pitkän, keskipitkän ja lyhyen aikavälin aikatauluttajat hallitsevat, mitkä prosessit suoritetaan ja milloin.
  • Lyhytaikainen: CPU-ajoitus on nopein, ja se valitsee valmiin prosessin välitöntä suoritusta varten.
  • 🔁 Kontekstin vaihto: CPU-tilan tallentaminen ja palauttaminen piirilevylle mahdollistaa moniajon.

Prosessien aikataulutus käyttöjärjestelmässä

Mitä on prosessien ajoitus?

Prosessin ajoitus on käyttöjärjestelmätehtävä, joka aikatauluttaa eri tilojen, kuten valmis, odottaa ja käynnissä olevat, prosesseja.

Prosessien ajoitus mahdollistaa käyttöjärjestelmän varata suorittimen suoritusajan kullekin prosessille. Toinen tärkeä syy prosessien ajoitusjärjestelmän käyttöön on se, että se pitää suorittimen kiireisenä koko ajan. Näin ohjelmien vasteaika on mahdollisimman lyhyt.

Prosessin ajoitusjonot

Prosessien ajoitusjonot auttavat ylläpitämään erillistä jonoa jokaiselle prosessitilalle ja piirilevylle. Kaikki saman suoritustilan prosessit sijoitetaan samaan jonoon. Siksi aina, kun prosessin tilaa muutetaan, sen piirilevy on irrotettava olemassa olevasta jonosta ja siirrettävä takaisin uuteen tilajonoon.

Kolmen tyyppisiä käyttöjärjestelmän jonoja ovat:

  1. Työjono – Se auttaa sinua tallentamaan kaikki prosessit järjestelmään.
  2. Valmis jono – Tämäntyyppinen jono auttaa sinua asettamaan kaikki päämuistissa olevat prosessit, jotka ovat valmiita ja odottavat suoritusta.
  3. Laitteen jonot – Se on prosessi, joka on estetty I/O-laitteen puuttumisen vuoksi.
Prosessin ajoitusjonot
Prosessin ajoitusjonot

Yllä olevassa kaaviossa:

  • Suorakulmio edustaa jonoa.
  • Ympyrä merkitsee resurssia.
  • Nuoli osoittaa prosessin etenemisen.
  1. Jokainen uusi prosessi laitetaan ensin Valmis-jonoon. Se odottaa Valmis-jonossa, kunnes se on lopulta käsitelty suoritusta varten. Tässä uusi prosessi laitetaan Valmis-jonoon ja odottaa, kunnes se valitaan suoritettavaksi tai se lähetetään.
  2. Yksi prosesseista on saanut suorittimen käyttöönsä ja se on suorituksessa.
  3. Prosessin tulisi lähettää I/O-pyyntö.
  4. Sitten se tulisi sijoittaa I/O-jonoon.
  5. Prosessin tulisi luoda uusi aliprosessi.
  6. Prosessin pitäisi odottaa sen päättymistä.
  7. Se tulisi poistaa väkisin suorittimesta keskeytyksen seurauksena. Kun keskeytys on suoritettu, se tulisi lähettää takaisin valmiusjonoon.

Kahden tilan prosessimalli

Kaksitilaprosessimallit ovat:

  • Running State
  • Ei ajotila

Running

In Operating-järjestelmä, aina kun uusi prosessi rakennetaan, se syötetään järjestelmään, jonka pitäisi olla käynnissä.

Ei Juokse

Ei-käynnissä olevat prosessit pidetään jonossa, joka odottaa omaa suoritusvuoroaan. Jokainen jonon merkintä on osoitus tiettyyn prosessiin.

Ajoitustavoitteet

Prosessien aikataulutuksen tärkeät tavoitteet ovat seuraavat:

  • Maksimoi vuorovaikutteisten käyttäjien määrä hyväksyttävillä vasteajoilla.
  • Saavuta tasapaino reagoinnin ja käytön välillä.
  • Vältä loputonta lykkäystä ja varmista prioriteetit.
  • Siinä olisi myös viitattava prosesseihin, joissa keskeiset resurssit ovat hallussa.

Prosessin ajoittajien tyyppi

Ajoitus on eräänlainen järjestelmäohjelmisto, jonka avulla voit käsitellä prosessien ajoitusta.

Prosessin ajoittajia on pääasiassa kolmenlaisia:

  1. Pitkän aikavälin aikatauluttaja
  2. Lyhyen aikavälin aikataulu
  3. Keskipitkän aikavälin ajastin

Pitkän aikavälin aikatauluttaja

Pitkän aikavälin aikatauluttaja tunnetaan myös nimellä työn aikatauluttajaTämä ajoitustoiminto säätelee ohjelmaa ja valitsee prosessit jonosta ja lataa ne muistiin suoritusta varten. Se säätelee myös moniohjelmoinnin astetta.

Tämän tyyppisen ajoittajan päätavoitteena on kuitenkin tarjota tasapainoinen yhdistelmä töitä, kuten prosessori- ja I/O-töitä, mikä mahdollistaa moniohjelmoinnin hallinnan.

Keskipitkän aikavälin ajastin

Keskipitkän aikavälin aikataulutus on tärkeä osa vaihtaapingSen avulla voit käsitellä vaihdettuja prosesseja. Tässä ajastimessa käynnissä oleva prosessi voidaan keskeyttää, mikä tekee I/O-pyynnön.

Käynnissä oleva prosessi voi keskeytyä, jos se tekee I/O-pyynnön. Keskeytyneen prosessin suoritus ei voi edetä loppuun. Jotta prosessi voidaan poistaa muistista ja tehdä tilaa muille prosesseille, keskeytetty prosessi tulee siirtää toissijaiseen tallennustilaan.

Lyhyen aikavälin aikataulu

Lyhytaikainen aikataulutus tunnetaan myös ns. CPU-aikatauluTämän ajoituksen päätavoitteena on tehostaa järjestelmän suorituskykyä asetettujen kriteerien mukaisesti. Tämä auttaa sinua valitsemaan joukosta prosesseja, jotka ovat valmiita suoritettavaksi, ja varaamaan suorittimen yhdelle niistä. Lähettäjä antaa suorittimen hallinnan lyhytaikaisen ajoituksen valitsemalle prosessille.

Ero ajoittajien välillä

Pitkäaikainen vs. lyhytaikainen vs. keskipitkäaikainen:

Pitkäaikainen Lyhytaikainen Keskipitkän aikavälin
Pitkäaikainen tunnetaan myös työaikatauluttajana. Lyhytaikainen tunnetaan myös nimellä CPU-ajoitus. Keskipitkän aikavälin sopimuksia kutsutaan myös swapiksiping ajastin.
Se on joko poissa tai minimaalinen aikajakojärjestelmässä. Se on aikaosuusjärjestyksessä merkityksetön. Tämä ajastin on osa aikajakojärjestelmiä.
Nopeus on pienempi verrattuna lyhytaikaiseen aikatauluun. Nopeus on nopein verrattuna lyhyen ja keskipitkän aikavälin aikatauluttajaan. Se tarjoaa keskinopeuden.
Antaa sinun valita prosesseja latauksesta ja palauttaa ne muistiin. Se valitsee vain prosesseja, jotka ovat valmiustilassa suoritusta varten. Se auttaa sinua lähettämään prosessin takaisin muistiin.
Tarjoaa täyden hallinnan. Tarjoaa vähemmän hallintaa. Vähentää moniohjelmoinnin määrää.

Mikä on kontekstikytkin?

Se on menetelmä, jolla tallennetaan/palautetaan suorittimen tila piirilevylle, jotta prosessin suorittamista voidaan jatkaa samasta pisteestä myöhemmin. Kontekstinvaihtomenetelmä on tärkeä moniajokäyttöjärjestelmässä.

UKK

Aikatauluttaja päättää, mikä prosessi suoritetaan seuraavaksi käytäntöjen perusteella. Lähettäjä on moduuli, joka itse asiassa antaa valitulle prosessille CPU:n ohjauksen suorittamalla kontekstin vaihdon ja hypyn.ping oikeaan paikkaan ohjelmassa.

Moniohjelmoinnin aste tarkoittaa samanaikaisesti päämuistissa olevien prosessien määrää. Pitkän aikavälin ajoitusohjelma hallitsee sitä päättämällä, kuinka monta prosessia se hyväksyy, tasapainottamalla suorittimen ja I/O:n käyttöä tehokkaan järjestelmän suorituskyvyn saavuttamiseksi.

Prosessiohjauslohko on tietorakenne, jota käyttöjärjestelmä käyttää kaikkien prosessia koskevien tietojen, kuten sen tilan, ohjelmalaskurin, rekisterien ja muistirajojen, tallentamiseen. Se on välttämätön prosessien tallentamiseksi ja palauttamiseksi kontekstinvaihdon aikana.

Tekoäly voi oppia työkuormamalleja päättääkseen, mitä prosesseja suoritetaan ja miten suorittimen aika allokoidaan. Kiinteiden sääntöjen sijaan se mukauttaa aikataulutusta reaaliajassa, mikä parantaa läpimenoaikaa, vasteaikaa ja energiatehokkuutta, erityisesti pilvi- ja moniydinjärjestelmissä.

Kyllä. Analysoimalla aiempia suorittimen kuormituspurskeita ja I/O-malleja tekoälymallit voivat arvioida prosessin keston ja onko se suorittimen vai I/O:n sidottu. Nämä ennusteet auttavat ajoittajaa priorisoimaan prosesseja ja lyhentämään odotusaikaa.

Tiivistä tämä viesti seuraavasti: