Cov Txheej Txheem Ua Haujlwm: Peb Daim Ntawv Yooj Yim. Ntu 5: Kev Npaj: Ntau Qib Cov Lus Qhia Queue (txhais lus)

Introduction to Operating Systems

Nyob zoo, Habr! Kuv xav nthuav qhia rau koj mloog ib co kab lus-kev txhais lus ntawm ib cov ntaub ntawv uas nthuav hauv kuv lub tswv yim - OSTEP. Cov ntaub ntawv no soj ntsuam heev heev ua hauj lwm ntawm unix-zoo li operating systems, uas yog, ua hauj lwm nrog cov txheej txheem, ntau yam teem sij hawm, nco thiab lwm yam zoo sib xws Cheebtsam uas tsim ib tug niaj hnub OS. Koj tuaj yeem pom tus thawj ntawm tag nrho cov ntaub ntawv ntawm no S, SΡ“S,. Thov nco ntsoov tias qhov kev txhais lus tau ua tsis muaj kev tshaj lij (tseem dawb), tab sis kuv vam tias kuv khaws lub ntsiab lus dav dav.

Lab ua hauj lwm rau cov ncauj lus no tuaj yeem pom ntawm no:

Lwm qhov chaw:

Koj tuaj yeem tshawb xyuas kuv channel ntawm xov tooj =)

Kev Npaj: Ntau Qib Cov Lus Qhia Queue

Hauv zaj lus qhuab qhia no peb yuav tham txog cov teeb meem ntawm kev txhim kho ib qho ntawm txoj hauv kev nto moo tshaj plaws rau
kev npaj, uas yog hu ua Multi-Level Feedback Queue (MLFQ). Lub MLFQ tus teem sijhawm tau piav qhia thawj zaug hauv xyoo 1962 los ntawm Fernando J. CorbatΓ³ hauv ib qho kev hu ua
Compatible Time-Sharing System (CTSS). Cov haujlwm no (nrog rau kev ua haujlwm tom qab
Multics) tau raug xaiv tsa rau Turing Award. Tus npaj yog
tom qab txhim kho thiab tau txais cov tsos uas tuaj yeem pom nyob rau hauv
ib co niaj hnub systems.

MLFQ algorithm sim daws 2 qhov teeb meem tseem ceeb sib tshooj.
Ua ntej, nws sim optimize lub sij hawm turnaround, uas, raws li peb tau tham nyob rau hauv lub yav dhau los qhuab qhia, yog optimized los ntawm tus txheej txheem ntawm pib thaum pib ntawm lub queue feem ntau.
ua hauj lwm luv luv. Txawm li cas los xij, OS tsis paub ntev npaum li cas cov txheej txheem tshwj xeeb yuav khiav, thiab qhov no
Kev paub tsim nyog rau kev ua haujlwm ntawm SJF, STCF algorithms. Thib ob, MLFQ tab tom sim
ua kom lub kaw lus teb rau cov neeg siv (piv txwv li, rau cov neeg zaum thiab
ntsia ntawm qhov screen tos kom tiav txoj haujlwm) thiab yog li txo lub sijhawm
teb. Hmoov tsis zoo, algorithms zoo li RR txhim kho lub sijhawm teb, tab sis tsis tshua muaj
muaj kev cuam tshuam tsis zoo rau lub sijhawm hloov pauv. Li no peb qhov teeb meem: Yuav tsim li cas
ib tug teem caij uas yuav ua tau raws li peb cov kev cai yam tsis paub dab tsi txog
tus txheej txheem nyob rau hauv dav? Yuav ua li cas tus teem sij hawm kawm tau cov yam ntxwv ntawm cov dej num,
uas nws tso tawm thiab yog li ua qhov kev txiav txim siab npaj zoo dua?

Lub ntsiab lus ntawm qhov teeb meem: Yuav ua li cas npaj qhov chaw ua haujlwm yam tsis muaj kev paub zoo meej?
Yuav ua li cas los tsim ib lub sijhawm teem sijhawm uas txo qis lub sijhawm teb
rau kev sib tham sib ua hauj lwm thiab tib lub sij hawm minimizes turnaround lub sij hawm tsis paub
paub txog lub sijhawm ua haujlwm?

