android是32-bit系统还是64-bit系统

转自:http://www.cnblogs.com/pengwang/archive/2013/03/11/2954496.html

电脑CPU分32位和64位,这个我们都知道。用了这么长时间的android手机,突然有个疑问:android OS运行在多少位的CPU上呢?

  android应用程序是基于Dalvik VM运行的,像JVM一样,DVM也是32位的,这个与底层物理机器无关。当然,带有native二进制文件的andriod应用程序,其native文 件是与底层构架密不可分的。最常见的是ARM-32位构架,也还有运行在x86,MIPS构架上的设备。

总的来说,现在的android手机都是运行在32位CPU上的,ARM在2012年底的时候才发布第一个64位的版本,Cortex-A50,预计2014年在市场上发售。

  可以通过以下实验验证

  从手机中任意导出ARM的二进制文件,比如/system/bin中的一些个文件,/system/bin/dalvikvm,使用命令file dalvikvm查看文件类型,结果如下:

dalvikvm: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped

继续查看动态链接库文件/system/lib/libandroid_runtime.so,使用file命令,结果如下:

libandroid_runtime.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped

文件类型都是32位elf格式

相关链接:http://android.stackexchange.com/questions/36291/is-android-a-32-bit-or-64-bit-os

时间: 2024-11-10 17:08:18

android是32-bit系统还是64-bit系统的相关文章

C# 32位程序在64位系统下注册表操作

在64位的Windows操作系统中,为了兼容32位程序的运行,64位的Windows操作系统采用重定向机制.目的是为了能让32位程序在64位的操作系统不仅能操作关键文件文夹和关键的注册表并且又要避免与64位程序冲突 相关资料请查看32位程序在64位系统下运行的重定向机制 下面是以获取操作系统安装密匙KEY的案例: using System; using System.Collections.Generic; using System.Linq; using System.Text; using

32位程序在64位系统上获取系统安装时间(要使用KEY_WOW64_64KEY标记)

众所周知,取系统的安装时间可取注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion的子项InstallDate,此值是个DWORD类型的UnixStamp.  但是在64位系统上有所不同(仅测试了win7.win8),默认情况下32程序在64位机器上访问的是下面这个地址HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion

32位程序访问64位系统上的Windows注册表

今天在工作的过程中遇到个奇怪的为问题,就是通过c#获取注册表键值的问题,一般都比较简单: string SQLPath = string.Empty; RegistryKey hkml = Registry.LocalMachine; RegistryKey MSSQLServerKey = hkml.OpenSubKey(@"SOFTWARE\MICROSOFT\MSSQLServer"); if (MSSQLServerKey != null) { string[] keys =

32位系统与64位系统

64位系统已经非常普及了,因此我们写代码的时候,了解32位与64位系统的编码差异就显得很重要了.我用的计算机是win10,64位,之前对于任务管理器里的进程32和64分不清,而且对于System32与SestemWow64两个文件夹也时常搞错,今天看书查资料才终于弄懂一些. 64位系统有两个System目录,C:\Windows\System32和C:\Windows\SysWOW64,前者主要包含64位系统文件,后者目录下主要是32位系统文件,这个跟它们名字里的数字刚好是相反的(困扰我好长时间

关于32位程序在64位系统下运行中需要注意的重定向问题(有图,很清楚)

0x00 前言 最近学习了[email protected]的文章<Persistence Architecture Matters>,恰巧解决了我之前遇到过的一个问题,理清了文件和注册表重定向中需要注意的细节 大家在学习的过程中难免也会碰到,所以在此分享一下. <Persistence Architecture Matters>的链接:https://labs.mwrinfosecurity.com/blog/persistence-architecture-matters/ 0

iOS上应用如何兼容32位系统和64位系统

在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针的寻址范围还是16位的.当年用TurboC时,还要根据应用的大小选择是tiny模式还是其他.后来很长一段时间使用32位的模型编程,4G是牢牢记住的一个边界条件.而现在,64位走到了眼前. 就如同16位转向32位一样,硬件肯定是最先推出的,SDK也会跟进,然后各种第三方的应用才会逐步跟进,这个过程一般

32位系统与64位系统的区别

CPU一次处理数据的能力是32位还是64位 32操作系统 64位操作系统 地址总线 32位 64位 内存寻址空间(内存大小) 2的32次方bit=4G 2的64次方约为1亿GB 设计初衷 普通用户 满足机械设计和分析.三维动画.视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求 运算速度不同 32位(需要四个指令,一次提取4个字节的数据) 64位CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集

32位系统和64位系统的选择

作为一名网络管理员,经常会给办公电脑安装系统,但是大部分企业的办公电脑配置一般不会很高.在选择系统的时候可能需要注意一些问题. 随着XP的淘汰,可能大家都会选择更新到win7,之前2GB内存会考虑增加到4GB内存,那可能就会考虑居然内存有4GB了,是不是需要安装64位的Win7,以充分利用内存. 这还是要看电脑的配置情况,个人认为如果CPU是i3以上,安装64位系统没有问题,但是如果是比较老的电脑,CPU是普通双核的,最好就安装32位系统就可以了,不然的话,安装64位的系统,CPU会很吃力,电脑

如何判断系统是否64位系统

随着64位系统的流行,在程序开发过程中,经常需要根据不同位数的操作系统做不同的操作,这就需要在程序运行过程中判断操作系统位数. 在64位系统Kernel32核心动态库中,提供了 IsWow64Process API函数,而在32系统中则没有,我们可以通过这个函数来进行判断,下面是判断方法: BOOL IsX64() { #ifdef _WIN64 return TRUE; #else typedef BOOL (WINAPI *PFIsWow64Process) (HANDLE, PBOOL);

32位操作系统与64位操作系统内存比较

简单理解,就是说32位还是64位,或者是其它位.是指总线,不是指CPU. 32位的总线,只能识别到4G内存,再大的内存,因为没有编址空间了,所以不能使用.而64位理论上可以使用16EB的内存,但实际上支持不了,因为受总线限制. 虽然说我们在理想之中对于64机器内存的设想是2的64次方字节,具体的大小应该是在16EB(这是一个十分大的寻址范围,如果用GB表示的话,大约就是160亿GB),但是我们在现实之中是见不到这样大的存储器的,更令人可悲的是就算是64的CPU其寻址范围也不是我们在上文之中提到的