Android를 여전히 일반 OS로 설치할 수없는 이유는 무엇입니까?


11

Android가 여전히 펌웨어이고 많은 번거 로움없이 설치 될 수있는 OS가 아닌 기술적 인 이유가 있습니까?

적절한 드라이버 (커널 모듈)를 감지하고 표준 방식으로 NAND를 파티션하고 업데이트 된 OS 버전을 부팅하도록 부트 로더를 구성 할 수있는 범용 이미지가없는 이유는 무엇입니까?

Google이 실제 (펌웨어와 유사한) OS (소형 ARM, x86 등의 기기 용 OS)를 만드는 것을 막는 것은 무엇입니까?


1
이것은 Android에만 국한된 것이 아니라 ARM 장치에 초점을 맞춘 다른 OS (Microsoft Windows 8 RT조차도)는 다른 ARM 컴퓨터에 설치할 수는 없지만 펌웨어처럼 취급됩니다.
GAThrawn

이것은 헤더 파일이다 : theregister.co.uk/2011/03/29/...
Thufir

답변:


11

Google이 실제 OS (소형 ARM, x86 등 기기 용 OS)를 만드는 것을 막는 것은 무엇입니까?

"실제"OS입니다.

적절한 드라이버를 감지 할 수있는 범용 이미지가없는 이유

존재하지 않는 드라이버를 어떻게 감지합니까? 누군가가 써야합니다. PC와 달리 전화 하드웨어는 최종 사용자가 부품 및 크기 제약 조건으로 자체 구성 할 수 없기 때문에 크게 다릅니다. 호환 가능한 칩과 특수 칩셋 대신 맞춤형 부품이 필요하므로 매우 구체적인 드라이버가 필요하며 OS는 기본 드라이버 만 제공 할 수 없습니다. 응용 프로그램을위한 20MB의 저렴한 HTC 전화를 가진 사람에게는 필요없는 드라이버를 호스팅 할 공간이 없습니다.

업데이트 된 OS 버전을 부팅하도록 부팅 로더 구성

부트 로더는 또한 장치마다 크게 다릅니다. 단일 제조업체를 사용하려면 모든 제조업체를 기내에 설치해야하며 제조업체는 해당 영역에서 전력을 포기하지 않을 것입니다.


3
… 그러나 모듈 형 커널로 ​​배포 한 다음 필요한 것만 설치할 수 있습니다. PC 하드웨어는 버그가있는 CMD640 IDE를 사용하는 펜티엄에서 usb3를 사용하는 Core i7까지 다양합니다. 그들은 장치의 기존 OS에서 VendorISs : DeviceID를 읽는 설치 프로그램을 만든 다음 QEMu에서 커널을 컴파일 한 다음 새로운 것으로 장치로 전송합니다. 사람이 menuconfig를 사용하여 특정 장치에 대해 충분한 커널을 만들 수 있다고하더라도 올바른 스크립트는 아니지만 거의 자동으로 만들 수는 없습니다.
Alex Bolotov

1
@OleksandrBolotov : Linux 커널에는 빌드를 실행할 때 컴파일되는 수많은 오픈 소스 드라이버 구현도 포함되어 있습니다. 모바일 장치에서 사용하는 대부분의 드라이버는 독점적이므로 충분한 시간이 주어진 모든 장치의 소스에서 Android를 빌드 할 수는 있지만 모든 드라이버를 구현해야합니다. 또한 Google은 자체적으로 지적 재산권 계약을 위반 할 수 있습니다 (확실히 모르겠지만 다양한 제조업체와 계약을 맺었을 수 있음).
eldarerathis

2
@OleksandrBolotov 나는 확실히 그들이 문제를 완화하기 위해 무언가를 할 있다는 것에 동의 하지만, 우리는 문제가 그들이 그렇지 않은 이유라고 가정 할 수 있습니다.) 더 추측하는 것은 우리의 범위를 넘어서는 것이라고 생각합니다.
Matthew 읽기

2
예, tl; dr 드라이버 문제입니다. 누군가 드라이버를 만들어야합니다.
Bryan Denny

