현재 스터디를 진행하시는 분들이 몇가지 주의해야 될 점에 대해서 알려드립니다.
여기저기서 어떻게 진행하고 있다더라 라는 이야기를 많이 듣습니다.
그런데 몇몇 잘못된 방향으로 스터디를 진행하고 있는 그룹이 있어 스터디 진행시 주의할점에 대해서 알려드립니다.
1. qemu나 실제 board의 값에 너무 의존 하지 마시기 바랍니다.
qemu 또는 실제 board를 사용하여 디버깅 값을 확인하는 그룹이 있다고 들었습니다.
개인적인 바램은 아예 qemu나 보드를 사용하지 않고 소스로써만 분석하셨으면하고 바랍니다.그 이유는 qemu 또는 보드의 실제값을 확인함으로 인해 원인보다 현상에 집중하는 경향이 있기 때문입니다.
어떤 레지스터 혹은 어떤 변수가 어떤 값이 존재하게 된것은 해당 레지스터 또는 변수의 초기 값이 있었고,
어떠한 과정들을 통해 그 값을 가지게 된것입니다.
현재 그 값이 무엇인지 아는것도 중요하지만, 어떻게 그 값을 가지게 되었냐를 아는것은 더 중요한 일입니다.
그래야만 스터디가 끝난후에 응용하는 것이 가능해지기 때문입니다.
우리가 스터디 하는 이유는 물고기 잡는법을 익히기 위함이지 잡힌 물고기를 먹기 위함만은 아니지 않습니까?
qemu나 실제 보드 값을 확인하는 행위는 물고기 잡는 법을 익히는데 있어서 오히려 방해가 되고,
분석 속도를 떨어트리는 원인이 됩니다.
다음의 사항에 대해 한번 진지하게 생각해보셨으면 하고 바랍니다.
실제 소스 분석만으로 특정 레지스터 값과 특정 변수의 값이 무엇인지는 다 알수 있습니다.
하지만 굳이 디버깅 값을 확인하는 것은 자신이 분석한 결과에 대해 100% 확신하지 못하거나,
혹은 좀 편하게 가기 위한 편법은 아닌지 말입니다.
결론이 전자가 되었건 후자가 되었건 올바른 방향은 아닙니다.
리눅스 커널을 공부하는 방식에는 여러가지 방식이 있을 수 있는데,
여러분들은 직접 소스를 분석하는 돌직구를 선택했습니다.
여러분들이 돌직구를 선택한것은 그 누구도 토를 달수 없는...
내 몸과 마음으로 완전하게 확신을 가지고 커널을 받아들이기 위함이 아니였습니까?
그럼 자신을 믿으시고, 동료를 믿으시고 돌직구로써 승부하셨으면 하고 바랍니다.
디버깅 결과는 아예 보지 않거나 그냥 참고하는 정도로만 사용하셨으면 하고 바랍니다.
2. 항상 앞으로 나아가시기 바랍니다.
소스 분석하다가 책으로 다시 돌아가는 그룹이 있다고 들었습니다.
책으로 돌아갈수도 있고, 이전 소스 분석으로 돌아갈수도 있습니다.
그것이 문제가 되는것은 아닙니다.
하지만 뒤로 돌아간 이유가
앞으로 나아가기 위해서 뒤로 돌아간 것이 아닌
정말 뒤로 돌아가기 위해 뒤로 돌아간 것이라면 문제가 큽니다.
뒤에 한것들에 대해서 연연하지 마시기 바랍니다.
앞으로 나아가기만 해도 한도 끝도 없습니다.
그러니 뒤에 몇가지 부족하다고 연연해 하지 마시고 앞으로 계속 전진하시기 바랍니다.3. 이전 기수가 분석한 내용이나 6기 분들이 저술한 책에 의존하지 마시기 바랍니다.
본 스터디를 통해 배워야 될것은 물고기 잡는 법입니다.
물고기 잡는 법은 직접 잡아보아야만 익힐 수 있습니다.
남이 잡아놓은 물고기 100번 보아봤자 여러분이 한번 직접 잡아보는것보다 못합니다.
그러니 당장 이해하는것에 눈이 멀어 정작 중요한 것들을 놓치지는 마셨으면 하고 바랍니다.
4. 좀 물어보십시요.
스터디를 진행하는데 있어 여러 방향과 여러 고비들이 있습니다.
자칫 잘못된 방향으로 들면 아무리 열정이 있어도 해당 스터디는 반드시 망합니다.
성공하는 길은 몇가지 없는데 망하는 길은 너무도 많습니다.
그렇게 중요한 결정을 하는데 있어 모든 정보를 다 확인하고 결정해도 모자란 판에
나름대로 최선의 선택을 하지는 마시기 바랍니다.
산을 오르고 있는 사람은 자신의 앞 길에 무슨 장애물이 있는지 잘 모릅니다.
하지만 산 꼭대기에 이미 올라선 사람은 밑에 사람이 어떠한 방향으로 가고 있고,
앞으로 어떠한 장애물을 만날지 너무도 잘 알 수 있습니다.
그러니 매우 좋은 조언자들이 있는 마당에
"나름대로" 최선의 선택을 해서 잘못된 길로 들지는 마셨으면 하고 바랍니다.
댓글 2
.
like 버튼이 없군요 :-)