핀토스 2주차 과제를 끝마치며 '유저 프로세스 관리' 해주는 운영체제까지 구현할 수 있었다. 유저 프로세스는 디스크에 있는 프로그램을 읽어 가상 메모리를 만들어야 하고, 권한이 없는 자원에 대한 요청(시스템콜)을 받아내어 요청을 처리해주는 작업(시스템 콜 핸들러)을 수행하도록 코드를 구현했다. 오늘은 유저 프로그램 관리 코드를 작성하면서 알 수 없었던 의문의 오류들이 발생시키는 이유에 대해 고민해보고 이를 해결했던 트러블 슈팅 사례들에 대해 다뤄보겠다. 문제 1 : 'process_exec' 함수 -> 'parsing' 중에 timer_interrupt가 터지면 발생하는 ERROR 문제 상황은 다음과 같았다. test 중 'multi-recurse'를 테스트하는 중에 간헐적으로 timer_interrup..