Операционная система |. M03 (8 частью серии)
Это серия MultiPart Blog Article, и в этой серии я собираюсь объяснить вам концепции операционной системы. Эта серия статей разделена на несколько модулей, и это третий модуль, который состоит из 10 статей.
В этой статье мы будем основные концепции синхронизации процесса. Мы увидим пример и попытаемся понять основные синхронизации процессов и того, как она достигнута.
Синхронизация процесса: Есть два типа процесса
- Кооперативный процесс:
- В таком виде процесса выполнение одного процесса приведет к некоторым изменениям на другой процесс.
- Это происходит, потому что у них может быть что-то общее или делиться что-то; Это может быть Переменная, память или буфер, код, ресурсы (CPU, принтер и сканер) Отказ
- Независимый процесс:
- В таком виде процесса выполнение одного процесса не влияет на любой другой процесс, потому что они не делятся ничего или ничего общего.
Давайте посмотрим пример и попытайтесь понять концепцию синхронизации процесса. Здесь обе программы разделяют переменную с именем поделился И в этом случае мы говорим о 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.
🚀 Другие ссылки
Операционная система |. M03 (8 частью серии)
Оригинал: «https://dev.to/rahulmishra05/process-synchronization-operating-system-m03-p01-1oci»