Nco tseg: peb kawm los ntawm cov xwm txheej dhau los

Lub MLFQ queue yog ib qho piv txwv zoo ntawm lub kaw lus uas kawm los ntawm
cov xwm txheej yav dhau los los kwv yees yav tom ntej. Cov txheej txheem zoo sib xws yog feem ntau
pom nyob rau hauv OS (Thiab ntau lwm ceg ntawm computer science, suav nrog ceg
hardware twv thiab caching algorithms). Zoo sib xws kev mus ncig
tau tshwm sim thaum cov dej num muaj cov theem coj cwj pwm thiab yog li kev kwv yees.
Txawm li cas los xij, koj yuav tsum ceev faj nrog cov txheej txheem no vim tias kev kwv yees tau yooj yim heev
tej zaum yuav dhau los ua qhov tsis raug thiab ua rau lub kaw lus txiav txim siab phem dua
yuav tsis paub txhua.

MLFQ: Cov Cai Tseem Ceeb

Cia peb saib cov kev cai yooj yim ntawm MLFQ algorithm. Thiab txawm hais tias kev siv ntawm no algorithm
Muaj ob peb, cov txheej txheem yooj yim zoo sib xws.
Hauv kev siv peb yuav saib, MLFQ yuav muaj ntau yam
cais queues, txhua tus uas yuav muaj qhov tseem ceeb sib txawv. Txhua lub sijhawm,
ib txoj haujlwm npaj rau kev ua tiav yog nyob rau hauv ib kab. MLFQ siv qhov tseem ceeb,
los txiav txim siab seb txoj haujlwm twg los khiav rau kev ua tiav, i.e. ua hauj lwm nrog siab dua
qhov tseem ceeb (ua haujlwm los ntawm cov kab uas muaj qhov tseem ceeb tshaj plaws) yuav raug tso tawm ua ntej
kab.
Ntawm chav kawm, tej zaum yuav muaj ntau tshaj ib txoj hauj lwm nyob rau hauv ib tug muab queue, yog li ntawd
yog li ntawd lawv yuav muaj qhov tseem ceeb tib yam. Hauv qhov no, lub tshuab yuav siv tau
RR teem caij khiav ntawm cov haujlwm no.
Yog li peb tuaj txog ntawm ob txoj cai yooj yim rau MLFQ:

  • Txoj Cai 1: Yog qhov tseem ceeb (A) > Qhov tseem ceeb (B), txoj haujlwm A yuav raug tso tawm (B yuav tsis)
  • Txoj Cai 2: Yog qhov tseem ceeb(A) = Qhov tseem ceeb(B), A&B tau pib siv RR

Raws li cov saum toj no, cov ntsiab lus tseem ceeb rau kev npaj MLFQ
yog qhov tseem ceeb. Tsis txhob muab qhov tseem ceeb rau txhua tus
txoj hauj lwm, MLFQ hloov nws qhov tseem ceeb nyob ntawm seb tus cwj pwm pom.
Piv txwv li, yog tias ib qho haujlwm tas li cuam tshuam ua haujlwm ntawm CPU thaum tos cov keyboard nkag,
MLFQ yuav khaws cov txheej txheem tseem ceeb tshaj plaws vim tias yog li cas
txheej txheem sib tham sib yuav tsum ua haujlwm. Yog hais tias, ntawm qhov tsis tooj, txoj hauj lwm yog tas li thiab
siv CPU hnyav dhau lub sijhawm ntev, MLFQ yuav txo nws
qhov tseem ceeb. Yog li, MLFQ yuav kawm txog tus cwj pwm ntawm cov txheej txheem thaum lawv tab tom khiav
thiab siv tus cwj pwm.
Cia peb kos ib qho piv txwv ntawm seb cov kab yuav zoo li cas ntawm qee qhov taw tes
lub sijhawm thiab tom qab ntawd koj tau txais qee yam zoo li no:
Cov Txheej Txheem Ua Haujlwm: Peb Daim Ntawv Yooj Yim. Ntu 5: Kev Npaj: Ntau Qib Cov Lus Qhia Queue (txhais lus)

