챕터3

프로세스에 대해

<aside> 💡 프로세스란? 프로그램을 실행할때, 자원을 할당받아서 실행되는 과정

</aside>


Process Concept

Multiple parts


Process in Memory

Text

실행코드(고정)

Data

전역변수(고정)

Heap

프로그램 실행 중 동적으로 할당되는 메모리(가변)

Stack

함수 호출시, 임시 데이터 저장장소 (함수 매개변수, 복귀주소, 지역변수 등)

(가변)

<aside> 🥕 함수 호출때마다 함수의 매개변수, 지역변수, 복귀주소 등이 스택에 Push함수 종료 후 복귀하면 Pop

</aside>

Untitled


Process State

프로그램이 프로세스 된다자원 할당프로그램 실행 → 사용 후 종료

하지만, 중간중간 인터럽트(interrupt)가 계속 발생한다

인터럽트로부터 또 다른 프로세스들이 게속 들어옴

인터럽트로 인해 다른 프로세스들이 실행됨으로써, 중단되기도 함으로써, 프로세스의 상태를 알고 있어야 다시 실행을 하든, 종료를 하든 할 수 있다

  1. New

  2. Ready

  3. 프로세스를 CPU(프로세서)를 할당받을때까지 기다림