Android는 실제로 Linux와 동일한 커널을 사용합니까?


25

안드로이드에서 Linux Kernel을 사용한다고 읽었습니다. 정말 사실입니까? 나는 리눅스 커널이 데스크탑 운영 체제를위한 것이라고 생각했다.


12
리눅스 커널은 많은 임베디드 디바이스에서 사용된다 . 안드로이드는 임베디드와 데스크톱 사이의 경계선이며 리눅스를 실행하는 훨씬 더 작은 장치가 있습니다.
Gilles 'SO- 악마 중지

15
최신 전화는 기본적으로 작은 디스플레이가있는 데스크탑입니다. 10 년 전의 데스크톱 (리눅스를 제대로 실행 한)과 비교하면 거의 모든 사양에서 전화가 구형 데스크톱보다 뛰어납니다.
David Schwartz

2
아마도 세 가지를 강조하는 것이 중요합니다-1) Linux 커널의 사용자 정의-예상되는 사용에 따라 다르게 구성하거나 필요하지 않으면 생략 할 수있는 것이 많이 있습니다 .2) 커널은 일반적으로 하나의 구성 요소입니다 (거의 또는 "하단 수준"구성 요소) : 데스크톱, 휴대 전화, 서버 또는 기타 기기에 관계없이 사용자를 향한 경험을 궁극적으로 책임지는 소프트웨어 스택에 포함됩니다. 아래에서 알 수 있듯이 Android "Android"를 만드는 대부분은 커널이 아니며 3) 요즘 전화 하드웨어는 실제로 강력합니다.
LawrenceC

@ultrasawblade는 커널이 사용자를 향한 경험에 책임이 있다고 말했다. 사실이 아닙니다. 사용자는 스택을 내려다보고 아래쪽의 구성 요소가 가장 숨겨져 있습니다. 데비안에서는 인기있는 Gnu + Linux에서 Gnu + bsd를 만드는 bsd 커널을 사용할 수 있습니다. 사용자 관점에서 많은 것을 변경하지는 않습니다. 시스템 관리자는 도구가이 차이를 숨기지 않으면 차이를 볼 수 있습니다.
ctrl-alt-delor

"커널은 일반적으로 궁극적으로 사용자를 향한 경험에 책임이있는 소프트웨어 스택에서 하나의 구성 요소 일뿐"이라고 커널이 전적으로 책임을지는 것이 아니라 단지 일부를 담당하고 있음을 의미합니다.
LawrenceC

답변:


40

안드로이드의 아키텍처

여기에 이미지 설명을 입력하십시오

Android는 보안, 메모리 관리, 프로세스 관리, 네트워크 스택 및 드라이버 모델과 같은 핵심 시스템 서비스를 위해 Linux를 사용합니다. 커널은 또한 하드웨어와 나머지 소프트웨어 스택 사이의 추상화 계층 역할을합니다.

최신 Android는 Linux 버전 3.10 ( source )을 실행합니다.

그리고 두 번째 문장에 대한 나의 의견은 리눅스 커널이 데스크탑 운영 체제 만을 위한 것이 아니라는 것 입니다. 사용 사례는 데스크톱 OS, 서버, 메인 프레임 및 슈퍼 컴퓨터, 임베디드 장치에 따라 다릅니다.

Linux는 널리 이식 된 운영 체제 커널입니다. 저렴한 비용과 손쉬운 커스터마이제이션으로 인해 Linux 커널은 핸드 헬드 장치 및 메인 프레임 시스템, 휴대 전화에서 수퍼 컴퓨터에 이르는 장치의 다양한 컴퓨터 아키텍처에 사용됩니다.

다른 참고 사항 : Palm (나중에 HP에서 인수)은 Palm 파생 스마트 폰 제품군에 사용되는 Linux 파생 운영 체제 인 webOS 를 사용합니다. Cisco / Linksys와 같은 제조업체의 여러 네트워크 방화벽 및 라우터는 사용자 지정 Linux 커널을 사용합니다. 임베디드 리눅스를 사용하는 수많은 장치 가 있습니다 .


