qqjdzm
14.01.07
조회 수 13155
추천 수 25
댓글 11

이 글 또한 칼다리스님이 예전에 정리해 주셨던 글입니다. 약간 수정해서 올립니다~

소개

커스텀롬과 함께 맛클 자료의 양대산맥을 이루고 있는 커스텀 커널. 성능향상부터 사운드향상 등등 여러가지 기능을 제공하는 커스텀 커널들이 존재합니다. 이번 편에선 커널이 무엇인지 알아보겠습니다. 사용 중인 커널은 폰정보 아래 Kernel version에서 확인할 수 있습니다. 6편에서 썼던 스크릿 사진을 재탕하겠습니다~ 하하하. 엘리멘탈 이라는 커널로써, 2.3GHz(뉴넥7 순정 1.5GHz)에 달하는 오버클럭과, 노크온지원, 언더볼티지, GPU 최대 670MHz(뉴넥7 순정400MHz) 오버클럭, 음장패치 미지원 기능을 지원하는 '퍼포먼스 기능형' 커널입니다.



커널이란?

커널은 하드웨어와 소프트웨어 사이에서 다리 역할을 하는 요소입니다. 디스플레이, CPU, 메모리 등이 하드웨어이며 여러분이 사용 중인 안드로이드 운영체제가 바로 소프트웨어이죠. 물론 안드로이드 외 윈도우즈나 맥, 리눅스 등 왠만한 운영체제엔 커널이 있습니다. 운영체제마다 커널의 의미가 약간씩은 다르지만 이 가이드는 안드로이드 가이드이기에 다루지 않겠습니다.

커널은 하드웨어와 소프트웨어 사이에서 중개자(?) 역할을 하며 둘 사이에 오가는 모든 정보를 관리합니다. 안드로이드시스템이 하드웨어에 어떤 작업을 하기 원하면 커널에게, 커널이 하드웨어에 전달해주게 되고 반대로 하드웨어에 특정입력 방식대로 입력이 될 경우 커널을 이것을 소프트웨어에 알려줍니다.

소프트웨어 <=>  커널 <=>  하드웨어

예를 들어 앱을 실행하려면 앱아이콘이 위치한 곳을 터치하겠죠? 그럼 앱이 실행됩니다. 쉬워보이지만 이 작업이 이루어지기까지 디바이스 속에선 커널이 엄청 바쁩니다. 화면의 터치를 인식하는 계수기(digitiser)가 터치를 인식하면 그 좌표는 커널을 통해 시스템으로 전달되어지며 시스템은 그 좌표가 앱 실행을 의미하는 것을 앎으로 앱을 실행하고 다시 커널에 띄워야 할 이미지를 알려주죠. 커널은 이것을 디스플레이 드라이버에 전달해 화면에 그 이미지가 뜨도록 합니다.앱 실행 외에도 통화, 화면밝기 조절 등 커널이 끼지 않는 곳은 거의 없습니다. 만약 커널이 없다면 개발자들은 여러 디바이스에 존재하는 모든 하드웨어에 대해 각 이벤트(터치, 버튼 누르기 등)에 대조되는 하드웨어 액션에 대한 코드를 일일이 개발해야 합니다. 한마디로 불가능이란 말이죠. 커널이 존재함으로 인해 소프트웨어 개발자는 그냥 구글이 제공하는 커널 인터페이스인 안드로이드 API만 활용할 수 있으면 되는 것이고 하드웨어 제조사는 하드웨어가 커널과 소통할 수 있도록 드라이버만 개발하면 되는 것입니다.안드로이드 커널은 리눅스의 커널 소스코드를 이용해 개발됩니다. 하지만 PC에서나 사용될 코드들은 빼고 모바일 디바이스용인 안드로이드-특정 소스코드를 추가하게 되죠. 제조사들 역시 개발되는 안드로이드 커널이 자사 제품에 탑재할 하드웨어와 소통을 할 수 있도록 코드 개발에 보태야 합니다. 그 후 하드웨어를 위해 드라이버만 개발하면 되는 것이죠. 일반적으로 특정 커널 버전을 위해 개발된 드라이버는 다른 커널 버전과 호환되지 않습니다. 그래서 구형 디바이스에 대한 새 커널 버전의 포팅은 꽤나 시간이 드는 작업이고 아마 이는 예전에 말씀드린 펌웨어 업데이트가 느린 이유 중 하나에 추가되지 않을까 싶네요.

커스텀 커널

커스텀 커널은 커스텀롬과 마찬가지로 개조된 커널이라 보시면 됩니다. 흔히 오버클럭이나 언더볼팅을 위해 많이 
용되지만 음장(?) 같은 추가 기능을 위해서도 사용되곤 합니다.순정 커널에는 CPU를 특정 클럭으로 제한해 두는 코드가 있습니다. 커스텀 커널 개발자는 이런 코드를 수정해 더 높은 클럭이 가능하도록 할 수 있고 실제 그렇게 하죠. 마찬가지로 각 클럭에 적용되는 전압 역시 코드를 수정해 안드로이드 시스템에서 직접 조절할 수 있도록 설정할 수 있습니다. 이렇게 커널에 코드를 수정한 후 안드로이드 시스템에선 새로운 커널과 소통할 수 있는 앱을 따로 개발해 소프트웨어의 역할을 하도록 하는 것이죠. 음장 역시 비슷한 식으로 사운드 관련 하드웨어를 조절할 수 있게 됩니다. 이렇게 되면 아까와 마찬가지로 관계가 형성되죠:

소프트웨어(커널조절앱)  <=>  커널(커스텀커널)  <=>  하드웨어(CPU/사운드)

커스텀커널도 디바이스에 따라 여러 종류가 있으며 특징 또한 개발자에 따라 다릅니다. 전 해외판을 사용하니 국내판용 커널의 종류에 대해선 잘 모르지만 SJ커널, 테그라크커널, 프레스티지모드 커널, KMW 커널 등에 대해 들어본 것 같네요. 각 커널의 특징에 대해선 자료글에서 확인하시기 바랍니다. 커스텀 커널의 설치 방법은 커스텀 리커버리에서 ZIP파일 형식으로 하는 것이 통상적이나 갤럭시 디바이스의 경우 오딘으로 TAR파일을 설치하는 경우도 있습니다.

==========

정리: 커널은 소프트웨어와 하드웨어 사이에서 관리소 역할을 합니다. 커널이 없으면 디바이스는 부팅도 못합니다. 관리되는 목록을 수정함으로 더 많은 기능을 지원할 수 있게 된 커널이 커스텀 커널입니다.
Extra Form
첨부
Screenshot_2014-01-07-14-00-15.png  [File Size:366.3KB/Download:2]
댓글을 남겨야 다운로드가 가능합니다. 감사의 댓글을 달고 오른쪽 확인버튼을 눌러주세요.
다운로드시 일주일에 한개 이상의 게시물 작성이 필요합니다. 지금 자유게시판에 회원님의 하루를 남겨보세요.
추천♡버튼을 잊지 마세요. 추천인과 회원님 모두 포인트가 적립됩니다.
댓글 11
댓글 쓰기 권한이 없습니다.
강좌 최신순 목록 검색 쓰기
등록된 글이 없습니다.
1 -