Savstarpēja izslēgšana (Mutex)

Autors: Lewis Jackson
Radīšanas Datums: 8 Maijs 2021
Atjaunināšanas Datums: 15 Maijs 2024
Anonim
L-3.4: Critical Section Problem |  Mutual Exclusion, Progress and Bounded Waiting | Operating System
Video: L-3.4: Critical Section Problem | Mutual Exclusion, Progress and Bounded Waiting | Operating System

Saturs

Definīcija - ko nozīmē savstarpēja izslēgšana (Mutex)?

Savstarpēja izslēgšana (mutex) ir programmas objekts, kas novērš vienlaicīgu piekļuvi koplietotam resursam. Šo jēdzienu izmanto vienlaicīgā programmēšanā ar kritisko sadaļu - koda gabalu, kurā procesi vai pavedieni piekļūst koplietotam resursam. Vienlaicīgi mutex pieder tikai vienam pavedienam, tādējādi, startējot programmu, tiek izveidots mutex ar unikālu nosaukumu. Kad pavedienam ir resurss, tam ir jānobloķē mutex no citiem pavedieniem, lai novērstu vienlaicīgu piekļuvi resursam. Atbrīvojot resursu, pavediens atslēdz mutex.


Ievads Microsoft Azure un Microsoft Cloud | Šajā rokasgrāmatā jūs uzzināsit, kas ir mākonis skaitļošana un kā Microsoft Azure var palīdzēt jums migrēt un vadīt savu biznesu no mākoņa.

Techopedia izskaidro savstarpējo izslēgšanu (Mutex)

Mutex nonāk attēlā, kad divi pavedieni darbojas uz vieniem un tiem pašiem datiem vienlaikus. Tas darbojas kā bloķēšana un ir visvienkāršākais sinhronizācijas rīks. Kad pavediens mēģina iegūt muteksu, tas iegūst muteksu, ja tas ir pieejams, pretējā gadījumā pavediens tiek iestatīts miega stāvoklī. Savstarpēja izslēgšana samazina latentumu un aizņemtību, izmantojot rindu veidošanu un slēdžus. Mutex var izmantot gan aparatūras, gan programmatūras līmenī.

Pārtraukumu atspējošana vismazākam skaitam instrukciju ir labākais veids, kā panākt mutex kodola līmenī un novērst kopīgo datu struktūru korupciju. Ja vairākiem procesoriem ir viena un tā pati atmiņa, tiek iestatīts karodziņš, lai iespējotu un atspējotu resursu iegūšanu, pamatojoties uz pieejamību. Aizņemtības gaidīšanas mehānisms piespiež mutex programmatūras jomās. Tas ir aprīkots ar tādiem algoritmiem kā Dekkers algoritms, melnbalto maizes algoritmu, Szymanskis algoritmu, Petersons algoritmu un Lamports maizes cepšanas algoritmu.


Mutex efektīvai ieviešanai var definēt savstarpēji izslēdzošus lasītājus un lasīt / rakstīt mutex klases kodus.