컴퓨터 지식 네트워크 - 컴퓨터 소프트웨어 - 일반적으로 우리는 Windows 시스템을 직접 설치하고 시스템을 직접 다운로드합니다. 기본적으로 모든 컴퓨터에 동일한 시스템을 설치할 수 있습니다. 왜

일반적으로 우리는 Windows 시스템을 직접 설치하고 시스템을 직접 다운로드합니다. 기본적으로 모든 컴퓨터에 동일한 시스템을 설치할 수 있습니다. 왜

Zhihu에서 답변되었습니다:

Android ROM을 플래시할 수 없는 이유는 분명히 하드웨어가 다르기 때문이며, 하드웨어마다 다른 드라이버가 필요합니다. 드라이버는 일반적으로 하드웨어 공급업체에서 제공하는 Android 커널에 있으며 통합 및 최적화를 위해 OEM에 전달됩니다. 이러한 드라이버는 주류 Linux 커널에 제출되지 않았습니다. 첫째, 엄청난 양의 코드 때문입니다(시장에 몇 세대의 휴대폰 장치 하드웨어가 있는지 상상해 보십시오). 둘째, 주류 커널의 긴 수용 주기 때문입니다. Google에서 Android용으로 개발한 코드는 오늘날에도 여전히 사용되고 있습니다). 따라서 커널 GPL 계약의 제약 조건에 따라 OEM은 특정 모델에 맞게 조정된 커널 소스 코드를 별도로 릴리스하기로 선택합니다. 또한, OEM마다 사용하는 부트로더가 다르고, 같은 회사라도 커널을 로딩하는 베이스 주소가 다릅니다. 불행히도 기본 주소는 커널에 하드 코딩되어 있습니다. 따라서 다른 장치의 커널 이미지를 플래시하면 Android 장치를 부팅할 수 없을 것이라고 99% 확신합니다. xD

마더보드와 주요 보조 하드웨어 드라이버가 다르게 구현되기 때문에 시스템의 해당 추상화 계층 드라이버(예: HAL, 사용자 공간이 커널과 통신하고 커널에서 리소스를 적용하는 데 사용됨) 달라야합니다. 그러나 HAL에 관한 다양한 버전의 Android 문서에는 프레임워크 설명, 즉 HAL이 구현해야 하는 인터페이스, 충족해야 하는 요구 사항 등이 있습니다. 따라서 HAL 코드 구조는 거의 동일하지만 세부 사항이 다릅니다. 그러나 HAL은 커널과 밀접하게 연결되어 있어 브러싱될 수 없습니다.

하드웨어 독립적인 부분(예: dalvik 가상 머신 또는 볼 수 있는 프레임워크 및 패키지)은 일부 최적화 또는 크기 조정을 제외하고는 일반적으로 보편적입니다.

제가 아는 한, 소위 '시스템을 먼저 설치한 후 드라이버를 설치하는' 모델은 아직 탄생하지 않았습니다. PC의 하드웨어도 다르지만 시스템 커널은 하드웨어 드라이버를 통합합니다. PC의 하드웨어는 오랫동안 개발되어 비교적 안정적입니다. 주류 Linux 커널에 관한 한, 코드의 대부분을 차지하는 드라이버는 마더보드/프로세서/그래픽 카드/사운드 카드 등을 포함하여 대부분 PC용으로 작성되었습니다. Android 임베디드 장치의 하드웨어는 너무 빠르게 업데이트되어 주류 커널이 이를 "소화"할 수 없습니다. 따라서 아직 통일된 상황이 형성되지 않았으며 그러한 추세도 없습니다.

그러나 반면에 커널이 적절하게 조정된다면 PC 이식 버전의 Android도 물론 플래시할 수 있습니다.

上篇: 청두 유휴 냉장고 처리 下篇: 밸런타인데이에 어떤 꽃을 선물하면 좋을까, 여자친구에게 어떤 꽃을 선물하면 좋을까
관련 내용