2
왜 커널이 데스크탑 운영 체제를위한 것이 아니라고 말하는지 모르겠습니다. 데스크톱 장치에서 완벽하게 작동합니다. 또한 다른 많은 클래스의 장치에서도 잘 작동하므로 데스크톱 장치 전용이 아니라고 말할 수도 있습니다.
Richm

@Richm, 지적 해 주셔서 감사합니다. 나는 대답에서 그것을 고쳤다.
Sachin Divekar

Linux / UNIX 플랫폼에서 데스크탑은 커널 서비스를 사용하는 애플리케이션 세트입니다. 따라서 데스크톱을 쉽게 추가, 교체 또는 제거 할 수 있습니다. 서버는 종종 데스크탑을 터미널 쉘로 교체합니다.
BillThor

"전화"는 단순한 데스크탑 형태가 아닙니까? :-p
johannes

Android는 원래 크게 수정 된 Linux 커널 버전을 사용했지만 3.5부터 많은 기능이 기본 커널로 다시 병합되었습니다. 안드로이드 4.4은 현재 패치 리눅스 3.4 커널 (AN 장기 자료) 훨씬 덜에 실행
DTECH

6

예, 다른 많은 임베디드 장치와 마찬가지로 그렇습니다. Sachin이 말했듯이 많은 라우터는 Linux 기반 OS를 사용하여 쉽게 사용자 정의 할 수 있습니다.

다음은 mksh 및 Android 커널 3.0.8 이상을 실행하는 Xubuntu 스크린 샷입니다 (Android x86 소스에서) Xubuntu mksh 및 Android 커널 3.0.8 이상 실행


3

예, 아니오 (Linux의 의미에 따라 다름)

리눅스라는 이름에는 많은 혼란이있다. 종종 두 가지 다른 것을 언급하는 데 사용됩니다.

  • 안드로이드의 경우와 다른 경우입니다. Linux라는 커널을 나타냅니다. 작지만 필수적인 운영 체제입니다. 커널은 하드웨어를 제어하고 나머지 시스템에 서비스를 제공합니다. (@Sachin Divekar의 멋진 다이어그램 답변 참조).

  • 거의 모든 데스크탑 시스템의 경우 X11 + Gnu + Linux를 나타냅니다. 다이어그램을 다시 참조하되 전화, 전화 및 Android에 대한 모든 참조는 제거하십시오. 이제 Application Framework를 Gnu Tools로 변경하고 X11이라는 레이어와 Gnome 또는 Kde 등의 레이어를 추가 한 다음 애플리케이션을 맨 위에 놓습니다. 그래픽 사용자 인터페이스는 자원이 부족하기 때문에 일반적으로 서버의 경우 X11 또는 Kde / Gnome이 없습니다.

Android는 X11 (Android 앱을 실행할 수는 있지만 실행하지는 않음) 또는 Gnu Tool을 사용하지 않습니다. 그러나 Gnu + Linux와 같이 일부 라이브러리는 Gnu입니다.

사람들이 리눅스를 말할 때 어떤 의미가 있는지 아는 것은 종종 어려운 일입니다. 그렇기 때문에 Gnu + Linux를 의미 할 때“Gnu / Linux”라고 말하고 커널에 대해“Linux 커널”을 사용하는 것이 좋습니다. 그러나 커널이 무엇인지 알지 않는 한 (사람들이 Linux 앞에 커널이라는 단어를 추가한다고 들었을 때 (올바른 용어라고 들었 기 때문에) Gnu + Linux를 참조하기 위해 커널을 사용하고 있다고 확신하지 않는 한 커널은 말하지 마십시오.


2

Linux Kernel을 찾을 수있는 것은 임베디드 및 데스크탑 만이 아닙니다.

  • 상위 500 대 슈퍼 컴퓨터 중 490 개, 전체 Gnu / Linux가 실행 중입니다.
  • 웹 서버의 약 80 %가 Gnu / Linux를 실행하고 있습니다.
  • 대부분의 인터넷 인프라는 Gnu / Linux를 실행하거나 내장 된 장치입니다. 이러한 임베디드 장치 중에서 많은 부분에 Linux라는 커널이 있습니다.

1
이제 리눅스를 실행하는 500 대 슈퍼 컴퓨터 가되었습니다 .
David Refoua
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.