(리눅스 커널의 구조와 원리)

진행은 더디겠지만 영원히 계속하고 싶은 개인 공부를 시작해보려고 합니다.

이 포스팅은 다소 ‘끝’인 것처럼 보일 수 있지만, 시작을 상기시키고 시작을 기억하기 위한 포스팅입니다.

당신이 임베디드 개발자라면 리눅스 커널을 정말 잘 이해하고 싶은 강한 욕구가 있을 것입니다.

그러나 그 길은 보통 험하고 험난하여 많은 사람들이 옳은 선에서 타협하고 중간에 공부를 그만두는 경우가 많습니다.

이것이 개인의 나약한 의지 때문이라고 할 수 없는 이유도 우리의 개발 산업 환경에 있습니다.

제품 통합과 양산에 온 힘을 쏟는 만큼 벤더 솔루션을 가져와 포팅하느라 바쁘거나, 문제가 발생했을 때 벤더에게 이슈 종결을 강요하는 것은 명예로운 배지로 여겨진다.

이러한 인식이 지배적인 상황에서 많은 고용주가 커널에 앉아 있는 개발자에게 급여를 지불하지 않을 것입니다.

이처럼 오랜 경력에도 불구하고 개발 역량의 한계는 여실히 드러난다.

이러한 개발 산업 환경에 노출되고 성장한 개발자는 문제 처리 또는 일정 지정에 더 능숙해질 수 있으므로 관리자이든 개발자이든 모호한 기술 트리를 타고 생계를 유지하는 데 문제가 없을 수 있습니다.

문제는 그들 안에는 여전히 무언가가 뜨겁게 타오르고 있음에도 불구하고 이 테크트리를 타고 있다면 그들이 느끼는 감정은 ‘현타’ 그 자체일 것이라는 점이다.

사실 리눅스 커널을 자유롭게 다 이해하고 다루는 것은 불가능하다.

수많은 소위 천재들의 공헌에 힘입어 여전히 다듬어지고 있는 진행 중인 작품이기 때문이다.

그럼에도 불구하고 내가 이것을 공부하기로 결정한 이유는 무엇입니까?

1. 개인적 호기심

Linux에 대한 호기심은 있었지만 제 업무 영역에서 실제 프로젝트를 수행할 기회가 주어지지 않았습니다.

(매우 아쉬운 점)

하지만 지금도 초보 개발자의 호기심 어린 마음으로 시작해보려고 합니다.

더 배울 것이 있다는 희망을 가지고 계속 나아가는 것입니다.

희망을 품고 사는 삶은 언제나 행복합니다.

2. 어쨌든 나는 개발자다

운영 체제를 공부하는 것은 프로세서를 공부하는 좋은 방법입니다.

그 둘을 연결하기 위해서는 많은 지식이 필요하지만 어깨 너머로 주워온 지식을 모두 모아 하나하나 완성해 나가면 불가능한 일도 아니다.

이것을 강력한 무기로 삼아 앞으로도 개발자로 남고 싶다는 소원을 이룰 수 있을까?

이 연구 게시물은 모두 공개됩니다.

사실 제 블로그의 90%가 비공개라는 점을 감안하면 소심하고 과감한(?) 결정입니다.

스터디 포스팅 중 저작권 위반이나 문제가 있는 경우 댓글로 알려주시면 감사하겠습니다.

그러니 우리가 영원히 계속하고 싶고 천천히 진행될 연구를 시작합시다.