從一次換機器的過程談軟硬件的分離

今天把在公司使用的計算機更換了一臺,原來是Dell的780,換成了Dell的790,機箱的樣子變化比較大,但是里面硬件的配置變換并不大,最明顯的變化就在于CPU,其他像內存、硬盤等等的配置與原來的計算機基本上一致。

作為開發人員,每次更換計算機的過程都會比較痛苦,因為需要把里面存儲的很多資料都要移動到新的計算機中,而且很多軟件都需要重新安裝和配置,上次因為更換系統,差不多一天的時間就耗費進去了。

因為這次看到型號上相差不大,只差了10嗎,哈哈,所以就像是否可以直接通過更換硬盤的方式來做,這樣就不需要折騰了。有人對此表示質疑,因為他有過一次失敗的經歷,直接就藍屏了,但是不試怎么知道,而且就算失敗了,花費的也只有差不多一個小時,而如果成功,節省的將是大半天的時間,所以衡量一下風險和收益,還是值得試一下的。

說干就干,拆開機箱,把兩塊硬盤都拆下來,然后把舊硬盤換到新機器里面,開機,啟動失敗。

想到BIOS里面好像有個硬盤的設置,修改一下,然后啟動,直接進入到安全模式,之后硬盤一頓狂閃,估計是把能夠自動安裝上的驅動程序都驅動上了,然后順利進入了系統。再次重啟,用U盤復制了新機器的驅動程序,重新安裝一下,全部OK了。計算一下時間,不到一個半小時,竟然就成功更換了。

由此想到前幾天看到的一個話題,就是軟件和硬件之間的分離,如果說軟件和硬件之間耦合非常嚴重,一些軟件只能夠在特定的硬件上運行,那么必定會大大限制軟件的使用。相反,如果軟件可以和硬件分離,沒有耦合的關系,那么就可以達到到處運行的目的。

當年的Java正是通過虛擬機的技術實現了軟硬件的解耦,甚至于是軟件與操作系統之間的解耦,也正是因為Java號稱的“一處編譯,到處運行”,才使得它能夠有今日的成功。

然而,如果不能夠做好這個用來解耦的中間層的話,我們就需要付出性能或者可用性方面的代價,甚至于可能對于一些特殊的情況不得不采用針對專門硬件的軟件,才能夠真正達到特定的需求。然而,對于大多數情況來說,達到軟硬件的解耦,益處還是要大于壞處的。

當前的移動開發方面也是一樣,很多native的應用都無法實現軟件與硬件或者說操作系統很好的解耦,我們不得不針對每種硬件都開發專門的應用來適應它,而不是開發一種程序就可以在各個移動終端或者設備上運行。而HMTL5的出現,似乎給大家帶來了一些福音,畢竟所有操作系統上的瀏覽器都采用了相同的協議,這樣只要是符合這個標準的web應用就都可以在瀏覽器中平滑地運行。從而在某種程度上達到開發一次,到處運行的效果。

其實,在軟件和硬件的歷史上,總是有人糾結在耦合、分離(解耦)的問題上,總是希望能夠找到比較好的解決方案來解放開發人員,也正是因為如此,我們的技術才會不斷地進步和提升,呵呵。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451224.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451224.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451224.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

知其所以然~redis的原子性

原子性 原子性是數據庫的事務中的特性。在數據庫事務的情景下,原子性指的是:一個事務(transaction)中的所有操作,要么全部完成,要么全部不完成,不會結束在中間某個環節。 對于Redis而言&#xf…

JoinPoint的用法

JoinPoint 對象 JoinPoint對象封裝了SpringAop中切面方法的信息,在切面方法中添加JoinPoint參數,就可以獲取到封裝了該方法信息的JoinPoint對象. 常用api: 方法名功能Signature getSignature();獲取封裝了署名信息的對象,在該對象中可以獲取到目標方法名,所屬類的Class等信息…

解決 No projects are available for deployment to this server!

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 如題,今天在嘗試部署從SVN上down下來的項目時,發現不能被tomcat識別成web項目!原因是SVN上down下來的…

地大信工成果快報

在成果快報投稿中,請注意以下幾個問題:(1)成果信息一定要準確、全面,所有作者必須都要列出來,而不要出現et al. 這樣的表述,通訊作者一定要用*號標注;(2)成果…

javaBean的命名規則

前段時間,寫程序時,出了錯誤,竟然沒有想到是自己屬性命名的問題,哎~~~真是一定要注意規范呀,在這里我從網上找了些,規范作為參考 Sun 推薦的命名規范 1 ,類名要首字母大寫,后面的單詞…

volatile的應用

volatile,中文意思是不穩定的、反復無常的,用來修飾變量,和多線程、并發有關系。 Java代碼在編譯后會變成Java字節碼,字節碼被類加載器加載到JVM里,JVM執行字節碼,最終需要轉化為匯編指令在CPU上執行。 在多…

