Tsev > Exhibition > Ntsiab lus

Real-time kev khiav hauj lwm kaw lus Intertask kev sib txuas lus thiab kev sib pab

Mar 08, 2019

Muaj ntau qhov kev khiav hauj lwm xws li Unix yog pluag hauv cov haujlwm ua tiag. Tus neeg qhia lub sij hawm muab qhov tseem ceeb tshaj plaws rau cov hauj lwm nrog qhov kev thov qis tshaj plaws hauv lub computer, yog li tsis muaj txoj hau kev los xyuas kom meej tias txoj haujlwm tseem ceeb heev yuav tau muaj peev xwm txaus. Multitasking systems yuav tsum tswj sib qhia cov ntaub ntawv thiab kev pab cuam kho vajtse ntawm ntau cov dej num. Nws yog feem ntau tsis zoo rau ob txoj hauj lwm kom nkag mus rau tib cov ntaub ntawv los yog cov cuab yeej cuab tam ib txhij. [6] Muaj peb qho kev tawm tswv yim los daws qhov teeb meem no:


Txiav ncua sij hawm masking / disabling interrupts

General-purpose operating systems feem ntau tsis pub neeg siv cov kev pab cuam rau daim npog (lov tes taw) interrupts, vim hais tias tus neeg siv kev pab cuam yuav tswj lub CPU rau ntev li nws xav. Ib txhia niaj hnub CPUs tsis pub neeg siv hom kev cai kom lov tes taw kev cuam tshuam kev lag luam xws li tswj tau pom tias yog ib qho tseem ceeb khiav hauj lwm kev pabcuam. Muaj ntau lub nruab thiab RTOSs, txawm li cas los xij, cia daim ntawv thov nws tus kheej khiav hauv kev ntsiav hom kab ke rau kev sib txuas lus zoo dua thiab tseem tso cai rau daim ntawv thov kom muaj kev tswj ntau dua ntawm qhov chaw khiav hauj lwm tsis tas yuav tsum tau ua haujlwm OS.


Rau ib leeg-processor systems, ib daim ntawv thov khiav hauv ntsiav hom thiab masking interrupts yog qhov qis tshaj nyiaj siv ua haujlwm kom txhob muaj kev nkag mus rau ib qho chaw sib koom sib txuas. Thaum tshuam muaj kev cuam tshuam masked thiab cov haujlwm tam sim no tsis ua blocking OS hu, qhov hauj lwm tam sim no tau siv kom siv cov CPU vim tsis muaj lwm yam hauj lwm los yog kev cuam tshuam tau kev tswj, ces qhov tseem ceeb yog tiv thaiv. Thaum cov neeg ua haujlwm tawm nws qhov tseem ceeb, nws yuav tsum tsis txhob cuam tshuam; thaum tos kev cuam tshuam, yog muaj, yuav tau ua kom tiav. Kev ncua sij hawm ntawm kev ncua ntawm kev ncua mas yuav tsum tsuas yog ua tiav thaum txoj kab ntev tshaj ntawm qhov tseem ceeb yog luv dua qhov siab tshaj plaws kev cuam tshuam rau latency. Feem ntau hom kev tiv thaiv no tsuas yog siv thaum lub khoos phis tseem ceeb yog cov lus qhia tsawg tsawg xwb thiab tsis muaj cov loops. Hom no zoo tagnrho rau kev tiv thaiv cov ntaub ntawv teev moj-ntsis-mapped thaum sau cov khoom tswj los ntawm ntau yam haujlwm.


Mutexes

Thaum sib koom ua ke yuav tsum raug tshwj tseg tsis pub thaiv txhua yam hauj lwm (xws li tos Flash cim kom sau), nws yog qhov zoo uas siv cov tswv yim kuj muaj nyob rau ntawm kev siv khiav lag luam, xws li mutex thiab OS-saib xyuas kev txhais lus. Xws li cov mechanisms koom nrog cov kev sib tham, thiab feem ntau ua rau OS lub rooj sib chaws tawm ntawm kev tawm, yog li lawv feem ntau siv 175,000 CPU cov lus qhia rau txim, thaum masking interrupts yuav siv li ob peb li kev qhia ntawm qee tus txheej txheem.


