한국정보기술진흥원
한국정보기술신문
thumbnail

정보기술 ·

RetrOS-32 프로젝트, C언어 기반 커널에서 다형성 구현 성공...취미 개발자, 운영체제에 객체지향 설계 패턴 적용해 주목

발행일
읽는 시간1분 17초

[한국정보기술신문] 개인 운영체제 개발 플랫폼 OSHub의 joexbayer 개발자가 자신의 취미 운영체제 프로젝트인 'RetrOS-32'에서 객체지향 설계 패턴을 성공적으로 적용했다고 8월 20일 발표했다. 이 프로젝트는 C언어로 작성된 커널에서 함수 포인터를 활용해 다형성을 구현하는 방식을 채택했다.

개발자는 "개인 운영체제 작업의 장점은 협업이나 실제 애플리케이션의 일반적인 제약에서 자유롭다는 것"이라며 "보안 취약점이나 수백 명이 코드를 유지보수해야 하는 걱정 없이 실험할 수 있다"고 설명했다. 운영체제 개발 분야에서는 대부분 혼자 작업하는 경우가 많아, 이러한 고독함이 오히려 독특한 프로그래밍 패턴을 실험할 수 있는 자유를 제공한다는 것이다.

리눅스 커널에서 영감을 얻은 설계

image.png
OSHub 제공

이번 구현은 리눅스 커널의 객체지향 설계 원칙에서 영감을 받았다. 개발자는 석사 논문을 위한 커널 모듈 개발 중 LWN(Linux Weekly News)의 "커널에서의 객체지향 설계 패턴" 기사를 접하게 되었다고 밝혔다. 해당 기사는 C언어로 작성된 리눅스 커널이 구조체의 함수 포인터를 사용해 다형성을 달성하는 방법을 설명하고 있었다.

개발자는 "커널처럼 저수준인 시스템도 캡슐화, 모듈화, 확장성 등 객체지향의 장점을 빌려올 수 있다는 점이 매우 흥미로웠다"고 말했다. 이는 전통적으로 절차지향 프로그래밍이 주를 이루던 시스템 프로그래밍 분야에서 새로운 시도라고 평가된다.

RetrOS-32 프로젝트의 특징

RetrOS-32는 그래픽, 멀티태스킹, 편집기, 파일시스템, 네트워킹 기능과 32비트 C 컴파일러를 갖춘 x86 32비트 취미 운영체제다. 이 프로젝트는 OSHub 플랫폼을 통해 공개되어 있으며, 운영체제 개발 커뮤니티의 관심을 받고 있다. 개발자는 스케줄러 작업 구현 과정에서 객체지향 패턴을 도입하여 코드의 재사용성과 확장성을 높였다고 설명했다.

OSHub는 취미 운영체제 프로젝트를 공유하고 협업할 수 있는 플랫폼으로, 커널과 드라이버, 저수준 프로젝트에 열정적인 운영체제 개발자 커뮤니티를 제공한다. 운영체제 프로젝트들은 높은 중단율을 보이는데, 2004년부터 2006년 사이 213개 프로젝트 중 112개가 인터넷에서 사라졌다고 기록되어 있다. 이러한 상황에서 RetrOS-32와 같은 지속적인 개발과 혁신적 접근은 커뮤니티에 긍정적인 영향을 미칠 것으로 기대된다.

한국정보기술신문 정보기술분과 최수하 기자 news@kitpa.org