
<aside> 🥕
pintos --fs-disk=10 -p tests/userprog/args-single:args-single -- -q -f run 'args-single onearg’ 명령어를 입력하는 상황이라 생각하겠습니다.
</aside>
명령어 실행
args-single 유저 프로그램 파일이 디스크에서 메모리로(ELF 로딩) 올라옵니다.프로그램 실행
args-single 프로그램이 main() 함수부터 실행을 시작합니다.시스템 콜 호출
write() 같은 시스템 콜 호출 함수를 만나면, 실제로는 lib/user/syscall.c에 있는 래퍼 함수(syscall3)가 호출됩니다.커널 진입 준비
syscall 어셈블리 명령어를 실행합니다.커널 모드 진입
syscall 명령어는 CPU의 특권 모드를 커널로 전환하고, syscall_handler로 제어를 넘깁니다.