markany-linux / openCode

개방형 OS 공용 라이브러리 개발
GNU General Public License v3.0
10 stars 2 forks source link

openCode

소개

본 프로젝트는 리눅스 환경에서 응용 프로그램을 작성하기 위해 필요한 다양한 기능들을 라이브러리화 하고, 해당 기능을 이용하여 빠른 기능 개발을 지원하기 위한 기반을 제공하기 위한 프로젝트입니다. 일반적으로 리눅스에서 처음 개발하는 개발자들의 접근성을 높이기 위해 커널 모듈과 사용자 영역에서의 정보 교환 예제를 기반으로 라이브러리를 활용하는 프로그램을 제공합니다.

본 프로그램은 개방형 OS에서 동작하도록 구성되어 있으므로 반드시 개방형 OS에서만 테스트를 수행하시기 바랍니다.

프로그램 구성은 다음과 같습니다.

관련한 추가 정보는 (주)마크애니 지식블로그에서 확인하실 수 있습니다.

빌드 및 결과물

저장소 최상위의 Makefile을 이용하면, 포함된 전체 구성물을 빌드합니다.
별도 빌드가 필요한 위치에는 반드시 Makefile이 포함되어 있어 별도 빌드도 가능합니다.
모든 빌드는 저장소 최상위 bin/ 디렉터리에 결과물을 보관하도록 구성되어 있습니다.
빌드에 따라 bin/ 디렉터리 아래에 아래의 파일들이 생성됩니다.

에이전트 실행 및 정보

빌드된 GUI 에이전트 실행 화면은 maOpen, maCopen 모두 다음과 같은 형태로 실행됩니다.

Screenshot

그림과 같이 구성된 에이전트는 본 프로젝트에서 제공하는 라이브러리 대부분의 기능을 사용하여 구성되어 있고, 간단한 버튼 클릭만으로 정보를 획득할 수 있도록 구성되어 있습니다.

좌측 각 버튼의 기능은 다음과 같습니다.

위와 같은 기능들을 구성하기 위해 제공되는 라이브러리와 에이전트 전체 소스 코드를 공개하였기 때문에 많은 개발자에게 도움이 될 것입니다.

커널 모듈 적재 및 확인 방법

커널 모듈은 커널에 직접 빌드된 결과물이 적재되기 때문에 일반 사용자 권한이 아닌 관리자 권한으로 적재해야 합니다.

커널 모듈에서는 적재 및 해제 시에 간단한 메시지를 출력하는데, 이를 확인하는 방법은 다음과 같습니다.

획득 가능 정보

본 프로젝트를 통해 획득할 수 있는 정보들은 다음과 같다.

관련된 세부사항은 소스 코드의 주석을 확인하시기 바랍니다.
모든 소스Doxygen 스타일로 주석이 입력되어있으며, 모든 자료형과 상세 기능 등에 대해서도 주석이 입력되어 있습니다. 소스 코드의 접근이 어려우신 경우, Doxygen 프로그램을 이용하여 문서를 생성한 다음 확인하실 수도 있습니다.

목표

본 프로젝트의 주요 결과물인 라이브러리가 많은 개발자들에게 제공되어 도움이 되고, 다수의 기여자들에의해 최종적으로 개방형 OS에 탑재되여 다양한 응용 프로그램에 의해 사용되고 활용되는 것을 목표로 한다.

라이선스

GPL-3.0