본문 바로가기
기술면접

프로세스와 쓰레드

by 해룸 2024. 3. 27.

프로세스와 쓰레드에 대해서 설명하고 그 차이에 대해서 설명해주세요.

프로그램: 어떤 작업을 위해 실행할 수 있는 파일

 

프로세스

- 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램

- 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립개체)

- 동적인 개념으로는 실행된 프로그램을 의미한다.

- 각각의 독립된 메모리영역을 할당받음(code, data, stack, heap)

- 기본적으로 프로세스당 최소 1개의 스레드를 가지고 있다.

- 한 프로세스가 다른 프로세스의 자원에 접근하려면 프로세스간의 통신(IPC)을 사용해야한다.

  ex) 파이프, 파일, 소켓등을 이용

 

스레드

- 프로세스내에서 실행되는 여러 흐름의 단위

- 프로세스의 특정한 수행 경로

- 프로세스가 할당받은 자원을 이용하는 실행의 단위

- 스레드는 프로세서 내에서 각각 stack만 할당받고 code, data, heap영역은 공유한다.

 

차이점

프로세스는 하나의 프로그램이 os에게 메모리를 할당받아 실행되고 있는것이며, 스레드는 그 프로세스 내에서 실행되는 작업의 흐름 단위이다.

 

노드가 싱글스레드이기때문에 이런 면접 많이 받을것. 어케 멀티스레드처럼 학습을 시키는지?

노드엔진이 어떻게 구성되어있는지 잘 아는게 좋다.

멀티프로세스와 멀티쓰레드의 특징에 대해 설명해주세요.

 

https://inpa.tistory.com/entry/%F0%9F%91%A9%E2%80%8D%F0%9F%92%BB-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%E2%9A%94%EF%B8%8F-%EC%93%B0%EB%A0%88%EB%93%9C-%EC%B0%A8%EC%9D%B4

'기술면접' 카테고리의 다른 글

http, https / OSI 7계층  (0) 2024.04.04
JWT, 토큰인증, OAuth  (0) 2024.04.02
대용량 트래픽 발생시 대응, ORM 사용시 쿼리가 복잡해진다면?  (0) 2024.04.01
RDBMS 정규화, PK & FK  (0) 2024.03.29
HTTP 메서드  (0) 2024.03.28