다중스레드

    [운영체제] 다중 스레드 모델다중 스레드 모델

    [운영체제] 다중 스레드 모델다중 스레드 모델

    [다중 스레드 모델] 스레드는 사용자 스레드와 커널 스레드로 나눌 수 있다. 1 ) 사용자 스레드 : 커널 위에서 지원되며 커널의 지원 없이 관리된다. 2 ) 커널 스레드 : 운영체제에 의해 직접 지원되고 관리된다. 궁극적으로 사용자 스레드와 커널 스레드를 연결해서 쓰게 된다. 예를 들면 입출력 인터럽트가 발생하면 사용자 모드에서 사용자 스레드의 응답을 기다린다. 이 후 스레드의 응답이 오면 다시 커널 모드로 변환되어 커널 스레드가 일을 처리하게 된다. 이런 연결을 확립하는 다대일, 일대일, 다대다 모델을 살펴보자 1 ) 다대일 모델 : 많은 사용자 수준 스레드를 하나의 커널 스레드로 사상한다. 이 모델의 경우 한 스레드가 봉쇄가 될 경우 전체 프로세스가 봉쇄된다. 또 한, 한 번에 하나의 스레드만이 커..

    [운영체제] 스레드

    [운영체제] 스레드

    스레드는 CPU이용의 기본 단위이다. 스레드는 스레드 ID, 프로그램 카운터(PC), 레지스터 집합, 스택으로 구성된다. 스레드에는 단일 스레드와 다중 스레드가 있는데 만일 프로세스가 다수의 제어 스레드를 가진다면 프로세스는 동시에 하나 이상의 작업을 수행할 수 있다. 하나의 응용 프로그램이 여러 개의 비슷한 작업을 수행할 필요가 있는 상황들이 꽤 많다. 예를 들어, 웹 서버는 클라이언트로부터 웹 페이지나 이미지 등에 대한 요청을 받는다. 만약 웹 서버가 단일 스레드 프로세스로 작동한다면, 한 번에 하나의 클라이언트만 서비스할 수 있게 되어 클라이언트는 자신의 요구가 서비스되기까지 매우 긴 시간을 기다려야 한다. 이에 대한 해결책으로 사용했던 방법이 서버에게 서비스 요청이 들어오면 프로세스는 그 요청을 ..