프로세스(Process) 개념

Icarus_w·2022년 12월 21일
0

CS공부

목록 보기
2/25

📌메모리와 CPU관점에서 설명

실행파일(program)이 memory(RAM)에 적재되어 CPU를 할당받아 실행되는 것을 process라고 한다.

-> 실행중인 프로그램을 뜻한다. 즉, 실행파일 형태로 존재하던 program이 memory에 적재되어 CPU에 의해 실행(연산)되는 것을 process 라고 한다. (program은 단순히 명령어 리스트를 포함하는 파일)

State

  • 실행 : process가 CPU를 점유하고 명령을 수행중인 상태
  • 준비 : CPU만 할당 받으면 즉시 명령을 수행할 수 있도록 준비된 상태
  • 봉쇄 : CPU를 할당 받아도 명령을 실행할 수 없는 상태 ex) I/O작업을 기다리는 경우

메모리

CPU가 직접 접근할 수 있는 컴퓨터 내부의 기억장치

🥇메모리 영역(독립적으로 할당)

  • stack : 함수에서 사용되는 지역변수, 매개변수 저장

    (compile time에 메모리 영역의 크기 결정)

  • heap : 런타임 중에 할당이 되는 동적 메모리 할당, 프로그래머가 직접 공간을 할당(malloc)/해제(free)하는 영역

    (runtime에 메모리 영역의 크기가 결정)

  • data : 전역변수, static 변수 저장

  • code : 실제 코드 저장 영역, 컴파일 후 기계어로 번역

image

CPU 연산

CPU 내부에 있는 PC Register에 다음 실행할 code의 주소(code 영역)가 저장되어 있음

profile
하루에 하나

0개의 댓글