테크레시피

윈도10은 어떤 프로그래밍 언어로 만들었을까

마이크로소프트가 2015년 발표한 윈도10(Windows 10)은 1985년부터 나온 윈도 시리즈의 연장선상에 있는 최신 모델이자 마지막을 장식한 운영체제다. 출시 4년이 지났지만 여전히 개발되고 있는 이 운영체제는 어떤 프로그래밍 언어를 이용해 개발했을까.

마이크로소프트 엔지니어인 악셀 릿쉰(Axel Rietschin)에 따르면 윈도10은 윈도8과 7, 비스타, XP와 초기 코드를 공유하고 있으며 과거 윈도 시리즈와 같은 기반 코드를 기반으로 발전시킨 것이다.

윈도 시리즈는 세대별로 상당한 리팩토링이 이뤄지고 있으며 중요한 새로운 기능을 추가해 성능을 높이고 보안성을 끌어올리는 한편 고급 버전과의 호환성을 유지한다. 다시 말해 윈도10은 최신 운영체제지만 기본 격인 코드는 옛것을 계승하고 있다는 얘기다.

그는 운영체제의 핵심 커널 대부분은 C계열 언어의 시조인 C언어로 쓰인 것이라고 주장한다. 깃허브에 유출되어 공개된 윈도 리서치 커널(Windows Research Kernel)는 오래된 것인 데다 불완전하지만 윈도10이 어떤 언어로 작성된 것이냐는 의문에는 중요한 통찰력을 던진다고 설명한다.

커널 모드에서 작동하는 파일 시스템과 네트워킹 시스템 등 대부분은 C언어로 작성된 것이며 때론 C++로 작성한 것도 있다고 한다. 사용자 모드에 가까워지고 최근 개발된 부분으로 갈수록 C언어에서 C++이 증가한다고 한다. 실제로 윈도10 전체를 만들기 위해 쓰인 프로그래밍 언어가 뭔지 분석하는 건 어렵지만 아마도 98%는 C 또는 C++이 될 것으로 추정하고 있다.

그는 윈도10을 비롯한 윈도 시리즈 개발은 멋진 프로젝트지만 윈도가 거대한 운영체제라는 건 그다지 인지하지 못하는 경우가 많다고 말한다. 테스트 코드를 포함한 윈도 소스 코드를 구성하는 모든 소스 코드는 500GB가 넘고 파일 수는 400만 개 이상이다. 운영체제 워크스테이션과 서버 제품을 구성하는 소스 도구 개발 코드 등을 쭉 흘린다고 해도 1년은 족히 걸리기 때문에 만일 해독을 하겠다고 하면 평생에 걸쳐도 시간이 부족할지 모른다.

윈도 프로젝트에선 매일 상당량 코드가 많은 프로그래머에 의해 생성된다. 따라서 하루 사이에도 윈도 프로젝트에 추가된 코드를 1명이 하루에 다 보는 건 불가능할 것이라는 설명이다. 관련 내용은 이곳에서 확인할 수 있다.

이석원 기자

월간 아하PC, HowPC 잡지시대를 거쳐 지디넷, 전자신문인터넷 부장, 컨슈머저널 이버즈 편집장, 테크홀릭 발행인, 벤처스퀘어 편집장 등 온라인 IT 매체에서 '기술시대'를 지켜봐 왔다. 여전히 활력 넘치게 변화하는 이 시장이 궁금하다.

뉴스레터 구독

Most popular