A

11 - 13 주차 에세이 운영체제 (Pintos)

Campkim 2021. 10. 28. 02:01

정글의 마지막 커리큘럼이 이제 마무리되어간다.

오늘부로 Pintos의 Thread / Userprogram / Virtual Memory 까지 마무리되었다. File system이 남았다.

핀토스는 CS에서 꽤 악명높은 수업이라고 들었는데, 어려운 만큼 배운 부분이 많았다.

 

핀토스를 하면서 들었던 생각인데, 컴퓨터 전공자도 OS를 책으로만 공부한 사람과 핀토스 프로젝트를 병행하여 학습한 학생의 운영체제에 대한 이해도 차이가 꽤 많이 나겠다는 생각이 들었다. OS를 책으로 읽어서 아는 것과 눈으로 보고 각종 테스트 케이스에 영혼까지 탈탈 털리면서 구현하고 이해해보는 것은 다르기 때문이다. 

이러한 이점 때문에 많은 학교들에서 교육자료로 핀토스를 채택하는 것 같다. 

 

짧은 후기를 남기자면, CS를 입문 단계에서 핀토스를 경험한건 행운이라고 생각한다. 프로젝트 과정에서 책을 많이 읽고 OS코드를 많이 보기 때문에, 단 기간에 운영체제에 대한 양질의 지식과 이해를 얻게 해준다. 

 

솔직히 객관적으로 핀토스는 CS 입문자에게 버겁고 비현실적인 프로젝트는 맞는 것 같다. 특히 평범한 환경에서 공부하는 보통의 열정을 가진 사람에게 말이다.

하지만 많은 열정을 가지고 있는 사람들이 정글이라는 특수한 환경에서 한달이라는 기간동안 일상을 핀토스에 몰빵한다면 지금보다 어려운 것도 이해할 수 있다고 생각한다. (물론 참고자료를 충분히 잘 찾아낸다는 전제하에.. )   

 

많이 배웠고, 재밌었다. 인내심도 많이 길렀다. 

지금 생각하면 우습긴한데, 핀토스하면서 많은 사람들의 코드를 참고하면서 만난적도 없고 얼굴도 모르는 사람들에 대한 열등감 비슷한 감정도 많이 느꼈던 것 같다. 정글이 아닌 곳에서 이걸 했으면 못하는게 당연하지라는 생각으로 합리화했을 것 같은데, 

정글에서 하다보니 아무리 핀토스가 어렵더라도 내가 이렇게나 시간을 쓰는데도 잘 못한다는 사실을 받아드리기 어려웠던 것 같다.  

 

이 과정에서 포기하지 않고 열심히 노력한 경험을 한 가지 더 만든 것 같다. 

 

핀토스를 하면서 내가 대학생이던 시절 들었던 어떤 전공 과목이 생각났다.

내가 다니던 학교의 화학공학 전공 수업에서는 '열역학2'라는 과목이 악명이 높았다. 그 수업에서는 정유, 석유화학에서 사용되는 핵심 이론들을 가르치고 학기중에는 matlab을 이용한 프로젝트가 있었다. 그 과목도 핀토스처럼 많은 학생을 괴롭게하고 학기중 정말 많은 시간을 요구했다. 시험, 과제, 프로젝트의 난이도가 정말 높아서 수업을 drop하는 학생들도 있었다.

열역학2는 이론자체를 제대로 이해하는게 정말 어려웠고.. 핀토스는 이론 이해는 할만하지만 텍스트로 읽은 지식을 실제로 구현하는건 전혀 다른 영역이라는 점에서 어렵다..

 

그 수업을 들을 때도 같이 공부하던 학우들이 어느 순간에 조금씩 포기를 하곤 했었다. 그런데 신기하게 나도 그냥 던질까 싶다가도 포기하지 않고 계속 하다보면 전날 안되던게 다음날 되기도하고... 지난주에 이해안되던게 갑자기 이해되기도하고.... 뭐 그랬던 것 같다.

혹시 두뇌도 background에서 풀지 못한 문제를 풀고 이해하지 못한 것을 이해하기 위한 processing을 해서 그런걸까 ..? 아무튼 물론 그 수업에서 자괴감과 스트레스도 있었고.. 이해하고 난 후의 성취감도 있었다. 

 

나를 포함해서 대부분 사람들은 천재가 아니기 때문에 어려운 걸 학습하면서 이러한 과정은 계속해서 겪어야 하는 것 같다. 그리고 마주하는 어려움에도 포기 하지 않고 계속 하다보면 신기하게 잘 학습하게되는 이상한(?) 경험들을 쌓고 기억해 놓는게 중요한 것 같다.

 

앞으로도 개발자로서 일하고 공부하면서도 분명히 비슷한 어려움을 계속해서 만나게 될 텐데, 이렇게 쌓은 경험들에 기대어 늘 그래왔듯이 결국엔 대부분 이해할 수 있다고 믿고 끝까지 포기하지 않아야 한다.

 

 

 

// 어떤 사람이 쓴 글인데 웃겨서 저장했다. //

킬링포인트는 글의 마지막에 쓰여져 있는 문구다 .. 

* (이 글은 2017년 봄에 쓰여졌다. 난 아직도 프로젝트가 힘들 때마다 이 글을 본다..ㅜㅜ)

https://darkhamtory.tistory.com/3

 

핀토스는 사람을 무기력하게 만든다.

요즘 운영체제라는 과목을 들으면서 핀토스 프로젝트를 하고 있다. PINTOS 작은 OS라는 뜻이다. Pintos는 운영체제의 기본이 되는 scheduling, user program 다루기, virtual memory management, file system을 코..

darkhamtory.tistory.com

 

'A' 카테고리의 다른 글

SW 사관학교 정글 후기  (3) 2022.01.12
7주차 종료 8주차 시작  (0) 2021.09.28
Jungle 6주차 종료 회고 7주차 시작 (추석 명절)  (0) 2021.09.20
JUNGLE 5주차를 마치고 (C, RB TREE)  (0) 2021.09.10
JUNGLE 4주차를 마치고.  (0) 2021.09.03