멀티 스레드 환경에서의 스케쥴링을 주로 다뤘던 프로젝트1을 끝내고 곧장 프로젝트2를 시작하였다. <프로젝트 1 구현후기 >프로젝트 2는 유저프로그램에서 접근하면 안되는 부분을 커널영역이 해주도록 신호를 주는 OS의 시스템콜을 구현하는 프로젝트였다. 일주일이 주어졌던 project 1과 달리 2주일이 주어진 것은 이유가 있었을까. 적어도 프로젝트 1에 비해 프로젝트 2가 두 배 이상은 힘들었다. 구현해야하는 개별 시스템콜의 난이도가 다 일정한 것은 아니었으나 그럼에도 그 개수가 무려 14개나 되었으니 처음 프로젝트를 시작하여 introduce를 읽을 때 그 개수를 보고 자연스럽게 나오던 한숨을 아직도 잊지 못한다.
프로젝트 중간에 설연휴가 끼어있어서 설 연휴 기간에는 쉬고 싶다는 생각이 있었다. 그래서인지 설 연휴가 오기 전까지 더 쉼없이 달렸던 것 같다. 평균적으로 잠에 드는 시간이 새벽 4시정도였던 것 같고 설연휴 하루 전에는 새벽 5시 30분까지 팀원들과 디버깅을 했다... 겨울과 봄 사이 언저리 쯤이라 그런지 해가 뜨는 것은 보지 못했다.☀️ 통과해야하는 테스트의 수도 프로젝트 1에서는 27개였던 것에 반해 프로젝트 2에서는 90개가 넘었다.
프로젝트 1을 끝내고 쓴 구현후기에 디버깅하는 방법을 모르겠다고 더 발전했으면 좋겠다고 썼던 것이 기억났다. 2주가 지난 현재, 난 디버깅을 그만하고 싶다. 그정도로 2주 내내 거의 디버깅만 했고 꿈에서도 디버깅을 하고 있는 나 자신을 보았다. 특히 테스트 통과의 막바지에 다다라서는 정말 어디가 문제인지, 무엇이 문제인지 아무것도 알 수가 없을 지경에 닿았다. 항상 문제를 해결하면 겨우 이거때문에 된다고? 혹은 이거 때문에 안 된다고? 했던 부분도 많았다. 그만큼 아직 전체를 정확히 이해를 하지 못하고 있다고 깨달았다. 아직도 멀고도 멀다...
정글에 들어와서 처음으로 1주일 넘게 팀을 유지해보았다. 다행히 착하고 능력있는 팀원들을 만나 만족스러웠지만 특히 2주가 끝날 무렵이 되자 무슨 말을 시작하자마자 어떤 말을 할지, 어떤 코딩을 작성해주면 될 지를 말을 끝까지 안해도 알았다. 디버깅화면을 보면서 어느 함수의 어떤 부분에서, 어떻게 하면 조금 더 문제해결에 다가갈 수 있겠다는 생각을 나도 하고 팀원들도 하고 있는 것을 보면서 두 가지를 느꼈는데 ① 첫번째로 팀원 모두가 진정성있게 프로젝트에 임하고 있구나 하는 것을 느꼈다. ② 두번째로 그런 진정성으로 오랜 기간 팀프로젝트를 하다보면 통하게 되는 구나 하는 것을 느꼈다. 꼭 사회에 진출해 장기적으로 팀프로젝트를 해보고 싶고 나아가 팀을 꾸려 리드하는 역할도 해보고 싶다는 생각도 들었다.
아직도 악명의(지금은 몸소 체험하고 있는) PINTOS 프로젝트가 3주나(긍정적으로 보면 3주밖에...) 남았다. 물론 블로그의 글이 몇개는 없지만 그래도 썼었던 기존의 글들과 비교하면 OS 프로젝트 시작 이후의 글들은 조금 정성이 부족하다. 그리고 그 개수도 적다. 사실 블로그를 잘, 열심히 쓰고 싶은 마음은 있는데 OS에 집중하다보니 그럴 여력이 잘 안 생긴다. 그런 여유가 없다고도 말할 수 있겠다. 변명일 수도 있지만. 하지만 개발자의 삶을 걷고 있는 도중에, 혹은 개발자가 아니더라도 블로그는 계속해서 쓸 수 있다고 생각하고 PINTOS는 그렇지 않다. 지금은 PINTOS에 더 집중해서 끝까지 노력해 아름다운 마무리를 해보겠다. 아마 PINTOS를 할 때의 경험과 지식은 남겠지만 또 PINTOS를 할 것이라는 생각은 들지 않으니😆
조금 정신적으로나 체력적으로 지치긴 했지만 다시 내일부터는 열심히 해보려고 한다. 좋은 마무리를 했으면 좋겠다.