처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.04.07 22

100KB짜리 마이크로커널을 직접 손으로 짰다고요? — Anos 프로젝트 이야기

Hacker News 원문 보기
100KB짜리 마이크로커널을 직접 손으로 짰다고요? — Anos 프로젝트 이야기

운영체제를 밑바닥부터 만든다는 것

우리가 매일 쓰는 윈도우, 맥OS, 리눅스 같은 운영체제의 심장부를 '커널'이라고 부르는데요. 이 커널이 하는 일은 간단히 말하면 하드웨어와 소프트웨어 사이에서 통역사 역할을 하는 거예요. 프로그램이 "메모리 좀 줘"라고 하면 커널이 하드웨어한테 가서 메모리를 받아다 주고, "화면에 뭔가 그려줘"라고 하면 그래픽 장치와 대화해서 처리해주는 식이죠.

그런데 이런 커널을 어셈블리어와 C 언어로 직접 한 줄 한 줄 손으로 작성해서, 그것도 100KB(킬로바이트) 남짓한 크기로 만들어낸 프로젝트가 있어요. 바로 Anos라는 마이크로커널인데요. 참고로 100KB가 얼마나 작은 건지 감을 잡아보자면, 여러분이 카톡으로 보내는 사진 한 장이 보통 2~5MB니까, 이 커널은 사진 한 장의 수십 분의 1 크기밖에 안 되는 거예요. 그 안에 운영체제의 핵심 기능이 다 들어가 있다니, 놀랍지 않나요?

마이크로커널이 뭔가요?

커널 설계 방식에는 크게 두 가지가 있거든요. 하나는 리눅스처럼 모놀리식(monolithic) 방식인데, 이건 파일 시스템, 네트워크, 디바이스 드라이버 같은 거의 모든 기능을 커널 안에 다 집어넣는 방식이에요. 마치 백화점처럼 한 건물에 모든 매장이 들어가 있는 거죠. 장점은 빠르다는 건데, 단점은 하나가 망가지면 전체가 같이 무너질 수 있다는 거예요.

반대로 마이크로커널은 커널에는 정말 최소한의 기능만 넣어요. 프로세스 간 통신(IPC), 메모리 관리, 스케줄링 정도만 커널이 담당하고, 나머지 파일 시스템이나 드라이버 같은 건 전부 커널 바깥의 별도 프로세스로 돌리는 방식이에요. 편의점 여러 개가 흩어져 있는 느낌에 가깝다고 할까요. 하나가 문제가 생겨도 다른 부분에 영향이 적어서 안정성이 높은 게 장점이에요. 대표적인 마이크로커널로는 QNX(자동차 인포테인먼트 시스템에 많이 쓰이죠), MINIX, 그리고 구글의 Fuchsia OS에 쓰이는 Zircon 같은 것들이 있어요.

Anos는 바로 이 마이크로커널 방식을 따르면서, 극도로 작은 크기를 목표로 한 프로젝트예요.

Anos의 기술적 특징들

Anos가 흥미로운 건 x86-64와 RISC-V 두 가지 아키텍처를 동시에 지원한다는 점이에요. x86-64는 우리가 쓰는 일반 PC와 서버에 들어가는 인텔/AMD 프로세서의 아키텍처이고, RISC-V는 요즘 임베디드와 학술 분야에서 빠르게 주목받고 있는 오픈소스 명령어 집합 아키텍처(ISA)예요. 이 두 아키텍처는 설계 철학부터 완전히 다른데, 하나의 코드베이스에서 둘 다 지원한다는 건 아키텍처 추상화를 꽤 잘 설계했다는 뜻이거든요.

커널의 주요 기능을 살펴보면, 우선 가상 메모리 관리가 있어요. 이게 뭐냐면, 각 프로그램이 마치 자기만의 넓은 메모리 공간을 가진 것처럼 착각하게 만들어주는 기술인데요. 실제로는 물리 메모리를 쪼개서 여러 프로그램이 나눠 쓰는 건데, 커널이 이 매핑을 관리해주는 거예요. 그다음 프로세스 스케줄링이 있는데, 여러 프로그램이 CPU를 공평하게 나눠 쓸 수 있도록 순서를 정해주는 역할이에요. 그리고 IPC(프로세스 간 통신) 메커니즘도 구현되어 있어서, 커널 바깥에서 돌아가는 서비스들이 서로 메시지를 주고받을 수 있어요.

