프로세스와 스레드

프로세스 : 운영체제로부터 자원을 할당받은 작업의 단위.

스레드 : 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위.

 

프로그램 → 프로세스 → 스레드

프로그램 -> 프로세스

프로그램 : 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태. 즉 실행하지 전의 상태이다.

프로세스 : 프로그램을 실행하여 컴퓨터 메모리가 올라가있는 프로그램.

프로그램은 코드 덩어리 파일, 프로그램을 실행하면 프로세스가 된다.

프로세스 간에는 각 프로세스의 데이터 접근이 불가

 

 

프로세스 -> 스레드

스레드 : 프로세스의 실행 단위이다. 한 프로세스 내에서 동작되는 여러 실행 프로그램으로 프로세스 내의 주소 공간이나 자원을 공유 할 수 있다. 프로세스 내의 다수의 스레드가 존재할 수 있다.

프로세스 내의 스레드가 하나라도 오류가 생겨 종료될경우 프로세스가 종료된다.

프로세스 안에 있으므로, 프로세스의 데이터를 모두 접근 가능하며 스레드들 끼리는 Heap, Data, Code 영역을 모두 공유한다.

'운영체제' 카테고리의 다른 글

가상 메모리와 페이징  (0) 2021.05.12

+ Recent posts