나는 오랜 전에(그래봤자 몇 년 전) 운영체제를 만들기 위해서 코딩을 한 적이 있다. 운영체제를 만든다는 게 웬만한 개발자들에게는 '헉~'하는 느낌일 수도 있겠지만,
'한승훈'이라는 저자가 쓴 '64비트 멀티코어OS 원리와 구조-OS개발 60일 프로젝트'라는 과감한 제목의 책과 인터넷 서치를 통해 프로세서에 전원이 공급되면서부터 벌어지는(이런 느낌은 물리학자들이 '빅뱅 직후에 어쩌구'하는 것과 비슷하다) 여러가지 일들에 대해 연구했고, 이 과정에서 메모리를 이용하는 방식에 대한 다양한 기술적 방식들을 배울 수 있었다.
내가 리눅스를 만들 건 아니었기 때문에, 가상 환경에서 내가 만든 OS로 부팅으로 하고, 특정 메모리의 영역의 비트를 화면에 출력(어셈블러 출력은 printf와는 차원이 다르다. 이 작업중에 C를 왜 고급언어라고 하는지 알게된다)하는 것으로 그 이상의 작업을 하지는 않았다. 더 하면, 우선 컴파일러부터 만들어야 하는데(어셈블러로 계속 작업하든가), 그럴 시간적 여유를 낼 수는 없었다.
대신 이 때 알아낸 운영체제의 동작원리를 이후의 코딩에 충실히 적용해 나갔다. 자바스크립트로 '클라이언트 OS'라는 개념을 만들어 내었고(웹에 할당된 메모리 공간을 운영체제처럼 활용하는 개념), 모든 고급언어의 고급테크닉을 운영체제에서 사용하는 매우 저수준의 코어한 알고리즘으로 환원했다. 나처럼 매우 고수준의 언어를 쓰는 사람이 운영체제 알고리즘을 쓴다는 것은 곧 주변의 환호와 경멸을 동시에 낳았고, 나는 '개발신' 아니면 '괴물' 이라는 극단적인 별명을 갖게 되었다. 하지만 정작 나는 '집기양단,용기중執其兩端, 用其中(양쪽을 다 잡은 뒤, 그 가운데를 써라)'이라는 중용 6장의 철학을 충실히 구현하는 중이라고 스스로 생각했다.
나는 빛보다 빠른 물질은 없다는 것과, 언어보다 복잡한 알고리즘은 없다는 것과, 운영체제보다 철저한 프로그램은 있을 수 없다는 것을 '나는 생각한다, 고로 존재한다'는 명제만큼이나 의심하지 않고 믿는다.
이번에 개발한 jSteem 서비스는 이런 나의 철학을 충실히 구현한 프로그램 아키텍쳐이자 모델이다. 여기에 쓰인 특징 몇 가지를 말하면, 그건 프로그램 세계의 '경천동지'를 일으킬 수 있기 때문에 특별히 언급하지는 않는다. 이 방식이 상용화되면 개발자들의 대량 해고는 불가피하다. 그리고 아마 그 전에 나는 개발자들 사이의 불꽃튀는 논쟁 사이에서 산화되고 말 것이다. 기억하자! 나는 스티브 잡스도, 제프 딘도 아니다. 그냥 변방의 연약한 개발자. 항상 몸을 사려야 한다.
단지 퍼포먼스가 말하게 하자.
철학이 느껴지는 글이네요.. 괴물신, 괴물이라는 극단적인 별명도 인상적입니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
'괴물신'은 아닙니다..ㅜ,.ㅠ ㅋ
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
이더리움도 캐나다 변방에서 나왔죠^^. 물론 캐나다가 아닐 수도.. 어쨋든 모든 혁명은 변방에서 오는 것 같아요.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
정확한 통찰이십니다. 정확하게는 '변방에서 살아 남은'이 맞겠죠? ^^
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
선생님 특유의 문체와 개발력이 더해지니 멋진 글이 계속해서 쓰여지네요 :D
운영체제 공부하면서 PintOS 라는걸 만들어볼 생각만했지, 만들어보진 못했는데... 쓰시는 글 읽을때마다 감탄할 뿐입니다!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
계속 정진하거라.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
운영체제를 개발 했다는 것 만으로 ^^ 헉인데 거기다가 개발툴도 만드신듯 하군요 ^^;;
마이크로소프트도 못한일을 해내고 계시네요 ^^;;
jSteem.com 놀러 가봐야겠습니다.
즐거운 주말 되십시오.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
좋은 주말 보내시고, 자주 뵙겠습니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
'찜한 작가'에 떡하니 제 프로필이 떠서 깜짝 놀랐습니다. ^___^
고맙습니다.
풀보팅하고 갈게요~
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
감사합니다. 앨런 튜링 번역 재미있게 잘 읽고 있습니다. 다른 글들도 재밌구요. 계속 좋은 글 부탁드립니다...^^
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
들어가서 몸으로 보딪쳐볼랍니다.
아...어떻게 이런걸 대 해내시는지....
정말 수고하셨네요.
제가 스티미언채굴단 인터뷰를 주 1회정도씩 진행중인데 재현님 인터뷰 함 하고 싶네요.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
감사합니다. 앞으로 자주 들러주세요. 제가 인터뷰 감이 될지는 모르겠지만, 필요하면 불러주세요.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
멋지네요~
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
감사합니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit