Master Piece of jun/컴퓨터개론

Process와 thread

JUNFUTURE 2021. 11. 8. 14:58

Process란

  • 실행중인 프로그램
  • 프로그램 실행을 위해선 반드시 메인메모리에 적재되어야한다.
  • 하나의 프로세스내에 여러일이 동시에 일어난다 ⇒ 멀티 쓰레드
  • is a unit of work

Process Concept

  • process의 4요소 ~ 메모리에 로드된 프로그램
  1. text section (program code)
  2. stack : current activity (return 주소, 지역변수)
  3. data section (전역변수)
  4. heap : for dynamic 할당 of memory during 프로세스 실행중
  • stack & heap ⇒ 프로그램의 현재상태 저장
  • process가 active하다 ⇒ 하나의 프로그램에서 생긴 프로세스라도 heap, stack의 모습이 다르다 ⇒ 현재 상태가 다르다. 레지스터, PC등을 사용하는 모습

PCB (Process Control Block)

  • OS에서 Process를 관리하기 위한 정보들을 담아둔 것 (현 상태, PC..)

 

Thread란

  • an independent stream of instructions
  • 독립적으로 실행되는 명령어들의 흐름(묶음)
  • 동일한 프로그램 안에서 일어나는 다양한 일들
  • multi thread : 하나의 프로세스(process)를 여러 thread로 분할하여 처리

multithread process

  • thread ID, PC가 있고
  • data & context를 share한다
  • 현재 상태 (stack & heap)은 다르다