어제 마무리하면서 적었던 내용이 remove와 close를 어떻게 다르게 구현해야 하는가? 였다.
다른 정글러분께 질문했고 답을 들을 수 있었다!
remove를 내가 기존에 구현했던 close처럼 동작하게 하고, close는 파일에 대한 메모리 할당을 해제해주어야 한다.
그리고 filesys_remove는 실제 하드웨어의 파일을 삭제하는 것이라고 한다. 그냥 썼으면 큰일날뻔~

퀴즈 준비하면서 돌려놓은 make check
36개 남았다 ㅎㅎ...
fork 가보자고~
못 갔 다!
thread.h에 선언했던 자식 리스트를 활용해봤다. init_thread()에서 부모와 자식 스레드 모두 만날 수 있기 때문에 여기에서 자식 리스트에 추가, 자식의 부모 설정을 동시에 해주었다.
이것저것 추가하고
wait()에서 process_wait()을 호출하게 설정해줌! 또, exit()에서 출력하던 이 메시지를
printf ("%s: exit(%d)\n", ...);
process_exit()에서 출력할 수 있도록 thread 구조체에 exit_status를 추가해주었다.
이것저것 해보았으나 지금 가장 큰 문제!
process_wait()이 호출되지 않는다 ㅠㅠ
프로세스 fork와 exec, exit 모두 호출되는데 wait이 호출이 안 된다...why...테스트케이스에서 wait을 호출함에도 불구하고 why...
선배님의 구현 구조?를 살펴봐도...진전이 없다리
일단 내일 다시 해보겠다...와중에 sema 추가하니 write도 안 됨 ㅜㅜ
내일은 제발 되기를...다른 사람 코드 참고하고 싶지 않아...
'TIL (Today I Learned)' 카테고리의 다른 글
10주차 키워드 정리 (1) | 2024.03.26 |
---|---|
3/20 (수) TIL - 오늘은 반드시 (2) | 2024.03.21 |
3/18 (월) TIL - 여전히 시스템 콜 하는중 (3) | 2024.03.18 |
3/16 (토) TIL - [PintOs] Week08 - System Call (0) | 2024.03.16 |
3/15 (금) TIL - 간단하게 주저리 (0) | 2024.03.15 |