Hauv cov tswv yim no, 2 txheej txheem A thiab B yog nyob rau hauv qhov tseem ceeb tshaj plaws. Txheej txheem
C yog qhov chaw hauv nruab nrab, thiab txheej txheem D yog qhov kawg ntawm kab. Raws li cov saum toj no
Raws li cov lus piav qhia ntawm MLFQ algorithm, tus teem sijhawm yuav ua haujlwm tsuas yog nrog qhov siab tshaj plaws
qhov tseem ceeb raws li RR, thiab cov haujlwm C, D yuav tsis ua haujlwm.
Lawm, lub snapshot zoo li qub yuav tsis muab ib daim duab tiav ntawm MLFQ ua haujlwm li cas.
Nws yog ib qho tseem ceeb kom to taub raws nraim li cas daim duab hloov lub sij hawm.

Sim 1: Yuav ua li cas hloov qhov tseem ceeb

Ntawm no koj yuav tsum txiav txim siab seb MLFQ yuav hloov qhov tseem ceeb li cas
cov hauj lwm (thiab yog li txoj hauj lwm txoj hauj lwm nyob rau hauv lub queue) raws li nws nce mus txog nws lub neej voj voog. Rau
qhov no yog qhov tsim nyog yuav tsum nco ntsoov cov haujlwm ua haujlwm: ib qho nyiaj
kev sib tham ua haujlwm nrog lub sijhawm luv luv (thiab yog li tso tawm ntau zaus
CPU) thiab ntau txoj haujlwm ua haujlwm ntev uas siv CPU tag nrho lawv lub sijhawm ua haujlwm, thaum
Lub sij hawm teb tsis yog qhov tseem ceeb rau cov hauj lwm zoo li no. Thiab txoj kev no koj tuaj yeem ua rau koj thawj zaug
siv MLFQ algorithm nrog cov cai hauv qab no:

  • Txoj Cai 3: Thaum ib txoj haujlwm nkag mus rau hauv qhov system, nws tau muab tso rau hauv kab nrog qhov siab tshaj plaws
  • qhov tseem ceeb.
  • Rule4a: Yog tias ib txoj haujlwm siv tag nrho lub sijhawm qhov rai faib rau nws, ces nws
  • txo qhov tseem ceeb.
  • Txoj Cai 4b: Yog tias Txoj Haujlwm tso tawm CPU ua ntej nws lub sijhawm lub qhov rais tas, ces nws
  • tseem nyob nrog qhov tseem ceeb.

Piv txwv 1: Ib txoj haujlwm ntev ua haujlwm

Raws li tuaj yeem pom hauv qhov piv txwv no, txoj haujlwm nkag tau teeb tsa nrog qhov siab tshaj plaws
qhov tseem ceeb. Tom qab lub sij hawm qhov rais ntawm 10ms, cov txheej txheem yog demoted nyob rau hauv qhov tseem ceeb
tus npaj. Tom qab lub sij hawm tom ntej qhov rais, txoj hauj lwm yog thaum kawg demoted rau
qis tshaj qhov tseem ceeb hauv qhov system, qhov twg nws tseem nyob.
Cov Txheej Txheem Ua Haujlwm: Peb Daim Ntawv Yooj Yim. Ntu 5: Kev Npaj: Ntau Qib Cov Lus Qhia Queue (txhais lus)

Piv txwv 2: xa ib txoj haujlwm luv luv

Tam sim no cia peb pom ib qho piv txwv ntawm yuav ua li cas MLFQ yuav sim mus cuag SJF. Hauv qhov ntawd
Piv txwv li, ob txoj haujlwm: A, uas yog ib txoj haujlwm ntev mus tas li
tuav CPU thiab B, uas yog ib qho haujlwm luv luv. Xav tias
tias A twb tau ua haujlwm rau qee lub sijhawm thaum lub sijhawm ua haujlwm B tuaj txog.
Cov Txheej Txheem Ua Haujlwm: Peb Daim Ntawv Yooj Yim. Ntu 5: Kev Npaj: Ntau Qib Cov Lus Qhia Queue (txhais lus)

