[브라우저] 2. Process, Thread

Heeseung Ha·2022년 7월 21일
0

브라우저

목록 보기
2/4

Process

  • 운영체제 위에서 연속적으로 실행되고 있는 프로그램
  • 각각의 프로세스는 메모리 위에서 실행된다.
  • 모든 프로세스는 서로 독립적으로 실행되기 때문에 한 프로세스에 문제가 생기면 해당 프로세스만 죽어버림
  • 저마다 자원(resource)이 정해져 있다.
    code - 프로그램 실행을 위한 코드
    stack - 함수의 실행 순서나 함수 종료 후 어디로 돌아가야 하는지 등에 대한 정보를 담고 있음
    heap - 오브젝트나 데이터 생성 시 저장되는 공간. 동적으로 할당된 변수를 저장함
    data - 전역변수나 정적변수가 할당됨

Thread

  • 스레드는 한 프로세스 안에서 여러 개가 동작할 수 있다.
  • 프로세스 안에서 동작하는 일꾼 같은 개념
  • 저마다 해야하는 업무를 배정받아서 동작한다.
  • 수행해야 하는 함수의 호출을 기억해야 하기 때문에 모든 스레드는 stack이 할당되어 있다.
  • 결국 한 프로그램을 위해 일해야 하기 때문에 코드, 힙, 데이터에 공통으로 접근하여 공통으로 업데이트된다.
  • 스레드는 동시다발적으로 발생할 수 있기 때문에 프로세스의 효율을 높여준다.

스레드의 포인트?

일을 수행할 때 일의 흐름을 기억하는 고유 스택이 지정되어 있지만 공통 데이터 리소스(code, heap, data)는 프로세스에 있기 때문에 이러한 리소스에 동시다발적 접근과 업데이트를 해야하므로 서로 공유하며 사용한다.

profile
FE 개발 공부중...💫

0개의 댓글