설계 또는 완벽한 시나리오 그 자체로 커널에는 모든 드라이버가 포함되어 있지만 Android OS는 보편적이지만 둘 다 별도로 플래시하거나 번들로 함께 번들로 플래시 (주로 많이 볼 수 있음) 할 수 있습니다. 커널은 OS에서 분리 된 경우, 우리는에 직접 커널없는 AOSP를 플래시 할 수 있는 제조사 커널이 처음 번쩍 한 장치? 어쩌면 이것은 이미 존재합니까? Idk
Aaron Gillion

3

당신이 요구하는 것을 제공하기 위해, 하드웨어에 덜 밀접하게 연결되도록 추가 계층 (또는보다 강력한)의 추상화 계층 이 운영 체제에 추가되어야합니다. 이를 추가하면 여분의 메모리가 거의없는 플랫폼에서 더 많은 메모리가 필요하고 더 많은 CPU주기가 소비됩니다.


2

오라클과의 Google의 지속적인 소송!

구글은 안드로이드를 PC로 가져올 계획을 가지고 있지만 계획하고있는 것은 아니다. 구글은 안드로이드 실행 환경을 크롬에 추가하려고한다. 안드로이드는 PC에 설치할 수 있도록 많은 작업을 할 수 있었지만 대신 Chrome으로 가져 오면 모든 컴퓨터의 25 %에 즉시 쉽게 배포 할 수 있습니다 (25 %는 Chrome의 시장 점유율).

저를 믿지 않는다면 Google이 현재 소송을 피하기 위해 싸우고있는 흡연 총 전자 메일을보십시오. 이는 Chrome 용 Java가 필요한 Google을 나타냅니다.

나는 그들이 소송을 잃으면 구글이 갑자기 자바를 떨어 뜨릴 것을 제안하지는 않는다-그들은 그렇게하기 위해 자바에 너무 많이 헌신하고있다. 그들은 그것에 대한 의존도를 크게 높일 수있는 조치를 취합니다.


1
구글은 오래 전에 안드로이드 Inc.에 의해 잘못된 결정으로 고통 받고있다. 그것은 새로운 OS에서 앱 개발을 위해 자바를 사용하는 것은 끔찍한 생각이었다. Java가 독점적 인 트랩이며 Dalvik을 위해 비 Java VM 바이트 코드를 만드는 데 필요하지 않다는 것은 분명하지 않았습니다. 나는 그들이 모든 것을 설명하는 반역자가 관리에 있다고 생각합니다.
Alex Bolotov

1
bluestacks.com -Windows 데스크톱에서 실행되는 Android 앱! Chrome에 Android 실행 환경을 추가하는 것이 그리 어렵지 않을 것 같습니다 .
캡틴 두꺼비

2
이 모든 것에 대한 증거가 있습니까 아니면 방금 추측하고 있습니까?
Dan Hulme

확실히,이 답변을 쓴 이후로 많은 변화가있었습니다. 가장 중요한 것은 Pachai가 Rubin을 대체하고 Google의 관련 조직을 대체 한 것입니다. 그 후 모든 징후가 바뀌는 것처럼 보였고 IO13은 IO12와 크게 달랐습니다. 현재 Chrome을 자체 모바일 플랫폼으로 추진하고 있기 때문에 더 이상 Android를 Chrome으로 가져올 것이라고 생각하지 않습니다.
Tom

1

Google 이외의 다른 사람들은 이미 x86 플랫폼으로 포팅 작업을하고 있습니다. 당신이 체크 아웃하는 경우 안드로이드-86 프로젝트 는 다양한 하드웨어 장치의 제한된 수이기는하지만 가능한 빌드 볼 수 있습니다. 몇 가지 이미지를 다운로드하여 내 컴퓨터 (Dell Latitude D520의 Debian 기반의 CrunchBang Linux)의 VirtualBox에서 실행하려고했지만로드 할 수 없었습니다. 그래도 가능할 수도 있습니다. GL!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.