본문 바로가기
개발자 도전기/[OS] pintOS

pintOS | Project 4 회고

by 답수 2021. 11. 2.
728x90
반응형

 

 

1. Project4 목표

pintos-project4 git book

 

Introduction · GitBook

Project 4: File Systems In the previous two assignments, you made extensive use of a file system without actually worrying about how it was implemented underneath. For this last assignment, you will improve the implementation of the file system. You will b

casys-kaist.github.io

 

핀토스 프로젝트4의 주제는 File System이다. 이전까지 핀토스는 단일 디렉터리만 존재하는 단일 계층으로 root 디렉터리에만 파일이 생성됐다. 프로젝트4를 통해 루트 디렉터리 내 파일과 디렉터리를 생성하여 계층구조를 구현해야 한다. 또한 기존에는 파일 생성 시 파일의 크기가 결정되었지만 이번 과제를 통해 파일에 쓰기 동작이 수행될 때 디스크 블록을 할당받아 사용하도록 구현해야 한다.

 

 

2. 공부 내용 정리

pintOS | Project 4 | Indexed and Extensible Files

pintOS | Project 4 | Subdirectories and Soft Links

 

 

3. 구현 및 결과

extra 파트를 포함해서 6개의 파트 중 'Indexed and Extensible Files', 'Subdirectories and Soft Links' 이 부분 구현. 나머지는 시간 없음...

 

 

4. Project4 Rewind

프로젝트3 때와 마찬가지로 깃북과 강의안 자료를 바탕으로 구현을 시작했고, 구현 이전에 파일시스템과 관련된 강의들을 보면서 개념을 익혔다.

 

하지만 이전 과제들에 비해 이번 주차는 정글 프로그램 커리큘럼 상 물리적인 시간이 6일도 되지 않았다. 핑계일수도 있지만 시간도 부족했고, 익숙하지 않은 개념들 때문에 프로젝트를 완성시키지 못했다. 또한 기존까지 단일 디렉터리를 이용하다가 서브 디렉터리를 구현해야 하기 때문에 시스템콜 함수나 프로세스 종료 등 많은 부분을 수정해야 했고, 그 과정에서 많은 에러를 마주쳤다. 그 에러들을 잡는데만 해도 많은 시간 소모 ㅠㅠ

 

무엇보다 가장 아쉬운 점은 아직도 파일 시스템에 대한 개념 이해가 부족하다는 것이다. 이전 과제를 할 때는 한 과제당 일주일 이상의 시간이 있었기 때문에 동영상 강의와 교재를 통해 이론 공부에 많은 시간을 할애할 수 있었지만 이번 주에는 전보다는 깊게 공부하지 못 하고 큰 흐름만 이해하려 했었다. 

 

참.. 아쉬움이 많이 남는 주차다. 그래도 열심히 했다. pintos 주차 동안 극악의 난이도 때문에 바이오리듬도 깨지고 생활패턴도 엉망이 되었지만, 그만큼 프로젝트에 열중했다. 하루에 4시간 정도 자면서도 졸지 않고 각성 상태로 문제를 해결하려고 했던 것이 지금 생각하면 신기할 뿐이다. 잠은 더 줄었는데 집중력이 높아진다니..! (물론 지금은 버닝이 끝나서 피로가 밀려든다...)

 

내일부터 대망의 나만의 무기 만들기가 시작된다. 다시 한 번 다 쏟아부어서 각성해야지.

728x90
반응형

댓글