漫談國內智能手機市場現狀

本文純屬一時興起,想到哪兒寫到哪兒,本人文筆也不咋地,寫的也比較隨意,如有錯誤歡迎指正,有啥意見歡迎交流。原創文章,轉載注明emouse的技術專欄。 我是一個不折不扣的數碼愛好者,對電腦手機這些…

【刷題】BZOJ 4195 [Noi2015]程序自動分析

Description 在實現程序自動分析的過程中,常常需要判定一些約束條件是否能被同時滿足。 考慮一個約束滿足問題的簡化版本:假設x1,x2,x3,…代表程序中出現的變量,給定n個形如xixj或xi≠xj的變量相等/不等的約束條件,請判定是否可以分別為每一個…

mysql 5.5 安裝配置方法圖文教程

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 回憶一下mysql 5.5 安裝配置方法,整理mysql 5.5 安裝配置教程筆記,分享給大家。 MySQL下載地址:htt…

git解除與遠程分支的關聯

在工作中,經常需要將同一份代碼傳到不同的git倉庫中去 如果本地同樣一份代碼,已經關聯了一個與遠程分支,那么怎么才能解除原程分支,并關聯到一個新的分支將代碼提交到新的分支上去呢? 1、如果你已經在遠程創建了一個分…

FindWindow用法

函數功能:該函數獲得一個頂層窗口的句柄,該窗口的類名和窗口名與給定的字符串相匹配。這個函數不查找子窗口。在查找時不區分大小寫。 函數型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName&#xff0…

中國大城市政治地位綜合實力排名

中國大城市政治地位綜合實力排名! 中國大城市政治地位綜合實力排名!政治地位: 政治地位: 1(直轄市 4 個):上海、北京、天津、重慶 2(副省級城市 15 個):廣州、深圳、武漢、南京、沈陽…

sourcemap總結

sourcemap在線上壓縮文件調試中很重要,在此總結如下: 1. 開啟sourcemap (1). 瀏覽器要開啟source-map支持(2). 壓縮文件底部要有source-map的URL,壓縮要開啟source-map(3). .map文件要放在服務器,source-map URL指向的位置 2. sou…

navicat 導出的sql文件,再導入,運行SQL文件成功,數據庫中卻沒有表

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 問題描述:本來在數據庫上右鍵 ,運行SQL文件 ,就可以導入 sql ,建表成功,并且數據也該的…

mysql索引之二級索引學習總結

二級索引又稱輔助索引、非聚集索引(no-clustered index)。b&#xff0b;tree樹結構。然而二級索引的葉子節點不保存記錄中的所有列&#xff0c;其葉子節點保存的是<健值&#xff0c;(記錄)地址>。好似聚集索引中非葉子節點保存的信息&#xff0c;不同的是二級索引保存的是…

264,avs中Skip宏塊與Direct預測模式 ,對稱模式的區別

1. B_Skip類型宏塊 &#xff1a;無像素殘差&#xff0c;無運動矢量殘差&#xff08;MVD&#xff09;和參考幀。解碼時&#xff0c;通過Direct預測模式&#xff08;時間或空間&#xff09;計算出前、后向MV后&#xff0c;直接利用前、后向MV得到像素預測值。像 素重構值像…

【hdu 6444】Neko's loop

【鏈接】 我是鏈接,點我呀:) 【題意】 給你一個序列. 你可以選擇起點i。 然后每次往右跳k次。 得到下一個值a[ik];。 問你跳m次能得到的最大值ma是多少。 如果>s輸出0 否則輸出s-ma; 【題解】 最后肯定會形成gcd(n,k)個環的。 對于每個環(長度為cnt。 預處理出從1..2cnt的…

高性能MySQL之Count統計查詢

近一段時間&#xff0c;有同事問我 “MySQL執行count很慢&#xff0c;有沒有什么優化的空間”。當時在忙&#xff0c;就回復了一句“innodb里面count統計都是實時統計&#xff0c;慢一些是正常的”&#xff0c; 周末閑暇下來&#xff0c;想到以前有好多人都問過關于count的問題…

js轉換字符串為base64位

在window對象下有兩個api,可以對ASCII編碼進行編譯,得到base64位的字符串 btoa:編碼為base64atob:解碼為ASCII碼此種方法不能對中文進行操作,因為ASCII碼中沒有中文,如果編碼會得到亂碼 要編碼中文可以先用encodeURIComponent() 對字符串進行轉義,轉義后再btoa()成base64就可以…

java 文件下載,中文表名,中文內容

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 RequestMapping("userDownloadTemplet")private void userDownloadTemplet(HttpServletRequest request,HttpServletResponse …