CPU位数,一般指CPU支持的指令集位数,32位CPU对应32位的指令集,64位的CPU对应64位的指令集,不过为了向下兼容,64位CPU也支持32位的指令集。

操作系统位数,一般指操作系统对应的指令集的位数,32位操作系统对应32位的指令集,64为操作系统对应64位的指令集,所以32位操作系统既可以装在32位CPU的电脑上也可以装在64位CPU的电脑上,而64位操作系统只能装在64位CPU的电脑上。

另外,32位操作系统的地址总线(相对于操作系统的一个逻辑概念,CPU也有地址总线,此处可将操作系统的地址总线理解为操作系统支持的地址总线的位数)一般为32根,所以寻址空间最大只能到4G,也就是最大只能支持4G的内存,64位的操作系统的地址总线一般为36或者40根,所以可以支持更大的内存,36根的话就是64G。

结合iOS理解

iOS中,系统也分为32位64位,虽然通常的时候我们不提,比如iOS10以下的系统基本都分32位64位,当然iPhone也分为32位64位,当然这里指处理器的位数。比如iPhone 5就是32位,iPhone 6s就是64位的,所以假如iPhone5跟iPhone6s上都装了iOS10,iPhone5上的iOS10就是32位的,iPhone6s上的iOS10就是64位的。

单说一下iOS11,因为iOS11只支持64位,所以只有64位的iPhone才能装iOS11,因此iPhone5是升级不到iOS11上的,iPhone6s就可以,因为它是64位的。

关于app

app也分为32位和64位的,对应到xcode中就是Architecture的类别,arm64 armv7 armv7s之类,arm64就是64位的指令集,armv7和armv7s就是32位的指令集。

理论上32位和64位的app应该是两个app,比如Windows上的程序基本都分32位和64位,32位的应用也可以跑在64位的系统上(但是会单独在一个目录下,program files(x86),64位的程序就在program files目录下)。iOS这里,它在编译的时候会把32位的程序和64位的程序都编进一个.app文件里(编译的时候如果选择多个架构,比如32位64位都支持,也就是armv7,arm64的指令集都支持,那么相应的.app文件也会变大),所以我们只下载一个ipa文件(同时支持32位和64位),它既可以装在32位的iOS系统上也可以装在64位的iOS系统上,32位的iOS系统上跑32位的程序,64位的iOS系统上跑64位的程序(这里我们假设32位的iOS只跑32位的程序,64位的iOS只跑64位的程序,因为理论上64位的iOS也可以跑32位的程序)。但是假设我们下载一个只支持32位的ipa文件(编译的时候只选了armv7或者armv7s,并没有选arm64),它也可以同时被装在32位的iOS上或者64位的iOS上,比如都是iOS10,这个ipa就既可以装在iPhone5的iOS10(32位)上,也可以装在iPhone6s的iOS10(64位)上,因为64位的系统也可以跑32位的程序(因为它也支持32位的指令集)。但是从iOS11(只有64位的系统)开始,系统限制你只能装64位的app,虽然理论上你也可以装32位的app,但是苹果这么规定了,没办法。