Daim duab no qhia txog qhov tshwm sim ntawm qhov xwm txheej. Task A, zoo li tej hauj lwm,
CPU siv tau nyob rau hauv qab heev. Txoj Haujlwm B yuav tuaj txog lub sijhawm T = 100 thiab yuav
muab tso rau hauv qhov tseem ceeb tshaj plaws queue. Txij li thaum nws lub sijhawm ua haujlwm yog luv, ces
nws yuav ua kom tiav ua ntej mus txog qhov kawg kab.

Los ntawm qhov piv txwv no, lub hom phiaj tseem ceeb ntawm lub algorithm yuav tsum to taub: vim hais tias cov algorithm tsis
paub seb ib txoj hauj lwm ntev los yog luv, ces ua ntej ntawm tag nrho nws xav tias txoj hauj lwm
luv thiab muab qhov tseem ceeb tshaj plaws. Yog tias qhov no yog ib txoj haujlwm luv luv, ces
nws yuav ua kom tiav sai, txwv tsis pub yog tias nws ua haujlwm ntev, nws yuav txav mus qeeb
qhov tseem ceeb thiab yuav sai sai no ua pov thawj tias nws yog qhov tseeb ua haujlwm ntev uas tsis ua
yuav tsum tau teb.

Piv txwv 3: Yuav ua li cas txog I/O?

Tam sim no cia saib ib qho piv txwv I/O. Raws li tau hais hauv txoj cai 4b,
Yog tias tus txheej txheem tso tawm lub processor yam tsis siv tag nrho nws lub sijhawm processor,
ces nws tseem nyob rau tib theem tseem ceeb. Lub hom phiaj ntawm txoj cai no yooj yim heev
- yog tias txoj haujlwm sib tham ua haujlwm ua haujlwm ntau ntawm I / O, piv txwv li, tos
los ntawm tus neeg siv tus yuam sij lossis nas nias, xws li ib txoj haujlwm yuav tso tawm lub processor
ua ntej lub qhov rais faib. Peb tsis xav txo qhov tseem ceeb ntawm txoj haujlwm no,
thiab yog li ntawd nws yuav nyob twj ywm ntawm tib theem.
Cov Txheej Txheem Ua Haujlwm: Peb Daim Ntawv Yooj Yim. Ntu 5: Kev Npaj: Ntau Qib Cov Lus Qhia Queue (txhais lus)

Qhov piv txwv no qhia tau hais tias yuav ua li cas lub algorithm yuav ua haujlwm nrog cov txheej txheem zoo li no - kev sib tham ua haujlwm B, uas tsuas yog xav tau CPU rau 1ms ua ntej ua tiav
Cov txheej txheem I/O thiab kev ua haujlwm ntev A, uas siv tag nrho nws lub sijhawm siv CPU.
MLFQ khaws cov txheej txheem B ntawm qhov tseem ceeb tshaj plaws vim nws txuas ntxiv mus
tso CPU. Yog tias B yog ib txoj haujlwm sib tham sib, ces qhov algorithm tau ua tiav
Koj lub hom phiaj yog ua haujlwm sib tham sib sai sai.

Teeb meem nrog MLFQ algorithm tam sim no

Hauv cov piv txwv yav dhau los peb tau tsim cov qauv ntawm MLFQ. Thiab zoo li nws
ua nws txoj haujlwm zoo thiab ncaj ncees, faib CPU sijhawm ncaj ncees ntawm
ua hauj lwm ntev thiab tso cai rau cov hauj lwm luv luv los yog siab
ua haujlwm ntawm I / O sai. Hmoov tsis zoo, txoj hauv kev no muaj ntau yam
teeb meem loj.
Ua ntej, qhov teeb meem ntawm kev tshaib kev nqhis: yog tias lub kaw lus muaj ntau qhov sib tham sib
ua hauj lwm, ces lawv yuav haus tag nrho cov processor lub sij hawm thiab yog li tsis yog ib tug rau ib ntev lub sij hawm
txoj haujlwm yuav tsis tuaj yeem ua tiav (lawv tshaib plab).

