Logo ko.androidermagazine.com
Logo ko.androidermagazine.com

커널이란 무엇입니까?

Anonim

커널이란 무엇입니까? Android 포럼, 블로그, 방법 게시물 또는 온라인 토론을 읽는 데 시간을 보내면 사람들이 곧 커널에 대해 이야기하는 것을들을 수 있습니다. 커널은 안드로이드 고유의 것이 아닙니다.iOS와 MacOS에는 하나가 있고, Windows에는 하나가 있고, BlackBerry의 QNX에는 하나가 있습니다. 사실 모든 고급 운영 체제에는 하나가 있습니다. 우리가 관심있는 것은 안드로이드가 사용하는 리눅스이기 때문에 리눅스입니다. 그것이 무엇인지 그리고 무엇을 깰 것인지 봅시다.

Android 기기는 Linux 커널을 사용하며 모든 휴대 전화는 자체 버전을 사용합니다. Linux 커널 관리자는 모든 것을 깔끔하게 유지하고, Google과 같은 컨트 리뷰 터는 자신의 요구를 더 잘 충족시키기 위해 항목을 추가 또는 변경하며, 하드웨어를 만드는 사람들도 자신이 사용하는 부품에 대한 하드웨어 드라이버를 개발해야하므로 그들이 사용하는 커널 버전. 따라서 독립 Android 개발자와 해커가 새 버전을 이전 장치로 이식하고 모든 것이 제대로 작동하는 데 시간이 걸립니다. 전화기의 한 커널 버전에서 작동하도록 작성된 드라이버는 같은 전화기의 다른 버전의 소프트웨어에서는 작동하지 않을 수 있습니다. 커널의 주요 기능 중 하나는 하드웨어를 제어하는 ​​것이므로 중요합니다. 상상할 수있는 것보다 더 많은 옵션을 제공하는 수많은 소스 코드이지만, 결국 하드웨어와 소프트웨어 사이의 중개자 일뿐입니다.

소프트웨어에 하드웨어가 필요한 경우 커널에 요청을 보냅니다. 그리고 우리가 무엇 을 말할 때, 우리는 무엇이든 의미 합니다. 화면의 밝기에서 볼륨 레벨, 라디오를 통한 호출 시작에 이르기까지 디스플레이에 표시되는 내용도 궁극적으로 커널에 의해 제어됩니다. 예를 들어-전화기의 검색 버튼을 누르면 소프트웨어가 검색 응용 프로그램을 열도록 지시합니다. 디지타이저의 특정 지점을 터치하면 해당 좌표에서 화면을 터치했음을 소프트웨어에 알릴 수 있습니다. 소프트웨어는 특정 지점을 터치하면 검색 대화 상자가 열려 있어야합니다. 커널은 디지타이저가 터치를 보도록 (또는 청취, 이벤트가 "수신"됨) 알리고 터치 한 위치를 파악하고 터치 한 시스템을 알려주는 것입니다. 차례로 시스템이 드라이버를 통해 커널로부터 특정 지점에서 터치 이벤트를 수신하면 화면에 무엇을 그릴 지 알 수 있습니다. 하드웨어와 소프트웨어는 커널과 양방향으로 통신하므로 휴대 전화가 무언가를 언제 수행해야하는지 알 수 있습니다. Angry Birds를 플레이하든 차량의 Bluetooth에 연결하든 관계없이 한쪽의 입력이 다른 쪽의 출력으로 전송됩니다.

복잡하게 들립니다. 그러나 그것은 또한 매우 표준적인 컴퓨터 로직입니다. 모든 이벤트에 대해 일종의 조치가 있으며, 그 조치에 따라 실행중인 소프트웨어에 발생하는 조치가 있습니다. 커널이 정보를 받아들이고 보내지 않으면 개발자는 장치의 모든 단일 하드웨어에 대한 모든 단일 이벤트에 대한 코드를 작성해야합니다. 커널을 사용하면 Android 시스템 API를 통해 통신하기 만하면되며 하드웨어 개발자 만 장치 하드웨어가 커널과 통신하도록해야합니다. 좋은 점은 커널이 어떻게, 왜 커널이 무엇을하는지 정확히 알 필요가 없으며, 소프트웨어에서 하드웨어로 이동한다는 사실을 이해하면 유리 아래에서 일어나는 일에 대해 아주 잘 이해할 수 있다는 것입니다.

일종의 휴대 전화 커널을 위해 밤새 머물 사람들에게 완전히 새로운 전망을 제공하지 않습니까?