OS位数,基本概念,结合iOS的更多相关文章

  1. OS X下开发!ios系统贪食蛇!——from cocos2d-x 3.0

    前几天用cocos2d-x写了个贪食蛇!这次是全然在osx下开发的.基本的思路是这种我建立了一个Snake类,当中有两个构造函数一个是用于存放蛇身体sprite的图片和Snake的X坐标和Y坐标.另外 ...

  2. 地址总线、数据总线、寻址能力、字长及cpu位数等概念之间的关系

    地址总线决定了CPU的寻址能力:数据总线的宽度与字长及CPU位数一致. 详细解释见下文: 1.地址总线与寻址能力 要存取数据或指令就要知道数据或指令存放的位置,地址寄存器存储的就是CPU当前要存取的数 ...

  3. 关于CPU位数,OS位数以及内存大小关系的一点总结

    (这个学期做助教,说来好惭愧啊,虽然我也是考研进来的,但是就在两年前复习的资料居然全部都忘光了.对大二的孩子们提问的问题多半都解决不了!!!越来越觉得自己的学习方法有问题了,总是想着一些知识能够根据自 ...

  4. 从安装Mac OS X虚拟机到第一个IOS程序

    对于纯粹地抄这种行为是比较抵触的,别人已经写得挺好的东西没必要又去写一遍,但如果不写经验来看下次再做时自己又要重复百度筛选一遍,所以还是要记一记. 之前要获取IOS静态库的版本,但一直以来没有Mac没 ...

  5. iOS开发中关于像素的几个概念

    DPI与PPI DPI(Dots Per Inch)是印刷行业中用来度量空间点密度用的,这个值是打印机每英寸可以喷的墨汁点数. 计算机显示设备从打印机中借鉴了DPI的概念,由于计算机显示设备中的原子单 ...

  6. Win10 安装 VMWare中 MAC OS X的安装,VMWare tools的配置与iOS的Helloworld

    iOS的开发必须在MAC OS X系统下进行,这很蛋疼,现在MACBOOK动不动就上千上万大洋,这足够买台配置怪兽了,好吗?然而,我们是可以通过在VMWare中安装MAC OS X进行iOS开发的.对 ...

  7. IOS OS X 中集中消息的传递机制

    1 KVO (key-value Observing) 是提供对象属性被改变是的通知机制.KVO的实现实在Foundation中,很多基于 Foundation 的框架都依赖与它.如果只对某一个对象的 ...

  8. iOS真机调试引入第三方库(如友盟等)编译时候,出现错误提示

    用Xcode 7 beta 3在真机(iOS 8.3)上运行一下工程,结果发现工程编译不过.看了下问题,报的是以下错误: MARK:解决方法:在building Setting 中设置bitCode ...

  9. [No000037]操作系统Operating Systems操作系统历史与硬件概况History of OS & Summaries!

    培根:读史使人明智 操作系统的简史 (1955-1965) 计算机非常昂贵,上古神机IBM7094 ,造价在250万美元以上 计算机使用原则:只专注于计算 批处理操作系统(Batch system) ...

随机推荐

  1. jQuery的效果

    jQuery的效果也是极其强大的 学习方法的三要素   功能 参数 返回值 fadeout() 由可见过渡到隐藏 三个参数 第一个参数:毫秒(过渡的周期) 第二个参数:匀速(过渡的效果) 第三个参数: ...

  2. es6数组的方法

    1.复习的函数 函数是由关键字function声明的,他是一个引用数据类型,是Function的实例,在调用的时候会开辟一个私有空间 2.函数的成员 arguments:null  (是实参构成的数组 ...

  3. acl的基本知识点

    #ACL         acl number 3001 rule 1 deny udp destination-port eq 445 rule 2 deny tcp destination-por ...

  4. centos7.0下增加swap分区大小

    承接上篇文章扩容磁盘空间后增加根分区的大小后,来扩容swap分区的空间 检查当前的swap分区情况 # free -m # free -g [root@localhost ~]# free -m to ...

  5. ueditor 正在读取目录

    ueditor 版本为1.3.6  项目版本为2.0 引用 <script src="../ueditor/ueditor.config.js" type="tex ...

  6. Nginx开启Gzip详解

    最近生产上发生了一些问题,原先所有的静态资源文件都是经过gzip压缩的,然而这几天突然都没有压缩了,经过一顿排查,发现是Nginx的配置有问题,借此机会详细了解了Nginx的Gzip配置. 1. Ng ...

  7. CentOS之Shell文件编写基础

    shell文件以.sh结尾,这是一种习惯而已.第一行以#! /bin/bash开头:表示该文件使用的是bash语法: 如果不设置该行,你的shell脚本也可以执行,但是不符合规范.#表示注释. # v ...

  8. Windows下sbt安装配置

    1.下载sbt1.2.8 官网:https://sbt-downloads.cdnedge.bluemix.net/releases/v1.2.8/sbt-1.2.8.tgz 2.配置环境 #SBT_ ...

  9. 备用DNS域名服务器

    DNS:1.34.151.129,域名:www#eliuliang#com, 个人用解析地址,请勿使用.

  10. 关于HSTS

    HSTS(HTTP Strict Transport Security) 当用户在浏览器中输入一个域名,如果没有注明前缀(也就是没输入"http"的时候)的时候,浏览器会默认按照h ...