프로세스와 스레드

2020. 10. 6. 14:34CS 필기 노트/OS

반응형

 

프로세스

 

레지스터, 스택, 포인트, 프로그램 등의 집합체로 실행중인 프로그램 인스턴스를 말한다.

cpu에 의해 수행되는 프로그램으로 os가 관리하는 실행 단위이다.

 

특징 : 

우선순위 지정이 가능하다.

상황에 따른 상태를 전이 수행한다.

다중 사용자 컴퓨터 시스템에서 사용자 요구 처리의 핵심이다.

자원 할당, 연산, 통신 등의 역할을 한다.

 

상태 구분

 

준비 (ready) : cpu를 사용할 수 있도록 대기하고 있는 상태로 바로 실행할 수 있다.

실행 (run) : 하나의 프로세스가 cpu를 차지하여 실행 중

대기 (blocked) : 프로세스가 사건(입출력 등)이 발생하기를 기다리고 있는 상태

종료 (exit) : 프로세스가 해제됨

 

프로세스 제어 블록

운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳이며, 프로세스 생성시에 만들어진다.

 

 

 

스레드

프로세스보다 가볍고 독립적으로 수행되는 순차적인 제어흐름이다.

또한 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다.

 

스레드의 종류

사용자 스레드 :

커널은 스레드의 존재를 모르며, 스레드 라이브러리를 사용하여 관리함.

스케줄링은 응용 프로그램마다 다르게 할 수 있다.

 

커널 스레드 : 

모든 스레드는 커널이 관리하며, 스레드 간 전환은 스케줄링 정책을 따른다

 

반응형