리눅스 드라이버 구조 경험이 GPU 소프트웨어 계층 이해에 도움된 경험
리눅스 환경에서 직접 개발해본 경험과 안드로이드 HAL 구조를 공부하면서, 이 지식이 GPU 소프트웨어 개발에 어떻게 연결되는지를 이해하게 됐습니다. 리눅스에서 디바이스 드라이버 구조와 커널-유저스페이스 경계를 다뤄본 경험은 GPU 드라이버가 커널 모듈로 동작하고 애플리케이션과 통신하는 방식을 이해하는 데 직접 도움이 됐습니다.
HAL(Hardware Abstraction Layer) 구조는 GPU 벤더가 표준 인터페이스를 구현하면 상위 애플리케이션이 하드웨어 세부사항을 몰라도 되는 구조인데, 추상화 계층 설계의 관점에서 배운 점이 많았습니다. 하드웨어에 가까운 개발일수록 계층 간 인터페이스 설계가 성능과 안정성을 결정한다는 걸 이 공부를 통해 배웠습니다. 지금도 로우 레벨 시스템 소프트웨어에 대한 관심을 꾸준히 이어가고 있습니다.