게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
프게에 주제가 없다고 해서, 올리는 초짜의 안드로이드 플랫폼 개괄
게시물ID : programmer_2185짧은주소 복사하기
작성자 : 만렙마법사
추천 : 3
조회수 : 508회
댓글수 : 9개
등록시간 : 2014/03/27 22:28:44



sdd.jpeg



이전에 프로그램게시판에 주제가 없다는 이야기 있다군요. 굳이 vs놀이를 하지않아도 세상에는 너무 많기도 하고, 다양한 프로그램주제가 존재한다고 생각합니다.
그래서 적어 봤습니다. 





안드로이가 처음에 출시된지도 오래됬네요. 제가 2.3 진저브레드가 막나왔을때에 안드로이드를 처음 접했으니 대략 2년되네요. 이후로 안드로이드 어플시장은 급성장을 했고, 많은 창업주분들이 뛰어든 플랫폼이기도 하죠.  제가 쓰는글은 안드로이드 플랫폼에 대해서이고 지극히 시스템적인 부분입니다. 저도 원래 처음으로 안드로이드 어플만들기는 잠깐했었고, 원래 주력 분야는 리눅스입니다.  지금에 와서 다시 안드로이드로 돌아가서  플랫폼 개발을 하고있고있습니다.

시스템적인것은  접한지 얼마 안됬지만, 적어 보는것도 의미있다고 생각해서 적어봅니다.  


1.bionc
보통은 생각하는 리눅스를 개발하고있는 자유소프트웨어재단(GNU)의 최고의 히트상품은 리눅스 커널입니다. 다만, 커널을 구성하기 위해서는 몇가지가 필요로 합니다. 그중에 하나가 바로 glibc-C라이브러리 입니다. 이러한 커널이나 ,C라이브러리는 회사들로부터 치명적인 단점이 존재하는데요.

바로 glibc의 LGPL라이센스죠. LGPL에 따르면 라이브러리를 사용하면, 100% 변경을 해줘야 될텐데 변경되면, 공개해야합니다. 그리고, 2차 창작물에는 라이센스가 적용안되지만, 리버스 엔지니어링을 허용 해야합니다. 

이런것은 회사로서 큰 문제가 됩니다. 따라서 사용한것이 bionc라는 BSD라이센스의 C라이브러리 입니다. BSD라이센스의 라이브러리를 사용하는 이유는 막쓰고 배포안해도 됩니다 -_-;

따라서, 필수적인 부분은 glib를 사용하고 나머지는 bionc를 사용하는것으로 생각됩니다. 이것은 모듈형태로 적재되는 코드에 대해서는 전염성을 안가지때문이라고 생각되며. 안드로이드 라이센스의 핵심이라고 생각합니다. 그리고, 더 자세한것은 저도 공부중입니다 -_-;;



2.HAL
안드로이드에서만 사용하고 리눅스에는 없는 시스템중에 하나입니다. 가상 인터페이스라고 하는데요. wifi나 사운드,화면에 대한 제어를 좀더 유연하게 대처하기 위한 인터페이스(드라이버)입니다. 이것은 생각보다 중요할수 있습니다. 앱을 개발에서 여러가지 시스템에 따라서 새로 프로그램을 해야하는 골치거리를 줄여주기 때문이죠. 실제로 C코드로 드라이버를 직접제어하는것은 많은 노력이 필요할수도 있습니다. 어플쪽 개발에는 좀더 편하게 프로그램 하게 해줄수 있는 좋은것이죠.

재미있는것은 여러 장치제조사에서 안드로이드를 지원하는 드라이버들의 개발이 늘어간다는것입니다. 니들이 그러면 내가할일이 늘어날수 있잖아





다음에 기회가 되면 좀더 적어보겠습니다. 그때에는 기본적인 시스템의 소개와 테블릿이나 스마트폰의 제조/판매에 아무런 관련이 없는 회사들도 
안드로이드에 왜 주목하고 있는지에 대해서도 좀더 적어보겠습니다. 몇분이나 흥미를 가지실런지는 모르겠지만요. 추가적으로 다른분이 글을 써준신다면
영광이라는 애초에 아직, 리눅스도 어려운데 안드로이드 시스템에 대해서 이야기하는것도 좀그렇고 -_-;;

p.s : glibc에 대해서 수정했습니다. 감사합니다 ㅎㅎ

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호