Thib ob, cov neeg siv ntse tuaj yeem sau lawv cov haujlwm li ntawd
dag tus teem sijhawm. Kev dag ntxias dag ua ib yam dab tsi los yuam
Lub sijhawm teem sijhawm muab cov txheej txheem ntau dua CPU sijhawm. Algorithm uas
piav qhia saum toj no yog qhov yooj yim heev rau kev tawm tsam zoo sib xws: ua ntej lub sijhawm lub qhov rais yog xyaum
Thaum kawg, koj yuav tsum ua haujlwm I / O (rau qee qhov, tsis muaj teeb meem dab tsi)
thiab yog li tso lub CPU. Tus cwj pwm zoo li no yuav tso cai rau koj nyob hauv ib yam
cov kab nws tus kheej thiab dua tau txais feem pua ​​​​ntawm CPU lub sijhawm. Yog koj ua
qhov no yog qhov tseeb (piv txwv li, tua 99% ntawm lub sijhawm lub qhov rais ua ntej tso CPU),
xws li ib txoj hauj lwm yuav tsuas monopolize lub processor.

Thaum kawg, ib qho kev pab cuam tuaj yeem hloov nws tus cwj pwm thaum lub sijhawm. Cov hauj lwm ntawd
uas siv CPU tuaj yeem ua kev sib tham sib. Hauv peb qhov piv txwv, zoo ib yam
cov haujlwm yuav tsis tau txais kev kho mob uas lawv tsim nyog los ntawm tus neeg teem sijhawm raws li lwm tus xav tau
(thawj) kev sib tham ua haujlwm.

Cov lus nug rau cov neeg tuaj saib: dab tsi tawm tsam ntawm tus teem sijhawm tuaj yeem nqa tawm hauv lub ntiaj teb niaj hnub no?

Kev sim 2: nce qhov tseem ceeb

Cia peb sim hloov cov cai thiab saib seb peb puas tuaj yeem zam teeb meem nrog
yoo mov. Peb tuaj yeem ua dab tsi kom ntseeg tau tias muaj feem cuam tshuam
CPU cov haujlwm yuav tau txais lawv lub sijhawm (txawm tias tsis ntev).
Raws li kev daws teeb meem yooj yim, koj tuaj yeem hais qhia ib ntus
tsa qhov tseem ceeb ntawm txhua yam haujlwm zoo li no hauv qhov system. Muaj ntau txoj kev
Txhawm rau ua tiav qhov no, cia peb sim ua qee yam yooj yim ua piv txwv: txhais
tag nrho cov haujlwm tam sim ntawd muab qhov tseem ceeb tshaj plaws, yog li txoj cai tshiab:

  • Txoj Cai 5: Tom qab qee lub sijhawm S, txav tag nrho cov haujlwm hauv lub kaw lus mus rau qhov siab tshaj plaws.

Peb txoj cai tshiab daws ob qho teeb meem ib zaug. Ua ntej, cov txheej txheem
tau lees tias tsis txhob tshaib plab: cov dej num uas nyob rau hauv qhov tseem ceeb tshaj plaws yuav muab faib
CPU lub sij hawm raws li RR algorithm thiab yog li tag nrho cov txheej txheem yuav tau txais
CPU sijhawm. Qhov thib ob, yog tias qee qhov txheej txheem uas yav dhau los siv
tsuas yog tus processor ua kev sib tham sib, nws yuav nyob twj ywm hauv kab nrog qhov siab tshaj plaws
qhov tseem ceeb tom qab tau txais kev nce ib zaug hauv qhov tseem ceeb tshaj plaws.
Cia peb saib ib qho piv txwv. Hauv qhov xwm txheej no, xav txog ib txheej txheem siv
Cov Txheej Txheem Ua Haujlwm: Peb Daim Ntawv Yooj Yim. Ntu 5: Kev Npaj: Ntau Qib Cov Lus Qhia Queue (txhais lus)

