軟體相容性的定義及操作系統對比: 向上(下)相容指的是按某檔機器編製的軟體,不加修改就能運行於比它高(低)檔的機器上。 向前(後)相容指的是按某個時期投入市場的該型號機器上編製的軟體,不加修改就能運行於比它前(後)投入市場的機器上。 目前市面上流行的操作系統有:windows、linux、mac、a ...
軟體相容性的定義及操作系統對比:
向上(下)相容指的是按某檔機器編製的軟體,不加修改就能運行於比它高(低)檔的機器上。
向前(後)相容指的是按某個時期投入市場的該型號機器上編製的軟體,不加修改就能運行於比它前(後)投入市場的機器上。
目前市面上流行的操作系統有: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厚款 冥王峽谷
虛擬程式包括操作系統虛擬機、解釋型語言虛擬機、容器(如docker)
所有解釋型語言都有自己的虛擬機,常見的有:java虛擬機、python虛擬機、.net CLR ,Android系統的解釋語言虛擬機過去是Dalvik,Dalvik在應用每次運行時都會執行轉換機器碼操作,到了5.0以上換成了ART(Android Runtime),ART應用在第一次安裝的時候,位元組碼就會預先轉換成機器碼
Docker 是一個應用容器,可以打包應用以及依賴包到一個可移植的鏡像中,在主流的操作系統上運行這些應用,和操作系統虛擬機的區別是,容器更輕量級,是直接運行在操作系統之上的,而操作系統虛擬機在虛擬層之上運行了一個完整的操作系統,再在上面運行軟體。
虛擬機分為硬體級模擬和軟體級模擬
硬體級會開啟CPU的VT特性,能夠模擬的指令集架構和自身CPU架構類似,具有速度快,精度高的優點,如Virtual PC、 VMware、VirtualBox等。
軟體級模擬通過1到N條指令的程式實現模擬的指令,速度比較慢,但可以模擬不同指令集架構,具有無以倫比的可移植性,QEMU和Bochs 屬於軟體模擬
某些外掛或者惡意程式會檢測自身是否在虛擬機中運行以對抗分析,一個比較奇葩的檢測方法是檢測壁紙是不是系統預設壁紙
安卓模擬器是基於虛擬機的安裝的操作系統,常用的有逍遙安卓模擬器,genymotion、bluestacks等,一些游戲機模擬器也是這樣的。
在某種操作系統上運行另一種操作系統的軟體的方案有如下幾種:
wine是一個能夠在多種 POSIX-compliant 操作系統(如 Linux)上運行 Windows 應用的相容層
MinGW是著名C/C++編譯器GCC的Windows版本
Cygwin是一個在windows平臺上運行的類UNIX模擬環境
WSL Windows Subsystem for Linux