為什麼操作系統一次只能安裝一個程序?
有很多程序的安裝非常耗費時間,而查看後台其資源消耗又不多,那麼這個時間就是浪費了。為什麼不能設計成有需要的時候,比如在重裝系統之後,需要恢復大量的程序,在安裝大程序(比如VS CATIA等)時,同時安裝一些小軟體比如qq迅雷之類呢
包括安卓也是一樣,雖然可以同時開很多安裝進程,不過也是等前一個安裝好了後一個再自動接上,很浪費時間的啊
就說windows,系統層面,有些安裝過程需要使用Windows系統的PendingFileRenameOperations機制,用來替換正在使用中的文件,真正的替換會發生在下一次重啟。那麼這樣的機制是不允許兩個同時做的,如果已經有一個PendingFileRenameOperation還在等著重啟生效,需要再使用這個機制的安裝程序就會報錯,這個錯誤大概是說「有一個尚未完成的安裝。。。請重新啟動。。。」之類的,應該都見過。
App層面安裝框架(setup framework)也完全可以自己設計一個鎖機制只允許一個實例運行。你說為什麼要這麼做?因為這樣簡單啊,設計簡單,測試簡單,不用考慮並發下的各種競爭邏輯。當然每個安裝框架可以自己決定要不要這麼做,這和操作系統無關了。
其實傳統安裝程序基本都是disk IO intensive的(包括註冊表操作),同時跑n個並沒有多大性能優勢。
前提:
安裝程序可能受限。不用安裝程序就沒有限制。簡述:
Windows下msi格式的安裝程序有並行限制。Inno、Nsis、Wise等不依賴Windows Installer服務的安裝程序無限制。另外msi可通過域策略自動部署到全公司的電腦。Mac上雖然有pkg格式。但軟體大多使用不需要安裝程序的dmg格式。
Linux包管理系統為避免衝突通常不考慮並行安裝。包管理之外出問題用戶自行解決。Windows上凡是用MSI實現的安裝程序都可以用命令行調用,所有參數都可以預先填好,你寫個bat文件挨個裝然後不要管他自己上網就好了。
在單核時代,CPU密集型操作的並發執行毫無意義,乾脆限掉,省去很多代碼解決並發問題
在機械硬碟/光碟時代,磁碟密集型操作的並發執行毫無意義,省去很多代碼解決並發問題時間來到現在,誰知道那幫孫子在「不會同時安裝」這個假設下寫過什麼代碼,為了安全,繼續一次只能安裝一個好了,反正用戶習慣了
因為windows的安裝並不是拷貝幾個文件那麼簡單
有好多東西都需要調用系統功能,而這些調用之間不能有衝突,所以為了簡單就設置成只允許一個運行先說是不是再說為什麼啊。。。
什麼時候Windows成了一次只能安裝一個軟體?
你讓諸多非msi安裝程序的軟體自廢武功嗎?我看了三遍題目確定你沒有在用linux。
並不一定啊,驅動我都敢n開安裝
domain policy 自動部署,一次安幾十個不成問題啊。下班回家 第二天打開電腦發現 補丁打好了 office 裝好了,殺毒軟體裝好了。網路磁碟幫你映射好了,
是windows一次只能安裝一個,原因是windows把桌面程序的各種服務,資源都集中管理(這樣微軟才能作為管理者達到最大的商業利益),所以就造成很多程序要公用一個xxxx資源,然後如果你如果同時安裝一堆這種程序,亂序覆蓋了這些xxxx資源,就掛了。但是這不是必須的,只要軟體的作者別去用這些奇葩的東西就可以了。比如你可以在windows上同時安裝一百個版本的eclipse,既不需要重啟,也不擔心衝突。
先搞明白1.為什麼要安裝程序?2.安裝程序做了哪些事?3.安裝程序和直接拷貝有什麼區別?
win上我經常五六個程序一起裝呀,mac上也是同樣
就沒有人認為提問有問題嗎?。。。實際上WINDOWS有些軟體就是能2個、多個同時安裝的。
地就那麼大?你蓋完了一幢還想再蓋一幢?
題目有誤!參見window CE系統,魅族M8
偽命題 naive啊
誰說的?一個應用只是一些可執行文件和一堆配置,幾個應用只是更多可執行文件和更多配置。一羊也趕,倆羊也放。
我明明在安裝一個遊戲的同時安裝了百度管家騰訊管家大舔屎之賤
沒聽說過操作系統有這樣的硬性限制。OS X直接拷貝多個程序即可,win也可以安裝在不同目錄。至於覆蓋 是安裝程序自己搞的鬼
應該是安裝程序時有些關鍵的數據需要在獨佔情況下更新。以Debian Linux舉例,它的APT系列安裝工具會分析軟體依賴,安裝軟體的時候它會分析系統中現有的程序、庫,決定下載和安裝哪些依賴。如果此時有另外一個apt程序卸載、安裝了新軟體,它會更新軟體庫,導致前一個apt工具得到的數據不復正確。有可能出現軟體系統紊亂,進而導致系統崩潰的風險。
在這個前提下,軟體安裝過程只能是串列的,至少一部分是串列的。比如說在Debian Linux下,雖然可以aptitude install a b c d e
這樣來同時安裝 a b c d e,但是它們在具體的執行過程中是串列下載和串列安裝的,沒有實現題主所說的「同時安裝」。
如果你只是想解決恢復的問題,可能備份系統是更好的選擇,或者用bat/shell批量安裝。但是它們還是串列安裝的。沒見過windows有這種限制
推薦閱讀:
※adobe reader用滑鼠滾輪滑動頁面速度很慢?
※windows下有哪些錄屏軟體推薦?
※如何有效率地、循序漸進地閱讀開源軟體代碼?
※CS 和 BS 架構的優缺點分別是什麼?
※Win7下面的拖動窗口到左/右側自動對齊的功能在XP下面能夠通過軟體來實現嗎?