CPU thiab ob qho kev sib tham sib, cov txheej txheem luv luv. Nyob rau sab laug hauv daim duab, daim duab qhia txog tus cwj pwm tsis muaj qhov tseem ceeb ntawm kev nce qib, thiab yog li kev ua haujlwm ntev pib tshaib plab tom qab ob txoj haujlwm sib tham sib tuaj txog hauv lub cev. Hauv daim duab ntawm sab xis, qhov tseem ceeb nce ntxiv yog ua txhua txhua 50ms thiab yog li tag nrho cov txheej txheem tau lees paub kom tau txais CPU sijhawm thiab yuav pib ua ntu zus. 50ms nyob rau hauv cov ntaub ntawv no yog coj ua piv txwv; nyob rau hauv kev muaj tiag tus xov tooj no yog me ntsis siab dua.
Obviously, ntxiv lub sij hawm nce lub sij hawm S ua rau
ib lo lus nug logical: dab tsi tus nqi yuav tsum tau teem? Ib tug ntawm kev hwm
systems engineers John Ousterhout hu ua ntau npaum li cas hauv tshuab li voo-doo
tas li, txij li lawv nyob rau hauv qee txoj kev xav tau cov khawv koob dub kom raug
nthuav tawm. Thiab, hmoov tsis, S muaj cov ntxhiab tsw zoo li no. Yog koj teem tus nqi thiab
cov hauj lwm loj-ntev yuav pib tshaib plab. Thiab yog tias koj teeb tsa tus nqi qis dhau,
Cov haujlwm sib tham sib yuav tsis tau txais lub sijhawm CPU tsim nyog.

Kev sim 3: Kev Ua Lag Luam Zoo dua

Tam sim no peb muaj lwm qhov teeb meem los daws: yuav ua li cas tsis
tso cai rau peb tus neeg teem sijhawm yuav dag? Cov neeg los liam rau qhov no yog
txoj cai 4a, 4b, uas tso cai rau ib txoj hauj lwm los tuav qhov tseem ceeb, tso tawm cov processor
ua ntej lub sijhawm teem tseg. Yuav ua li cas nrog qhov no?
Qhov kev daws teeb meem hauv qhov no tuaj yeem suav tias yog kev suav nyiaj zoo dua ntawm CPU lub sijhawm ntawm txhua tus
MLFQ qib. Es tsis txhob hnov ​​qab lub sij hawm qhov kev pab cuam siv
processor rau lub sij hawm faib, nws yuav tsum tau coj mus rau hauv tus account thiab txuag. Tom qab
cov txheej txheem tau siv nws lub sijhawm faib, nws yuav tsum tau demoted mus rau lwm qhov
qib tseem ceeb. Tam sim no nws tsis muaj teeb meem li cas cov txheej txheem yuav siv nws lub sijhawm - yuav ua li cas
tas li suav rau ntawm lub processor lossis raws li tus xov tooj hu. Yog li,
txoj cai 4 yuav tsum tau sau rov qab rau hauv daim ntawv hauv qab no:

  • Txoj Cai 4: Tom qab ib txoj haujlwm tau siv nws lub sijhawm faib nyob rau hauv cov kab tam sim no (tsis muaj teeb meem pes tsawg zaus nws tso tawm CPU), qhov tseem ceeb ntawm txoj haujlwm ntawd tau qis dua (nws txav mus rau hauv kab).

Cia peb saib ib qho piv txwv:
Cov Txheej Txheem Ua Haujlwm: Peb Daim Ntawv Yooj Yim. Ntu 5: Kev Npaj: Ntau Qib Cov Lus Qhia Queue (txhais lus)Β»

Daim duab qhia tias yuav ua li cas yog tias koj sim dag tus teem sijhawm, zoo li
yog tias nws tau nrog cov cai dhau los 4a, 4b qhov tshwm sim ntawm sab laug yuav tau txais. Zoo siab tshiab
txoj cai yog qhov tshwm sim ntawm txoj cai. Ua ntej kev tiv thaiv, txhua txheej txheem tuaj yeem hu rau I / O ua ntej ua tiav thiab
yog li dominate CPU, tom qab enabling kev tiv thaiv, tsis hais tus cwj pwm
I/O, nws tseem yuav txav mus rau hauv kab thiab yog li yuav tsis tuaj yeem ua tsis ncaj ncees
muab cov peev txheej CPU.

