谈软件兼容性与系统平台

软件兼容性的定义及操做系统对比:

向上(下)兼容指的是按某档机器编制的软件,不加修改就能运行于比它高(低)档的机器上。
向前(后)兼容指的是按某个时期投入市场的该型号机器上编制的软件,不加修改就能运行于比它前(后)投入市场的机器上。
目前市面上流行的操做系统有:windows、linux、mac、android、ios
Windows的特色就是兼容性强,几乎全部硬件驱动都是优先适配Windows的,Windows的向后兼容使得它知足几乎全部类型用户的需求,假如Windows不能向后兼容就不会像如今这么流行
linux是免费开源的,通常用于无界面的服务器应用,在学术界和工业上应用比较多
mac和ios界面漂亮系统稳定安全性较好,软件生态完善,Android市场占有率有绝对优点,目前存在系统碎片化的问题
PS:WIN10高分辨率下开DPI缩放已经对4k支持比较好了,如今HTML5能较好的兼容手机与PC的浏览体验。Windows(\r\n)与Linux换行符(\n) 目录斜杠win() linux(/)。64位的系统上能够运行64位和32位的软件,32位系统只能运行32位软件。黑苹果Hackintosh能够上 NUC8i5BEH厚款 冥王峡谷java

虚拟程序包括操做系统虚拟机、解释型语言虚拟机、容器(如docker)

全部解释型语言都有本身的虚拟机,常见的有:java虚拟机、python虚拟机、.net CLR ,Android系统的解释语言虚拟机过去是Dalvik,Dalvik在应用每次运行时都会执行转换机器码操做,到了5.0以上换成了ART(Android Runtime),ART应用在第一次安装的时候,字节码就会预先转换成机器码
Docker 是一个应用容器,能够打包应用以及依赖包到一个可移植的镜像中,在主流的操做系统上运行这些应用,和操做系统虚拟机的区别是,容器更轻量级,是直接运行在操做系统之上的,而操做系统虚拟机在虚拟层之上运行了一个完整的操做系统,再在上面运行软件。python

虚拟机分为硬件级模拟和软件级模拟

硬件级会开启CPU的VT特性,可以模拟的指令集架构和自身CPU架构相似,具备速度快,精度高的优势,如Virtual PC、 VMware、VirtualBox等。
软件级模拟经过1到N条指令的程序实现模拟的指令,速度比较慢,但能够模拟不一样指令集架构,具备无以伦比的可移植性,QEMU和Bochs 属于软件模拟
某些外挂或者恶意程序会检测自身是否在虚拟机中运行以对抗分析,一个比较奇葩的检测方法是检测壁纸是否是系统默认壁纸
安卓模拟器是基于虚拟机的安装的操做系统,经常使用的有逍遥安卓模拟器,genymotion、bluestacks等,一些游戏机模拟器也是这样的。linux

在某种操做系统上运行另外一种操做系统的软件的方案有以下几种:
wine是一个可以在多种 POSIX-compliant 操做系统(如 Linux)上运行 Windows 应用的兼容层
MinGW是著名C/C++编译器GCC的Windows版本
Cygwin是一个在windows平台上运行的类UNIX模拟环境
WSL Windows Subsystem for Linuxandroid

相关文章
相关标签/搜索