Process 2

[운영체제] Thread(2) - Thread 동기화

Thread 동기화 스레드 동기화에는 뮤텍스(Mutex), 세마포어(Semaphore), 모니터(Monitor) 등이 있다. 세 가지의 공통점은 모두 운영체제의 동기화 기법이라는 것이다. 각자의 특징을 살펴보자. 뮤텍스(Mutex) 뮤텍스는 Mutual Exclusion의 약자로, 스레드의 동시 접근을 허용하지 않는다는 의미이다. 뮤텍스의 스레드 동기화 방법은 임계 영역(Critical Section)에 들어가기 위해 이 뮤텍스를 가지고 있어야 들어갈 수 있다. 일종의 자물쇠 역할을 한다고 볼 수 있다. 임계 영역에 들어간 스레드가 뮤텍스를 이용해 임계 영역에서 본인이 나올 때까지 다른 스레드가 못 들어오게 내부에서 자물쇠로 잠근다. 세마포어(Semaphore) 세마포어는 뮤텍스와 비슷한 역할을 하지만 ..

운영체제 2022.03.11

[운영체제] Thread(1) - Thread란?

Thread 스레드란 프로그램(프로세스) 실행의 단위이며, 하나의 프로세스는 여러 개의 스레드로 구성이 가능하다. 프로세스를 구성하는 스레드들은 프로세스에 할당된 메모리, 자원 등을 공유한다. 또한 프로세스와 같이 실행, 준비, 대기 등의 상태를 가지며 상태가 변할 때마다 스레드 콘텍스트 스위칭을 수행한다. 그리고 스레드별로 자신만의 스택과 레지스터를 가지고 한 순간에 하나의 스레드만 실행 가능하다. Thread와 Process 프로세스는 실행 중인 프로그램으로, 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것을 말한다. 하지만 프로세스 생성은 많은 시간과 자원을 소비한다. 반면 스레드는 프로세스의 실행 단위라고 할 수 있다. 한 프로세스 내에서 동작되는 여러 실행 흐름으로 프로세스 내의..

운영체제 2022.03.10