Mis on protsessori ajastamine?
Protsessori ajastamine on protsess, mille abil saab kindlaks teha, milline protsess omab protsessori täitmiseks, kui teine protsess on ootel. Protsessori ajastamise peamine ülesanne on veenduda, et alati, kui protsessor jääb jõude, valib operatsioonisüsteem vähemalt ühe valmisjärjekorras saadaolevast protsessist. Valikuprotsessi viib läbi protsessori ajastaja. See valib ühe mälus oleva protsessi, mis on valmis täitmiseks.
Selles protsessori ajastamise õpetuses saate teada:
- Mis on protsessori ajastamine?
- CPU ajastamise tüübid
- Olulised protsessori ajastamise terminoloogiad
- Protsessori ajastamise kriteeriumid
- Intervallitaimer
- Mis on dispetšer?
- CPU ajastamise algoritmi tüübid
- Kõigepealt tule esimesena
- Lühim järelejäänud aeg
- Prioriteedipõhine ajastamine
- Ümmarguse Robini ajakava
- Esmalt lühim töö
- Mitmetasandiliste järjekordade ajastamine
- Planeerimise algoritmi eesmärk
CPU ajastamise tüübid
Siin on kahte tüüpi ajastamismeetodeid:
Ennetav ajakava
Ennetavas ajastamises määratakse ülesanded enamasti nende prioriteetidega. Mõnikord on oluline käivitada kõrgema prioriteediga ülesanne enne teist madalama prioriteediga ülesannet, isegi kui madalama prioriteediga ülesanne endiselt töötab. Madalama prioriteediga ülesanne kehtib mõnda aega ja jätkub siis, kui kõrgema prioriteediga ülesanne on selle täitmise lõpetanud.
Mittepreemektiivne ajastamine
Seda tüüpi ajastamismeetodis on protsessor eraldatud konkreetsele protsessile. Protsess, mis hoiab protsessorit hõivatud, vabastab protsessori kas konteksti vahetades või lõpetades. See on ainus meetod, mida saab kasutada erinevate riistvara platvormide jaoks. Seda seetõttu, et see ei vaja erilist riistvara (näiteks taimerit), nagu ennetav ajakava.
Kui ajakava koostamine on ennetav või mitte?
Selleks, et teha kindlaks, kas ajakava koostamine on ennetav või mitte, arvestage nende nelja parameetriga:
- Protsess lülitub jooksvalt ooteseisundile.
- Konkreetne protsess lülitub töötavast olekust valmisolekusse.
- Konkreetne protsess lülitub ooteseisundist valmisolekusse.
- Protsess lõpetas täitmise ja lõpetati.
Kohaldatakse ainult tingimusi 1 ja 4, ajakava nimetatakse ennetavaks.
Kõik muud ajakavad on ennetavad.
Olulised protsessori ajastamise terminoloogiad
- Sarivõte / täitmisaeg : see on aeg, mida protsess nõuab täitmise lõpuleviimiseks. Seda nimetatakse ka jooksuajaks.
- Saabumisaeg: kui protsess siseneb valmisolekusse
- Finish Time: kui protsess on lõpule jõudnud ja süsteemist väljub
- Mitme programmeerimine : arv programme, mis võivad korraga mälus olla.
- Töökohad: See on teatud tüüpi programm, millel puudub igasugune kasutajate suhtlus.
- Kasutaja: See on omamoodi programm, millel on kasutajate interaktsioon.
- Protsess: see on viide, mida kasutatakse nii töö kui ka kasutaja jaoks.
- CPU / IO pursketsükkel: iseloomustab protsessi täitmist, mis vaheldub protsessori ja sisend / väljundaktiivsuse vahel. Protsessori ajad on tavaliselt lühemad kui sisend / väljund.
Protsessori ajastamise kriteeriumid
Protsessori ajastamise algoritm üritab maksimeerida ja minimeerida järgmist:
Maksimeeri:
Protsessori kasutamine: protsessori kasutamine on peamine ülesanne, milles operatsioonisüsteem peab tagama, et protsessor jääb võimalikult hõivatud. See võib olla vahemikus 0 kuni 100 protsenti. Kuid RTOS-i puhul võib see olla vahemikus 40 protsenti madala taseme ja 90 protsenti kõrge taseme süsteemi puhul.
Läbilaskevõime: Protsesside arv, mis lõpetavad nende täitmise ajaühiku kohta, on teada läbilaskevõime. Niisiis, kui protsessor on protsessi täitmisega hõivatud, tehakse sel ajal tööd ja ajaühikus tehtud tööd nimetatakse läbilaskvuseks.
Minimeeri:
Ooteaeg: ooteaeg on summa, mida konkreetne protsess peab ootama valmis järjekorras.
Vastamisaeg: see on ajavahemik, mille jooksul päring esitati, kuni esimene vastus on esitatud.
Pöördeaeg: Pöörlemisaeg on konkreetse protsessi käivitamise aeg. See on kogu aja arvutus, mis kulub mällu jõudmiseks, järjekorras ootamiseks ja protsessori käivitamiseks. Protsessi esitamise ja lõpuleviimise ajavahemik on pöördeaeg.
Intervallitaimer
Taimeri katkestamine on meetod, mis on tihedalt seotud eelarvega. Kui teatud protsess saab protsessori jaotuse, võib taimeri seada kindlaksmääratud intervalli. Mõlemad taimeri katkestused ja eelvalmis sunnivad protsessi protsessori tagastama enne, kui selle protsessori purskamine on lõpule jõudnud.
Enamik mitmeprogrammeeritud operatsioonisüsteemist kasutab mingisugust taimerit, et vältida protsessi igaveseks sidumist.
Mis on dispetšer?
See on moodul, mis tagab protsessori juhtimise protsessori üle. Dispetšer peaks olema kiire, et see saaks töötada igal kontekstilülitil. Saatmise latentsus on aeg, mida protsessori ajastajal kulub ühe protsessi peatamiseks ja teise käivitamiseks.
Dispetšeri funktsioonid:
- Konteksti vahetamine
- Kasutajarežiimile üleminek
- Uuesti laaditud programmis õigesse asukohta liikumine.
CPU ajastamise algoritmi tüübid
Protsessi ajastamise algoritme on peamiselt kuut tüüpi
- Esmalt teeni esimesena (FCFS)
- Lühim töö algus (SJF) ajakava
- Lühim järelejäänud aeg
- Prioriteetne ajakava
- Ümmarguse Robini ajakava
- Mitmetasandiline järjekorra planeerimine

