1. 프로그램의 구조와 인터럽트 프로그램이 CPU에서 명령을 수행하려면 해당 명령을 담은 프로그램의 주소 영역이 메모리에 올라가 있어야 한다. 프로그램의 주소 영역은 크게 코드, 데이터, 스택 영역으로 구분된다. 코드(code) : 프로그램 함수들의 코드가 CPU에서 수행할 수 있는 기계어 명령어 형태로 변환되어 저장되는 부분 데이터(data) : 전역 변수 등 프로그램이 사용하는 데이터를 저장하는 부분 스택(stack) : 함수가 호출될 때 호출된 함수의 수행을 마치고 복귀할 주소와 데이터를 임시로 저장하는 데 사용되는 공간 프로그램은 제일 처음 메인함수에서 실행을 시작해 메인함수가 다른 함수를 호출하면 스택에 메인함수의 현재 실행 시점을 저장하고 다른 함수의 코드로 점프해 그 함수를 실행한다. 이후 ..