본문 바로가기
TIL(Today I Learned)

TLI 85일 (23. 9. 8. 금) 최종프, 프로세스와 쓰레드, aws

by seed0335 2023. 9. 8.
  • 프로세스와 쓰레드 비교
    • 운영체제는 프로세스마다 독립된 메모리 영역을 Code/Data/Stack/Heap의 형식으로 할당합니다.
      • 각각 독립된 메모리 영역을 할당해주기 때문에 프로세스는 다른 프로세스의 변수나 자료에 접근할 수 없습니다.
    • 이와 다르게, 스레드는 메모리를 서로 공유할 수 있습니다.
      • 프로세스가 할당받은 메모리 영역 내에서 Stack 형식으로 할당된 메모리 영역은 다로 할당받고, 나머지 Code/Data/Heap 형식으로 할당된 메모리 영역을 공유합니다.
      • 따라서, 각각의 스레드는 별도의 스택을 가지고 있지만 힙 메모리는 서로 읽고 쓸 수 있게 됩니다.
      • 즉, 치킨집에서 각자 일하는 공간이 있지만, 같이 보는 업무 가이드(Code)가 있고, 주문도 같이 받고(Data), 손님이 오고가는 홀 공간도 같이 쓴다(Heap)는 점과 비슷합니다.

 

쓰레드는 운영체제의 스케줄러에 의해 독립적으로 관리될 수 있는 프로그래밍된 명령어의 가장 작은 흐름 입니다. 하나의 프로세스는 하나 이상의 쓰레드를 갖고 있습니다.

  • 멀티 프로세스 : 하나의 운영체제 안에서 여러 프로세스가 실행되는 것
  • 멀티 쓰레드 : 하나의 프로세스가 여러 작업을 여러 쓰레드를 사용해 동시에 처리하는 것

댓글