Txhim kho MLFQ thiab lwm yam teeb meem

Nrog rau cov kev txhim kho saum toj no los txog cov teeb meem tshiab: ib qho ntawm lub ntsiab
Cov lus nug - yuav ua li cas parameterize xws li lub sijhawm teem sijhawm? Cov. Yuav tsum tau npaum li cas
kab? Dab tsi yuav tsum yog qhov loj ntawm qhov program qhov rai nyob rau hauv kab? Yuav ua li cas
Txoj haujlwm tseem ceeb yuav tsum tau nce ntxiv kom tsis txhob tshaib plab thiab
coj mus rau hauv tus account qhov kev hloov pauv ntawm kev coj cwj pwm? Tsis muaj lus teb yooj yim rau cov lus nug no
teb thiab tsuas yog thwmsim nrog loads thiab tom qab configuration
tus neeg npaj yuav ua rau qee qhov kev txaus siab.

Piv txwv li, feem ntau cov kev siv MLFQ tso cai rau koj los muab qhov sib txawv
lub sijhawm luv rau cov kab sib txawv. Feem ntau yog qhov tseem ceeb heev
Lub caij luv luv raug muab. Cov kab no muaj cov haujlwm sib tham sib,
switching ntawm uas yog rhiab heev thiab yuav tsum noj 10 los yog tsawg dua
ms. Hauv qhov sib piv, cov kab uas muaj qhov tseem ceeb qis muaj cov haujlwm ua haujlwm ntev uas siv
CPU. Thiab nyob rau hauv cov ntaub ntawv no, lub sij hawm ncua sij hawm ntev haum zoo heev (100ms).
Cov Txheej Txheem Ua Haujlwm: Peb Daim Ntawv Yooj Yim. Ntu 5: Kev Npaj: Ntau Qib Cov Lus Qhia Queue (txhais lus)

Hauv qhov piv txwv no muaj 2 txoj haujlwm uas ua haujlwm nyob rau hauv qhov tseem ceeb tshaj plaws 20
ms, muab faib ua 10ms windows. 40ms nyob rau hauv nruab nrab queue (20ms qhov rais) thiab nyob rau hauv qhov tseem ceeb tsawg
Lub sijhawm kab qhov rais dhau los ua 40ms qhov chaw ua haujlwm tiav lawv txoj haujlwm.

Kev siv Solaris OS ntawm MLFQ yog chav kawm ntawm cov sijhawm sib koom ua ke.
Tus neeg npaj yuav muab cov rooj sib tham uas txhais raws nraim li nws yuav tsum tau ua
qhov tseem ceeb ntawm cov txheej txheem hloov pauv ntawm nws lub neej, dab tsi yuav tsum yog qhov loj
faib qhov rais thiab ntau npaum li cas koj yuav tsum tau tsa cov haujlwm tseem ceeb. Tus thawj tswj hwm
systems tuaj yeem cuam tshuam nrog lub rooj no thiab ua rau tus teem sijhawm coj tus cwj pwm
txawv. Los ntawm lub neej ntawd, lub rooj no muaj 60 kab nrog kev nce qib
qhov rais loj los ntawm 20ms (qhov tseem ceeb tshaj) mus rau ntau pua ms (qhov tseem ceeb tsawg), thiab
kuj nrog kev txhawb nqa ntawm txhua txoj haujlwm ib zaug ib pliag.

