커널이란?
커스텀 커널을 알기 위해 우선 커널이 무엇인가 알아볼 필요가 있다. 커널은 모든 운영체제의 가장 기본적인 요소이며, 쉽게 말해 sw와 hw를 연결해주는 다리라고 보면 된다. 여기서 sw는 안드로이드와 같은 운영체제, hw는 디스플레이, 스피커 등 물리적인 부품을 말한다.
하드웨어 <=> 커널 <=> 소프트웨어
예를 들어 앱을 실행하기 위해 스크린을 터치하는 것도 실제론 복잡한 과정을 거친다. 화면의 터치를 인식하는 계수기(digitiser)에서 터치를 인식하면 좌표가 생성되어 커널을 통해 시스템(OS)에 전달된다.
시스템은 현재 보여지고 있는 화면에서 그 좌표는 앱실행을 의미하는 것을 알고 앱을 실행한다. 앱이 실행될 경우 디스플레이에 보여야 하는 이미지가 바뀌기에 시스템은 커널을 통해 디스플레이에 띄워야 할 데이터를 보내 화면으로 비춰지게 되는 것이다.
커스텀 커널?
디바이스 제조사에 의해 배포되는 “순정” 커널은 제한된 부분이 많다. 예를 들면 안정성을 위해 전압량을 일정 수준으로 유지되도록 코드를 설계해두는 것이다. 반면 커스텀 커널은 제조사가 아닌 개인 개발자들이 오픈 소스로 공개된 제조사의 커널 소스코드를 이용해 코드를 수정하거나 추가함으로써 기존 제한되었던 기능들을 사용가능하게 한다. 프로세서 클럭속도가 가장 자주 언급되는 예로 추가적인 코드를 통해 프로세서가 더 높은 속도를 낼 수 있도록 할 수 있다. 또는 유저들이 앱을 통해 전압을 수정할 수 있도록 코드를 추가해 전압을 낮춰 배터리를 절약할 수 도 있다. 그 외에도 사운드 관련 트윅을 통해 디바이스의 성능을 최대한 끌어낼 수 있다.
댓글 없음:
댓글 쓰기