Skip to content
Snippets Groups Projects
김 민균's avatar
김 민균 authored
f328d5ab
History
Name Last commit Last update
LICENSE
README.md
translation.md

foss-2024-2-final

SW Major

202128675

Mingyun Kim (김민균)

[ PintOS Project Manual Translation (ENG -> KOR) ]

핀토스 프로젝트 설명서 번역

<202021953 홍유빈> 학생이랑 같이 진행함

기존 번역서는 아래 링크에 있습니다

Original PintOS Manual: https://casys-kaist.github.io/pintos-kaist/ => 기존 번역
Original PintOS Project: https://github.com/casys-kaist/pintos-kaist

12.23에 군입대라 과제에 문제가 있으면 <202021953 홍유빈> 학생에게 메일 주시면 됩니다. 같이 진행했습니다. ========================================================================================================

아이템 선정 동기 및 프로젝트 설명

PintOS는 스탠퍼드에서 만든 교육용 운영체제입니다. 기본적으로 스레드 관리, 프로세스 제어, 가상 메모리, 파일 시스템을 구현해야하는 프로젝트입니다. 한국에서는 카이스트를 비롯한 많은 학교에서 학생들끼리 조를 짜서 코드를 구현하고, 부트캠프에서 운영체제를 공부할때 그룹을 짜서 PintOS 프로젝트를 진행합니다. 당연하지만, 이 프로젝트는 난이도가 꽤 있는 편입니다. 물론 코드 구현 파트도 굉장히 어렵지만, 특히 설명서가 전부 영어로 되어있으면서도 분량이 굉장히 길기 때문에 이 프로젝트에 대해 깊이있게 이해하기가 어렵습니다. 나중에 다른 학생들이 PintOS 프로젝트를 진행할때 한국어로 된 설명서가 있으면 훨씬 더 편하게 진행할 수 있을것 같다고 생각해서 이 설명서를 번역하는것으로 오픈소스 과제를 진행하였습니다.

저는 김상훈 교수님 연구실에서 인턴으로 활동하며 PintOS 프로젝트의 코드를 모두 구현하였습니다. 따라서 이 프로젝트에 대해 깊이 이해하고 있습니다. PintOS 프로젝트를 마무리 한 시점에서 이 설명서를 번역하는 것이기 때문에 단순히 영어를 한국어로 번역하는 것이 아니라, 이 프로젝트를 처음 시작하는 학생들이 더 쉽게 이해할 수 있도록 번역하였습니다. 또한, 제가 더 부연 설명을 추가하고 싶은 부분은 별도로 처리하여 설명을 덧붙였습니다. (% ........ ) 이런식으로 부연 설명을 추가하였습니다(혹시라도 나중에 누가 이 번역서를 보면서 프로젝트를 진행할때 더 도움이 되면 좋겠습니다). 양적으로 보면, 굉장히 많은 분량이라고 생각합니다. 단순히 분량도 많지만, 운영체제의 개념을 설명하기 때문에 단순 번역을 넘어서 한국어로도 설명하기 어려운 부분이 많습니다. 번역기도 어쩔수없이 조금 사용하였지만, 그래도 최대한 모두가 이해하기 쉽게 번역해보려고 노력했습니다.

기존 번역은 다운로드가 불가하지만, 저 위 링크에 가면 원본이 있습니다. 저는 PintOS 설명서의 Part 2, 4 를 담당해서 번역했습니다. Part 2, 4에서 Extra 부분은 구현하지 않았기 때문에, 해당 부분을 제외하고 번역했습니다. Part 3 부분은 가상 메모리 매니지 관련 파트인데, 한국어로도 설명하기가 어려워서 이 부분은 생략했습니다.

개발하면서 발생했던 문제점

우선 PintOS는 스탠퍼드에서 만든 작은 운영체제입니다. 기본적으로 학생들이 조를 짜서 진행하는 프로젝트이기에, 기본 개념 자체가 굉장히 어렵습니다. 그렇기 때문에 설명서 자체도 이해하기 어려운 부분이 많습니다. 특히 파트3 가상 메모리 부분은 PintOS의 거의 모든 파트와 연결되어있어서, 이를 제대로 번역하고 설명하기에는 어렵다고 판단했습니다. 그렇기 때문에, 이 부분은 넘겼습니다.
또한 과제 설명서 특성 상 문장이 약간 이해하기 어려운 부분이 많았습니다. 번역기를 최대한 적게 사용하려고 노력했는데, 생각보다 좀 많이 사용한 것 같습니다.

감상

PintOS 구현을 마무리 한 상황에서 설명서를 번역하니까, 뭔가 다시 복습이 되는 기분을 받았습니다. 또한 구현을 하려고 했을 떄는 설명서를 대충 보고 구현해야할 파트만 보고 넘겼었는데, 설명서를 번역하면서 보니까 미리 알았더라면 좀 더 쉽게 구현을 했을 것 같다는 느낌을 받았습니다. PintOS를 오픈소스라고 정의하기 어려울 수는 있다고 생각합니다. 하지만, 제기 번역한 설명서가 다른 사람에게 도움이 된다면 그게 오픈소스가 추구하는 공유와 협력의 가치를 실현하는 것이라고 생각합니다.