Process Synchronization - 동기화

김진한·2022년 6월 4일
0

운영체제(OS)

목록 보기
8/8

다중 프로그래밍 시스템

  • 여러개의 프로세스들이 존재한다. 프로세스들은 서로 독립적으로 동작할 수 있다. 하지만 동시에 동일한 자원을 사용한다거나 할 때 문제가 발생할 수 있다.

동기화(Synchronization)

  • 프로세스들이 서로 동작을 맞추면서 정보를 공유하는 것이다.

비동기적(Asynchronization)

  • 프로세스들이 서로 어떻게 동작하고 있는지 모른체 각각 행동하는 것을 비동기적이라고 한다.

병행적(Concurrent)

  • 여러개의 프로세스들이 동시에 시스템에 존재하는 것을 병행적이라고 한다.

병행 수행중인 비동기적 프로세스들이 공유 자원에 동시 접근할 때 문제가 발생할 수 있다.


Shared data(공유데이터) / Critical data

  • 여러 프로세스들이 공유하는 데이터

Critical section(CS, 임계 영역)

  • 공유 데이터에 접근하는 코드 영역(code segment)

Mutual exclusion(상호배제)

  • 둘 이상의 프로세스가 동시에 critical section에 진입하는 것을 막는 것

machine instruction(기계어 명령)의 특성

  • Atomicity(원자성) : 더이상 쪼갤 수 없다는 의미다. 특정 명령을 수행하기 시작하면 끝날 때 까지는 반드시 수행하게 된다.
  • 한 기계어 명령의 실행 도중에 인터럽트 받지 않는다.

0개의 댓글