본문 바로가기

이론

프로그램 / 프로세스 / 스레드 / 소프트웨어

프로그램

  • 컴퓨터에 어떤 일을 수행하는 순서와 방법을 지시하는 명령어의 집합체

 

프로세스

  • 하나의 프로그램이 CPU에 적재되어 실행되는 것
  • CPU를 차지하면서 수행하는 주체 - 프로그램 한개의 인스턴스 (실행되고 있는 프로그램)
  • 프로그램은 하나이며 프로세스는 여러개 일 수 있음

 

스레드 (Thread)

  • 프로세스 내에서 실행되는 흐름의 단위
  • 프로세스의 특정한 수행 경로
  • 프로세스가 할당 받은 자원을 실행하는 단위
  • 스택만 따로 할당 받고 코드 / 데이터 / 힙은 영역을 공유
  • 스택과 레지스터는 별도 / 힙, 메모리는 공유 가능
  • 한 스레드가 프로세스 자원을 변경하면 다른 스레드들도 변경된 자원을 인지 가능

 

소프트웨어

  • 하드웨어의 동작을 지시 / 제어하는 역할
  • 프로그램 및 프로그램과 관련된 문서들 (프로그램 + 문서)

 

 

 

참고

https://velog.io/@noooooh_042/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%99%80-%EC%93%B0%EB%A0%88%EB%93%9C

https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html

https://better-together.tistory.com/152

https://wookkingkim.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EA%B3%BC-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

'이론' 카테고리의 다른 글

프로그래밍 기본 요소  (0) 2023.05.09
멀티 스레딩와 비동기 차이  (0) 2023.01.03
.a .so / .dll .lib 확장자  (0) 2022.12.05
시스템 콜  (0) 2022.12.05
사용자 패스워드를 전송 / 보관하는 방법  (0) 2022.12.05