프로그램
- 컴퓨터에 어떤 일을 수행하는 순서와 방법을 지시하는 명령어의 집합체
프로세스
- 하나의 프로그램이 CPU에 적재되어 실행되는 것
- CPU를 차지하면서 수행하는 주체 - 프로그램 한개의 인스턴스 (실행되고 있는 프로그램)
- 프로그램은 하나이며 프로세스는 여러개 일 수 있음
스레드 (Thread)
- 프로세스 내에서 실행되는 흐름의 단위
- 프로세스의 특정한 수행 경로
- 프로세스가 할당 받은 자원을 실행하는 단위
- 스택만 따로 할당 받고 코드 / 데이터 / 힙은 영역을 공유
- 스택과 레지스터는 별도 / 힙, 메모리는 공유 가능
- 한 스레드가 프로세스 자원을 변경하면 다른 스레드들도 변경된 자원을 인지 가능
소프트웨어
- 하드웨어의 동작을 지시 / 제어하는 역할
- 프로그램 및 프로그램과 관련된 문서들 (프로그램 + 문서)
참고
https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html
'이론' 카테고리의 다른 글
프로그래밍 기본 요소 (0) | 2023.05.09 |
---|---|
멀티 스레딩와 비동기 차이 (0) | 2023.01.03 |
.a .so / .dll .lib 확장자 (0) | 2022.12.05 |
시스템 콜 (0) | 2022.12.05 |
사용자 패스워드를 전송 / 보관하는 방법 (0) | 2022.12.05 |