Рубрики
Uncategorized

Синхронизация процесса |. Операционная система — M03 P01

Это многократный блог Article Series, и в этой серии я собираюсь объяснить вам концепции … помеченных Linux, начинающим, DevOps, CodeNewie.

Операционная система |. M03 (8 частью серии)

Это серия MultiPart Blog Article, и в этой серии я собираюсь объяснить вам концепции операционной системы. Эта серия статей разделена на несколько модулей, и это третий модуль, который состоит из 10 статей.

В этой статье мы будем основные концепции синхронизации процесса. Мы увидим пример и попытаемся понять основные синхронизации процессов и того, как она достигнута.

Синхронизация процесса: Есть два типа процесса

  1. Кооперативный процесс:
    • В таком виде процесса выполнение одного процесса приведет к некоторым изменениям на другой процесс.
    • Это происходит, потому что у них может быть что-то общее или делиться что-то; Это может быть Переменная, память или буфер, код, ресурсы (CPU, принтер и сканер) Отказ
  2. Независимый процесс:
    • В таком виде процесса выполнение одного процесса не влияет на любой другой процесс, потому что они не делятся ничего или ничего общего.

Давайте посмотрим пример и попытайтесь понять концепцию синхронизации процесса. Здесь обе программы разделяют переменную с именем поделился И в этом случае мы говорим о Uni-процессорной системе.

int;

P1.

int x = shared;
x++;
sleep(1);
shared = x;

Счастливый

int y = shared;
y--;
sleep(1);
shared = y;
  • Как упоминалось ранее, мы говорим о Uniprocessor System.
  • Мы будем выполнять P1 Программа сначала, вы также можете выполнить P2 первый.
  • Когда мы выполняем P1 Программа Значение общего сортировки/скопировано в переменную х Отказ
  • Тогда значение х увеличивается одним, и он становится 6 от 5 Отказ
  • Для 1 второй P1 Процесс будет прекратить выполнение (из-за сон (1); ) команда, когда P1 Получите приостановленный процессор не приостановите, скорее ЦП начнут выполнять P2 (ЦП выполнит переключение контекста, сохраняя детали P1 в печатной плате, который означает блок управления процессом.)
  • Переключение контекста возможно в этом случае, потому что в параллельном процессе есть процесс.
  • Теперь P2 начнет выполнение и значение общей переменной, которая является 5 Получает хранение в переменной y Отказ
  • Теперь ценность y станет 4 После выполнения команды y-- .
  • После этого P2 Также будет сон для 1 во-вторых из-за такой же причине, присутствовавшего в P1 Программа и это Спать (1)
  • Теперь ЦП начнет выполнять P1 От нас это приостановлено.
  • Значение х Переменная — это 6 Так что в соответствии с кодом мы загрузим значение в общей переменной.
  • Теперь значение в общей переменной является 6 Отказ И программа P1 будет прекратиться.
  • Теперь снова P2 начнет выполняться из Сайта, он был приостановлен.
  • Вот ценность y это 4 И то же самое получат нагрузку в общей переменную.
  • Теперь значение общей переменной является 4 Отказ
  • Но это неправильный ответ, потому что мы добавляем 1 в ценности и вычитании 1 Из этого, поэтому значение переменной не должно меняться, но здесь значение переменной меняется.
  • Это потому, что оба процессы делятся что-то, поэтому они являются совместными процессами, но они не синхронизированы, если они синхронизированы, тогда эта проблема не произойдет.
  • Эта проблема известна как Состояние гонки И вот почему нам нужно синхронизацию процесса.

Таким образом, в заключение можно сказать, что когда два или более кооперативных процесса прогон, тогда проблема возникнет известна как состояние гонки.

Это было все о Синхронизация процесса . Надеюсь, тебе понравилось и узнал что-то новое от него.

Если у вас есть какие-либо сомнения, вопрос, запрос, связанный с этой темой или просто хочу поделиться со мной что-то, а затем, пожалуйста, не стесняйтесь связаться со мной.

📱 Свяжитесь со мной

Twitter LinkedIn Телеграмма Instagram.

📧 Напишите письмо

rahulmishra102000@gmail.com.

🚀 Другие ссылки

Github Hackerrank.

Операционная система |. M03 (8 частью серии)

Оригинал: «https://dev.to/rahulmishra05/process-synchronization-operating-system-m03-p01-1oci»