프로세스에 대해
<aside> 💡 프로세스란? 프로그램을 실행할때, 자원을 할당받아서 실행되는 과정
</aside>
실행코드(고정)
전역변수(고정)
프로그램 실행 중 동적으로 할당되는 메모리(가변)
함수 호출시, 임시 데이터 저장장소 (함수 매개변수, 복귀주소, 지역변수 등)
(가변)
<aside> 🥕 함수 호출때마다 함수의 매개변수, 지역변수, 복귀주소 등이 스택에 Push됨 함수 종료 후 복귀하면 Pop
</aside>
프로그램이 프로세스 된다 → 자원 할당 → 프로그램 실행 → 사용 후 종료
하지만, 중간중간 인터럽트(interrupt)가 계속 발생한다
인터럽트로부터 또 다른 프로세스들이 게속 들어옴
인터럽트로 인해 다른 프로세스들이 실행됨으로써, 중단되기도 함으로써, 프로세스의 상태를 알고 있어야 다시 실행을 하든, 종료를 하든 할 수 있다
New
Ready
프로세스를 CPU(프로세서)를 할당받을때까지 기다림