Kõigepealt tule esimesena
First Come First Serve on FCFSi täielik vorm. See on lihtsaim ja lihtsaim protsessori ajastamise algoritm. Seda tüüpi algoritmides saab protsessorit taotlev protsess kõigepealt protsessori jaotuse. Seda ajastamismeetodit saab hallata FIFO järjekorraga.
Kui protsess siseneb valmisjärjekorda, on selle PCB (Process Control Block) seotud järjekorra sabaga. Niisiis, kui protsessor muutub vabaks, tuleks see protsessile järjekorra alguses määrata.
FCFS-meetodi omadused:
- See pakub ennetavat ja ennetavat ajastamise algoritmi.
- Töökohad täidetakse alati põhimõttel "kes ees, see mees"
- Seda on lihtne rakendada ja kasutada.
- Kuid selle meetodi jõudlus on kehv ja üldine ooteaeg on üsna pikk.
Lühim järelejäänud aeg
SRT täielik vorm on lühim järelejäänud aeg. Seda tuntakse ka kui SJF-i ennetavat ajastamist. Selles meetodis eraldatakse protsess ülesandele, mis on selle täitmisele kõige lähemal. See meetod takistab uuemal valmisolekuprotsessil vanema protsessi lõpuleviimist.
SRT ajastamise meetodi omadused:
- Seda meetodit rakendatakse enamasti pakkkeskkondades, kus tuleb eelistada lühikesi töid.
- See pole ideaalne meetod selle juurutamiseks jagatud süsteemis, kus vajalik protsessori aeg pole teada.
- Seostage iga protsessiga selle järgmise protsessori purske pikkusena. Nii et see operatsioonisüsteem kasutab neid pikkusi, mis aitab protsessi võimalikult lühikese ajaga ajastada.
Prioriteedipõhine ajastamine
Prioriteedi ajastamine on protsess, mis põhineb prioriteedil. Selles meetodis valib ajakava prioriteedina toimivad ülesanded.
Prioriteedi ajastamine aitab OS-il ka prioriteetset määramist kaasata. Kõigepealt tuleks läbi viia suurema prioriteediga protsessid, samal ajal kui võrdsete prioriteetidega töökohad viiakse läbi ümmarguse või FCFS-i alusel. Prioriteedi saab otsustada mälunõuete, ajavajaduse jms põhjal.
Ümmarguse Robini ajakava
Round robin on vanim ja lihtsaim ajastamisalgoritm. Selle algoritmi nimi tuleneb ring-robin põhimõttest, kus iga inimene saab omakorda võrdse osa millestki. Seda kasutatakse enamasti algoritmide ajastamiseks mitme ülesande korral. See algoritmimeetod aitab protsesse näljutult täita.
Round-Robini ajastamise omadused
- Round robin on hübriidmudel, mis töötab kellaga
- Ajasektsioon peaks olema minimaalne, mis määratakse konkreetse töödeldava ülesande jaoks. See võib aga erinevate protsesside puhul erineda.
- See on reaalajasüsteem, mis reageerib sündmusele kindla aja jooksul.
Esmalt lühim töö
SJF on täispikk vorm (Shortest job first) on ajastamise algoritm, milles järgmiseks täitmiseks tuleks valida kõige lühema täitmisajaga protsess. See ajastamismeetod võib olla ennetav või mitte. See vähendab oluliselt teiste täitmist ootavate protsesside keskmist ooteaega.
SJF-i kavandamise omadused
- See on seotud iga tööga ajaühikuna.
- Selle meetodi korral, kui protsessor on saadaval, käivitatakse kõigepealt järgmine protsess või lühima valmimisajaga töö.
- Seda rakendatakse ennetava poliitikaga.
- See algoritmimeetod on kasulik partii tüüpi töötlemiseks, kus tööde lõpuleviimise ootamine pole kriitiline.
- See parandab töökohtade väljundit, pakkudes lühemaid töökohti, mis tuleks täita kõigepealt ja millel on enamasti lühem tööaeg.
Mitmetasandiliste järjekordade ajastamine
See algoritm eraldab valmis järjekorra erinevateks eraldi järjekordadeks. Selles meetodis määratakse protsessid järjekorda, lähtudes protsessi konkreetsest omadusest, näiteks protsessi prioriteet, mälu suurus jne.
See ei ole siiski iseseisev OS-i algoritmide ajastamine, kuna tööde ajastamiseks on vaja kasutada muud tüüpi algoritme.
Mitmetasandiliste järjekordade ajastamise iseloomustus:
- Mõningate omadustega protsesside jaoks tuleks säilitada mitu järjekorda.
- Igas järjekorras võivad olla eraldi ajastamisalgoritmid.
- Igale järjekorrale antakse prioriteedid.
Planeerimise algoritmi eesmärk
Siin on ajakava algoritmi kasutamise põhjused:
- Protsessor kasutab oma efektiivsuse parandamiseks ajakava.
- See aitab teil ressursse jaotada konkureerivate protsesside vahel.
- CPU maksimaalse kasutamise saab mitme programmiga.
- Käivitatavad protsessid on järjekorras.
Kokkuvõte:
- Protsessori ajastamine on protsess, mille abil saab kindlaks teha, milline protsess omab protsessori täitmiseks, kui teine protsess on ootel.
- Ennetavas ajastamises määratakse ülesanded enamasti nende prioriteetidega.
- Mittepreemptivses ajastamismeetodis on protsessor eraldatud konkreetsele protsessile.
- Sarivõte on aeg, mis on vajalik protsessi lõpuleviimiseks. Seda nimetatakse ka jooksuajaks.
- Protsessori kasutamine on peamine ülesanne, milles operatsioonisüsteem peab tagama, et protsessor jääb võimalikult hõivatud
- Protsesside arv, mis viivad lõpule ajaühiku kohta, on teada läbilaskevõime.
- Ooteaeg on summa, mida konkreetne protsess peab valmis järjekorras ootama.
- See on summa, mille jooksul päring esitati, kuni esimene vastus on esitatud.
- Pöörlemisaeg on konkreetse protsessi käivitamise aeg.
- Taimeriga katkestamine on meetod, mis on tihedalt seotud eelarvega,
- Dispetšer on moodul, mis tagab protsessori juhtimise protsessori üle.
- Protsessi ajastamise algoritme on kuut tüüpi:
- Esmalt teenindus (FCFS), 2) lühima tööga esimesena (SJF) ajakava 3) lühim järelejäänud aeg 4) prioriteediplaanide planeerimine 5) vooru robinide planeerimine 6) mitmetasandilise järjekorra planeerimine
- Esimesena serveerimise meetodis saab protsessorit taotlev protsess esmalt protsessori jaotuse.
- Lühima järelejäänud aja jooksul määratakse protsess ülesandele, mis on selle täitmisele kõige lähemal.
- Planeerija valib prioriteetses ajastamises prioriteedile vastavad ülesanded.
- Selles raund-robini ajakava töötab põhimõtteliselt, kus iga inimene saab omakorda võrdse osa millestki
- Kõigepealt lühima töö puhul tuleks järgmiseks valida lühim täitmisaeg
- Mitmetasandilise ajastamise korral eraldab meetod valmisjärjekorra erinevateks eraldi järjekordadeks. Selles meetodis määratakse protsessid järjekorrale konkreetse atribuudi alusel
- Protsessor kasutab oma efektiivsuse parandamiseks ajakava.