더북(TheBook)

정리

 

• 운영체제는 실행(execution)을 실제 하드웨어에 배정하는 역할을 한다.

프로세스는 컴퓨터에서 실행 중인 프로그램의 한 인스턴스를 가리킨다. 각 프로세스는 하나 또는 그 이상의 실행 스레드를 가지며, 프로세스에 포함되지 않은 스레드는 존재할 수 없다.

스레드는 어떤 특정한 결과를 내기 위해 만들어진 독립적인 인스트럭션의 집합이며 실행의 단위다. 또한 운영체제가 독립적으로 실행하고 관리한다.

• 한 프로세스 안에서 여러 실행 스레드가 서로 자원을 공유할 수 있다. 반면 프로세스끼리는 거의 독립적이다.

• 동시적 애플리케이션을 작성하는 데는 스레드를 사용하는 것이 간편하다. 스레드는 프로세스에 비해 서로 간에 전환이 쉽기 때문이다. 더욱이 스레드끼리는 주소 공간을 공유하므로 데이터 공유 속도가 훨씬 빠르다. 그러나 그만큼 접근 제어나 동기화에 주의하지 않으면 데이터 오염을 일으키기도 쉽다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.