요리로 비유한다면 프로세스는 요리작업 전체와 같고

스레드는 요리를 수행하기 위한 각각의 조리에 해당한다

프로세스의 작업과정

운영체제는 코드와 데이터를 메모리에 가져오고 프로세스 제어 블록을 생성하고

작업에 필요한 메모리 영역을 확보한 후, 준비된 프로세스를 준비 큐에 삽입한다.

프로세스가 생성되면 CPU 스케줄러는 프로세스가 해야하는 일을 CPU에 전달하고

실제 작업은 CPU가 수행한다. 이때 CPU에 전달되는 일 하나가 바로 스레드 이다.

운영체제의 작업 단위가 프로세스이고 CPU의 작업 단위가 스레드이다.

스레드

프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위

프로세스와 스레드의 차이

프로세스는 서로 독립적이다

프로세스 내부의 스레드는 서로 강하게 연결되어 있다.

프로세스 끼리 통신은 IPC를 이용한다.

스레드 끼리는 힙, 데이터 영역을 공유한다

멀티 스레드

멀티스레드는 프로세스 내 작업을 여러개의 스레드로 나누어 분할함으로써 작업의 부담을 줄이는 프로세스 운영기법

멀티 태스킹

운영체제가 CPU에 작업을 줄 때 시간(퀀텀)을 잘게 나누어 배분하는 기법이다

시분할 시스템이다. 시분할 시스템에서 CPU에 전달되는 작업은 스레드이다.