ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OS 관련 개발을 할때 느낀점 feat.뇌피셜
    보통사람의 스터디로그/개발일기장 2025. 5. 20. 22:41

     

    1. OS 개발 생태계에 대한 이해

    OS 개발을 둘러싼 생태계는 단순히 커널만을 이야기하는 게 아니다. BSP(Board Support Package), 커널 소스, 그리고 넓게는 QEMU나 실제 보드를 통한 시뮬레이션까지 포함된다. 너무나도 방대하다.

    Linux든 RTEMS든,
    어쨌든 QEMU 환경에서 구동할 수 있어야 하고,
    GDB로 붙어서 특정 심볼(함수나 변수)을 추적할 수 있어야 한다.

    그래서 뭐?
    단순히 돌아가는 걸 넘어서서,
    내가 만든 코드가 정확히 언제, 어떻게 호출되는지를 알아야 하고,
    거기서부터 시작이다.

     

     

     

    2. 환경부터가 짜질구리? 복잡하다

    진짜 문제는 기능이 아니라 환경이다.
    빌드 시스템, 크로스 컴파일러, 툴체인 버전,
    하나라도 안 맞으면, 그냥 에러 지옥이다.

    빌드 에러? 링커 에러?
    그냥 흔한 하루 일과다.
    오류 로그 하나에 몇 시간씩 쏟기도 한다.
    문제는... 그게 당연해 보인다는 거다. 이 생태계에선.

     

     

    3. 그럼 검증은 어떻게?

    "내가 1을 넣었을 때 10이 나오면 끝?"
    그게 전부일까?

    그 10이 나오기까지, 몇 단계를 타는지, 어디서 병목이 생기는지,
    그걸 모르면 절대 신뢰할 수 없는 시스템이다.

    Trace 도구가 필요하다.
    rtems-trace, ftrace, perf, QEMU log,
    그 어떤 툴이라도 써서 코드 흐름과 시간,
    그걸 정량적으로 검증할 수 있어야 한다.

     

    4. 그래서 뭘 하고 싶은가?

    나는 결국 low-level 문제 해결사가 되고 싶다.

    AI든, 하드웨어든,
    지금보다 훨씬 복잡한 기능들이 요구될 거다.
    전투기, 위성, 무기체계, 아니면 IoT 센서라도,
    기본적인 구조는 비슷할 수 있다.
    단지 응용 방식과 제약 조건이 다를 뿐.

    AI를 SoC에 박고,
    리얼타임 처리도 되고,
    보안도 신경 써야 하고,
    이걸 다 감당하는 사람이 필요하다.

    나도 그중 하나가 되고 싶다.
    그걸 코드로 증명하고 싶다.

     

     

    5. 아직도 고민 중이다. 제자리걸음 같기도 하다.

    왜 하고 싶은지,
    왜 여기에 집착하는지,
    솔직히 아직도 정리가 안 된다.

    하지만 멈추고 싶진 않다.
    이 길의 끝에서
    ‘내가 만든 것’이 움직이는 순간을 보고 싶으니까.

     

     

    댓글

실험중인 삶, Life is not a race