WEEK 11 PintOS TIL(5월26일 월요일)

Devkty·2025년 5월 27일

[목표]
fork 시스템콜 관련 공부를 하고 구현하기(진행중)

09:55 ~ 12:00

어제 오류난 __do_fork를 해결해보고 있습니다. wait전까지는 빨리 해봐야겠습니다.

이게 좀 더 확인을 해봤는데, 페이지 폴트만 나고 child status만 나오는 이유가 wait을 구현하지 않아서 그런 것이었다. 그러므로 wait을 구현해보겠다.

12:00 ~ 13:30

식사를 하고 잠을 자다 왔다.

13:30 ~ 14:00

전에 하던거에 이어서 wait을 구현하고 있다.

14:00 ~ 16:16

운동(하체)를 하고 씻고 왔다.

16:16 ~ 18:00

wait까지 값이 넘어 오지 않는 것 같아서 디버깅을 하고 있다….

18:00 ~ 19:00

식사 후 휴식을 했다.

19:00 ~ 05:00

아주 큰 문제가 생긴것 같다. process.c와 syscall.c를 명석이 형껄로 바꾸니 정상적으로 wait까지는 간다… 뭐가 잘못된건지 모르겠다….

이걸 성광이형이랑 디버깅하며 printf 찍어보며 확인을 해봤는데, 결론적으로는 부모의 스레드가 미리 죽어서 와서 process_fork에서 인자가 없이 넘겨진다. 그러므로 wait을 구현을 해보고 다시 살펴보는 것으로 하겠다.

계속해서 wait, exit, fork를 복합적으로 구현하고 있다. 근데, 너무 어려운 것 같다. 디버깅도 잘안된다…

별의 별 방법을 다써보고 GPT를 적극 사용해도 Fork가 되지 않는다…

wait이 문제 인것 같긴한데… 잘 모르겠다.

profile
모든걸 기록하며 성장하고 싶은 개발자입니다. 현재 크래프톤 정글 8기를 수료하고 구직활동 중입니다.

0개의 댓글