For faster navigation, this Iframe is preloading the Wikiwand page for Kritická sekce.

Kritická sekce

Kritická sekce (též kritický kód, anglicky critical section) je v informatice nejmenší část zdrojového kódu, kde dochází k přístupu ke sdílenému prostředku (např. sdílená data, která označujeme jako kritická oblast), ke kterému nemohou současně přistupovat dva nebo více procesů či vláken. Programy, které usilují o vstup do kritické sekce, musí použít nějaké synchronizační primitivum, které má za úkol zajistit do kritické sekce exkluzivní přístup a zároveň konečnou dobu čekání na povolení ke vstupu.[1]

Popis činnosti

[editovat | editovat zdroj]

Pokud je vykonáván kód kritické sekce, musí ostatní vlákna nebo procesy vyčkat. Proto je nutné použít nějaké synchronizační primitivum, které je vyvoláno při vstupu a následně též při výstupu z kritické sekce, například semafor nebo mutex.

Související informace naleznete také v článku Synchronizační primitivum.

Problém kritické sekce

[editovat | editovat zdroj]

Při řízení přístupu do kritické sekce musí být dodrženy tři podmínky:[1]

  1. výhradní přístup – vstup do kritické sekce je povolen nejvýše jednomu procesu
  2. vývoj – rozhodování o vstupu je pouze na procesech, které o něj usilují
  3. omezené čekání – rozhodnutí o vstupu nesmí být pro některého čekajícího odkládáno do nekonečna

Při usilování o vstup do kritické sekce mohou procesy použít aktivní čekání (neustále se pokoušejí vstoupit do kritické sekce). Pro odstranění aktivního čekání jsou některá synchronizační primitiva rozšířena o frontu čekajících procesů (typicky např. semafory).

  1. a b KOLÁŘ, Petr. Operační systémy [online]. Liberec: 2005-02-01 [cit. 2010-05-27]. S. 28–33. Dostupné v archivu pořízeném dne 2014-07-14. 

Související články

[editovat | editovat zdroj]
{{bottomLinkPreText}} {{bottomLinkText}}
Kritická sekce
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?