Критическая секция рутины (CSR)

Автор: Randy Alexander
Дата создания: 2 Апрель 2021
Дата обновления: 11 Май 2024
Anonim
Критическая секция рутины (CSR) - Технология
Критическая секция рутины (CSR) - Технология

Содержание

Определение - Что означает подпрограмма «Критический раздел» (CSR)?

Подпрограмма критического раздела (CSR) - это фрагмент кода, для которого процесс получает эксклюзивную блокировку, чтобы никакой другой процесс не мог выполнить ее одновременно. Часто один или несколько процессов выполняются одновременно в операционной системе, заставляя эти процессы конкурировать друг с другом за доступ к файлам и ресурсам. Только один процесс должен иметь доступ к ресурсу, пока выполняется часть кода, связанная с ресурсом.

Чтобы гарантировать, что процесс в CSR не завершится с ошибкой, пока другие процессы ожидают, компонент управления процессами устанавливает ограничение по времени. Таким образом, процесс может иметь доступ к эксклюзивной блокировке только в течение ограниченного периода времени.


Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Techopedia объясняет процедуру критического сечения (CSR)

Основными требованиями для реализации КСО являются:

  • Взаимное исключение: когда процесс выполняется в CSR, другой процесс не может войти.
  • Условие выполнения: если ни один процесс не выполняется в CSR и есть некоторые процессы, которые желают войти в него, они могут сделать это в течение определенного периода времени. Один из процессов входит в CSR, в то время как другие ждут.
  • Ограниченное ожидание: когда процесс запрашивает ввод CSR и до того, как запрос будет удовлетворен, должен быть верхний предел количества процессов, ожидающих входа в CSR в течение этого периода, чтобы гарантировать, что ни один процесс не остановится, и каждый процесс в очереди ожидания получает ход, чтобы войти в CSR.

CSR в определенном фрагменте кода может быть идентифицирован через следующие свойства:


  • Код характеризуется последовательностью операций чтения-записи-обновления.
  • Разделы кода изменяют переменные в другом коде, который выполняет последовательность операций чтения-записи-обновления.
  • Наличие кода, который осуществляет доступ к структуре данных какого-либо другого кода путем его изменения, или код, который использует структуру данных, которая может быть изменена каким-либо другим процессом.

Концепция критической секции может быть применена к оборудованию, которое использует средство прерываний. Всякий раз, когда процесс входит в критическую секцию, все прерывания на процессоре должны быть отключены, чтобы другие процессы не могли запросить блокировку ресурса. Аналогично, когда процесс завершает выполнение, прерывания снова включаются. Другой подход заключается в использовании семафора, специальной переменной, которая действует как сигнал для управления выполнением или завершением процесса.