Lwm tus MLFQ cov phiaj xwm tsis siv lub rooj lossis ib qho tshwj xeeb
cov cai uas tau piav qhia hauv qhov kev qhuab qhia no, ntawm qhov tsis sib xws, lawv suav qhov tseem ceeb siv
cov qauv lej. Piv txwv li, FreeBSD teem sijhawm siv cov qauv rau
xam qhov tseem ceeb tam sim no ntawm ib txoj hauj lwm raws li tus txheej txheem ntev npaum li cas
siv CPU. Tsis tas li ntawd, kev siv CPU ploj mus dhau sijhawm, thiab lwm yam
Yog li, kev nce qib tseem ceeb tshwm sim me ntsis txawv dua li tau piav qhia saum toj no. Qhov no muaj tseeb
hu ua decay algorithms. Txij li version 7.1, FreeBSD tau siv ULE teem sijhawm.

Thaum kawg, ntau tus neeg teem sijhawm muaj lwm yam nta. Piv txwv li, ib txhia
Schedules khaws cov qib siab tshaj plaws rau kev ua haujlwm ntawm lub operating system thiab yog li
Yog li, tsis muaj cov txheej txheem neeg siv tuaj yeem tau txais qhov tseem ceeb tshaj plaws hauv
qhov system. Qee lub tshuab tso cai rau koj muab tswv yim los pab
tus neeg npaj tuaj yeem teem caij ua ntej kom raug. Piv txwv li, siv cov lus txib zoo
koj tuaj yeem nce lossis txo qhov tseem ceeb ntawm txoj haujlwm thiab yog li nce lossis
txo qhov kev pab cuam lub sijhawm siv CPU.

MLFQ: Summary

Peb tau piav qhia txog txoj hauv kev npaj hu ua MLFQ. Nws lub npe
enclosed nyob rau hauv lub hauv paus ntsiab lus ntawm kev ua hauj lwm - nws muaj ob peb queues thiab siv tswv yim
los txiav txim qhov tseem ceeb ntawm txoj haujlwm.
Daim ntawv kawg ntawm cov cai yuav yog raws li nram no:

  • Txoj Cai 1: Yog qhov tseem ceeb (A) > Qhov tseem ceeb (B), txoj haujlwm A yuav raug tso tawm (B yuav tsis)
  • Txoj Cai 2: Yog qhov tseem ceeb(A) = Priority(B), A&B tau pib siv RR
  • Txoj Cai 3: Thaum ib txoj haujlwm nkag mus rau hauv qhov system, nws tau muab tso rau hauv qhov tseem ceeb tshaj plaws.
  • Txoj Cai 4: Tom qab ib txoj haujlwm tau siv nws lub sijhawm faib nyob rau hauv cov kab tam sim no (tsis muaj teeb meem pes tsawg zaus nws tso tawm CPU), qhov tseem ceeb ntawm txoj haujlwm ntawd tau qis dua (nws txav mus rau hauv kab).
  • Txoj Cai 5: Tom qab qee lub sijhawm S, txav tag nrho cov haujlwm hauv lub kaw lus mus rau qhov siab tshaj plaws.

MLFQ yog qhov nthuav rau cov laj thawj hauv qab no - tsis yog xav tau kev paub txog
xwm ntawm txoj hauj lwm ua ntej, lub algorithm kawm txog tus cwj pwm yav dhau los ntawm kev ua hauj lwm thiab teeb tsa
qhov tseem ceeb raws li. Yog li, nws sim zaum ntawm ob lub rooj zaum ib zaug - kom ua tiav cov haujlwm me me (SJF, STCF) thiab ua siab ncaj ua haujlwm ntev,
CPU-loading hauj lwm. Yog li ntawd, ntau lub tshuab, suav nrog BSD thiab lawv cov derivatives,
Solaris, Windows, Mac siv qee hom algorithm raws li teem sijhawm
MLFQ raws li lub hauv paus.

ΠžΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹:

  1. manpages.debian.org/stretch/manpages/sched.7.en.html
  2. en.wikipedia.org/wiki/Scheduling_(xam)
  3. pages.lip6.fr/Julia.Lawall/atc18-bouron.pdf
  4. www.usenix.org/legacy/event/bsdcon03/tech/full_papers/roberson/roberson.pdf
  5. chebykin.org/freebsd-process-scheduling

Tau qhov twg los: www.hab.com

Ntxiv ib saib