이 모든 게 약 100KB 안에 들어간다는 게 핵심이에요. 비교를 해보면, 리눅스 커널은 컴파일 후 수십 MB에 달하거든요. 물론 리눅스가 지원하는 기능의 범위와 Anos의 범위는 비교 대상이 아니지만, 마이크로커널 설계가 얼마나 군더더기 없이 될 수 있는지를 잘 보여주는 사례예요.

교육적 가치와 업계 맥락

사실 마이크로커널을 처음부터 작성하는 프로젝트는 OS 교육과 시스템 프로그래밍 학습에 굉장히 좋은 자료가 돼요. 대학교 운영체제 수업에서 MINIX를 가지고 공부하는 것처럼, Anos 같은 프로젝트는 실제 동작하는 커널 코드를 읽으면서 "아, 컨텍스트 스위칭이 실제로는 이렇게 구현되는구나"를 눈으로 확인할 수 있거든요.

요즘 업계에서 RISC-V에 대한 관심이 계속 커지고 있는 것도 주목할 만해요. ARM이 모바일과 애플 실리콘으로 입지를 굳혔다면, RISC-V는 오픈소스라는 강점을 내세워 IoT, 임베디드, 심지어 일부 서버 영역까지 넘보고 있거든요. Anos가 초기부터 RISC-V를 지원한다는 건 이런 흐름을 의식한 선택으로 보여요.

마이크로커널 자체도 다시 주목받는 추세인데요. 구글이 Fuchsia OS를 밀고 있고, seL4 같은 공식 검증(formally verified)된 마이크로커널은 보안이 극도로 중요한 국방, 항공, 의료 분야에서 쓰이고 있어요. 커널 크기가 작으면 공격 표면(attack surface)도 작아지니까, 보안 관점에서 마이크로커널의 장점이 재조명되고 있는 거예요.

한국 개발자에게 어떤 의미가 있을까

솔직히 Anos를 당장 프로덕션에 갖다 쓸 수 있냐고 하면 그건 아니에요. 아직 실험적인 프로젝트니까요. 하지만 가치가 있는 건 크게 두 가지예요.

첫째, 시스템 프로그래밍 학습 자료로 훌륭해요. 한국에서도 임베디드 개발이나 시스템 소프트웨어 직군의 수요가 꾸준한데, 100KB짜리 깔끔한 코드베이스는 리눅스 커널 수백만 줄을 들여다보는 것보다 훨씬 접근하기 쉽거든요. 부트로더부터 메모리 관리, 스케줄러까지 전체 흐름을 한눈에 볼 수 있다는 게 큰 장점이에요.

둘째, RISC-V 생태계를 미리 탐색해볼 수 있어요. 국내에서도 RISC-V 기반 칩 개발이 점점 활발해지고 있고, 관련 인력 수요도 늘고 있거든요. Anos 프로젝트를 포크해서 직접 기능을 추가해보거나 QEMU 에뮬레이터 위에서 돌려보면서 RISC-V 아키텍처에 익숙해지는 것도 좋은 학습 방법이 될 수 있어요.

마무리

100KB라는 극도로 제한된 공간 안에 운영체제의 핵심을 담아내려는 시도는, 소프트웨어가 점점 비대해지는 요즘 시대에 오히려 신선한 접근이에요. "작게 만든다"는 것이 얼마나 깊은 이해를 필요로 하는지를 잘 보여주는 프로젝트라고 할 수 있죠.

여러분은 운영체제 내부 구조를 공부해본 적 있나요? 혹시 RISC-V에 관심이 있다면, 어떤 분야에서 가능성을 보고 계신지 궁금하네요.


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.