A (non-recursive) mutex yog xauv los yog xauv lub xub ntiag. Thaum twg ib tug neeg ua hauj lwm tau xauv lub mutex, tag nrho lwm cov hauj lwm yuav tsum tau tos rau lub mutex yuav tau xauv los ntawm nws tus tswv tsev - thawj xov. Ib txoj hauj lwm yuav teem caij rau lub sij hawm ntawm nws txoj kev tos kom tau ib lub mutex. Muaj ob peb qhov teeb meem zoo-paub nrog mutex raws li tsim xws li kev sib tw ua ntej thiab kev tuag.


Hauv kev cuam tshuam muaj feem thib ua haujlwm ua haujlwm tseem ceeb ntau dua vim tias txoj haujlwm tsis tshua muaj kev ua haujlwm tau zoo, tiam sis qhov haujlwm tseem ceeb tsis muab CPU rau sijhawm ua kom tiav nws txoj haujlwm. Ib txoj kev daws teeb meem yog muaj txoj hauj lwm uas yog lub mutex ntawm, los yog 'inherit,' qhov muaj feem thib ntawm kev ua haujlwm ntau tshaj plaws. Tab sis txoj kev yooj yim no yooj yim dua thaum muaj ntau theem ntawm kev tos: kev ua hauj lwm A waits rau lub mutex xauv los ntawm cov neeg ua hauj lwm B, uas tos ib mutex xauv los ntawm kev ua hauj lwm C. Kev tuav ntau theem ntawm qhov qub txeeg qub teg ua rau lwm txoj hauv kev khiav thiab yog li ua rau muaj kev tshaib plab ntawm qhov nrab-ncua threads.


Nyob rau hauv lub deadlock, ob los yog ntau tshaj cov hauj lwm xauv mutex tsis muaj timeouts thiab mam li tos ib txhis rau lwm txoj hauj lwm tus mutex, tsim kev vam caum. Qhov yooj yim deadlock scenario tshwm sim thaum ob qhov kev ua hauj lwm hloov xauv ob mutex, tab sis nyob rau hauv qhov kev txiav txim rov qab. Lub sij hawm tiv thaiv yog tiv thaiv los ntawm cov qauv tsim.


Xov dua

Lwm txoj kev qhia txog kev sib koom siv yog rau kev paub tab yuav xa cov lus sib txuas lus hauv cov txheej txheem sib koom nrog txoj kev xa. Nyob rau hauv txoj kab lus no, qhov chaw muab kev pab cuam ncaj qha los ntawm tsuas yog ib qho haujlwm xwb. Thaum lwm lub hauj lwm xav kom nug los yog tswj qhov kev pab, nws xa lus mus rau kev tswj haujlwm. Txawm hais tias lawv tus cwj pwm ua tiag tiag tsis yooj yim dua lub tshuab nruab nrab, cov xov xwm yoojyim yoojyim yuav tsum tsis txhob tiv thaiv ntau qhov teeb meem, thiab feem ntau zoo dua li cov kev ua haujlwm nruab nrab. Txawm li cas los xij, muaj teeb meem xws li cov ntawv xeem ua tau zoo. Qhov muaj feem thib ua ntej tuaj yeem tshwm sim thaum muaj ib txoj hauj lwm ua hauj lwm rau cov lus tshaj tawm uas tsis tshua muaj nqi thiab tsis lees txais cov lus tshaj tawm (los yog cov lus xa tawm los ntawm kev ua haujlwm tseem ceeb) hauv nws cov lus xa tuaj. Cov txheej txheem kev sib tw yuav tshwm sim thaum ob lossis ntau txoj hauj lwm tos ib leeg los xa cov lus teb.