[CSAPP] ShellLab trace(03)
Trace 번호 (03)Permalink
1. sdriver로 tsh실행Permalink
2. sdriver로 tshref실행Permalink
각 trace 별 플로우 차트Permalink
trace 해결 방법 설명Permalink
trace03은 foreground작업 형태로 매개변수가 없는 프로그램을 실행하는 것을 구현한다.
trace03.txt파일을 확인했을 때, myspin1 프로그램을 실행하는 것을 알 수 있다.
./myspin1은 인자가 없이 프로그램을 실행하도록 한다. 지난 trace까지 구현한 eval()함수를 보자.
이미 execve()함수를 구현할 때, 이 함수가 받을 인자의 수가 확실하지 않으므로 parseline에 리스트를 넘겨주고 명령어와 인자들을 분리한 바 있다(argv[0]에 내장 명령어나 실행할 프로그램 이름 저장).
parseline함수가 cmdline을 parsing하면 argv[0]에 “./myspin1”이 들어가고 argv[1]부터 NULL이 들어간다. 이를 execve함수로 넘겨 인자 없는 프로그램을 실행할 수 있다.
Leave a comment