· 今天不聊復雜的技術,就是想做一下科普。我們生活中常見的操作系統,大致有5種分別是
電腦: Windows linux macos
手機 android ios
Windows手機操作系統沒有發展起來,不同的操作系統間軟件不能兼容,Windows可執行文件后綴exe或msi(底層應用程序架構格式是PE),linux可執行文件后綴deb或rpm(底層格式是ELF),macos可執行文件后綴dmg(底層格式elf ),android可執行文件后綴apk(底層格式是DEX和ELF),ios可執行文件后綴IPA(底層格式Mach-O)。底層格式指得是單文件結構,他們有各自的結構但是說白了其實統統都是壓縮包,將一堆指令文件和數據文件打包在一起形成一個單一文件的形式。安裝的過程,就是解包這些文件到指定的正確位置。
最強大的操作系統仍然是windows,不是說win有多么的NB,只是windows+intel=wintel的兩個最佳拍檔目前在軟件生態上已經非常成熟,而其他系統平台的軟件遠不及wintel,但是手機的 arm+android=andarm 拍檔發展迅猛,趕超wintel指日可待
cpu硬件架構有三個 x86 arm mips ,x86架構上運行的主要是電腦端系統,arm主要是手機端系統,mips 主要是家用路由器,家用路由器的系統是私有的固件系統。Windows也有arm架構的,android也有x86架構的,但它們都不火,最近在x86上的macos也要整體遷移到arm架構上來,但linux系統幾乎在任何架構都有身影。
最強大的架構仍然是x86
位數,位數有三種,一種是應用程序的位數,操作系統的位數,cpu位數,應用程序的位數指的是為多少位數的操作系統創建的,操作系統的位數指的是為多少位數的cpu創建的,cpu位數指的是cpu一次讀取處理的數據寬度。應用程序的位數多是64位,操作系統兩者都有,cpu位數x86有32位和主流64位,因為有兩家生產x86cpu的公司一家是intel和amd,intel生產的32位的x86架構叫IA32,64位叫IA64而amd公司的叫amd32和amd64,雖說x86架構是通用架構的但是還是有intel和amd的產品有細微的區別,arm主流32位但目前64位已經出現,arm的32為架構叫做arm32而arm的64位架構叫aarch64表示arm arch 64,mips主流16位。32位程序和64位程序可以安裝在64位操作系統且可以安裝在32位和64位的x86架構上。32位操作系統且可以安裝在32位和64位的x86架構上但是只能安裝32位程序,64位程序不可以安裝。要想發揮最大性能,最好是全64位架構機,即就是64位程序運行在64位cpu的64位操作系統上,
最強大的位數無疑是全64位
RISC與CISC,他們是對cpu而言的,大型unix服務器中cpu常常使用的是RISC,arm cpu也是RISC,其特點就是簡單穩定節能,而x86是CISC的,特點就是復雜強大耗電
開源,操作系統只有linux和android開源,三大cpu硬件架構都不開源,目前出現了一個開源架構是risc-v架構
最強大的開源和應用范圍最廣的無疑是linux
公司,Windows系統有微軟維護,linux沒有公司是由社區和基金會維護,android有google維護,macos、ios有蘋果維護,x86有intel維護,arm有arm公司維護,mips有mips公司維護