今天把在公司使用的计算机更换了一台,原来是Dell的780,换成了Dell的790,机箱的样子变化比较大,但是里面硬件的配置变换并不大,最明显的变化就在于CPU,其他像内存、硬盘等等的配置与原来的计算机基本上一致。
作为开发人员,每次更换计算机的过程都会比较痛苦,因为需要把里面存储的很多资料都要移动到新的计算机中,而且很多软件都需要重新安装和配置,上次因为更换系统,差不多一天的时间就耗费进去了。
因为这次看到型号上相差不大,只差了10吗,哈哈,所以就像是否可以直接通过更换硬盘的方式来做,这样就不需要折腾了。有人对此表示质疑,因为他有过一次失败的经历,直接就蓝屏了,但是不试怎么知道,而且就算失败了,花费的也只有差不多一个小时,而如果成功,节省的将是大半天的时间,所以衡量一下风险和收益,还是值得试一下的。
说干就干,拆开机箱,把两块硬盘都拆下来,然后把旧硬盘换到新机器里面,开机,启动失败。
想到BIOS里面好像有个硬盘的设置,修改一下,然后启动,直接进入到安全模式,之后硬盘一顿狂闪,估计是把能够自动安装上的驱动程序都驱动上了,然后顺利进入了系统。再次重启,用U盘复制了新机器的驱动程序,重新安装一下,全部OK了。计算一下时间,不到一个半小时,竟然就成功更换了。
由此想到前几天看到的一个话题,就是软件和硬件之间的分离,如果说软件和硬件之间耦合非常严重,一些软件只能够在特定的硬件上运行,那么必定会大大限制软件的使用。相反,如果软件可以和硬件分离,没有耦合的关系,那么就可以达到到处运行的目的。
当年的Java正是通过虚拟机的技术实现了软硬件的解耦,甚至于是软件与操作系统之间的解耦,也正是因为Java号称的“一处编译,到处运行”,才使得它能够有今日的成功。
然而,如果不能够做好这个用来解耦的中间层的话,我们就需要付出性能或者可用性方面的代价,甚至于可能对于一些特殊的情况不得不采用针对专门硬件的软件,才能够真正达到特定的需求。然而,对于大多数情况来说,达到软硬件的解耦,益处还是要大于坏处的。
当前的移动开发方面也是一样,很多native的应用都无法实现软件与硬件或者说操作系统很好的解耦,我们不得不针对每种硬件都开发专门的应用来适应它,而不是开发一种程序就可以在各个移动终端或者设备上运行。而HMTL5的出现,似乎给大家带来了一些福音,毕竟所有操作系统上的浏览器都采用了相同的协议,这样只要是符合这个标准的web应用就都可以在浏览器中平滑地运行。从而在某种程度上达到开发一次,到处运行的效果。
其实,在软件和硬件的历史上,总是有人纠结在耦合、分离(解耦)的问题上,总是希望能够找到比较好的解决方案来解放开发人员,也正是因为如此,我们的技术才会不断地进步和提升,呵呵。
今天把在公司使用的计算机更换了一台,原来是Dell的780,换成了Dell的790,机箱的样子变化比较大,但是里面硬件的配置变换并不大,最明显的变化就在于CPU,其他像内存、硬盘等等的配置与原来的计算机基本上一致。
作为开发人员,每次更换计算机的过程都会比较痛苦,因为需要把里面存储的很多资料都要移动到新的计算机中,而且很多软件都需要重新安装和配置,上次因为更换系统,差不多一天的时间就耗费进去了。
因为这次看到型号上相差不大,只差了10吗,哈哈,所以就像是否可以直接通过更换硬盘的方式来做,这样就不需要折腾了。有人对此表示质疑,因为他有过一次失败的经历,直接就蓝屏了,但是不试怎么知道,而且就算失败了,花费的也只有差不多一个小时,而如果成功,节省的将是大半天的时间,所以衡量一下风险和收益,还是值得试一下的。
说干就干,拆开机箱,把两块硬盘都拆下来,然后把旧硬盘换到新机器里面,开机,启动失败。
想到BIOS里面好像有个硬盘的设置,修改一下,然后启动,直接进入到安全模式,之后硬盘一顿狂闪,估计是把能够自动安装上的驱动程序都驱动上了,然后顺利进入了系统。再次重启,用U盘复制了新机器的驱动程序,重新安装一下,全部OK了。计算一下时间,不到一个半小时,竟然就成功更换了。
由此想到前几天看到的一个话题,就是软件和硬件之间的分离,如果说软件和硬件之间耦合非常严重,一些软件只能够在特定的硬件上运行,那么必定会大大限制软件的使用。相反,如果软件可以和硬件分离,没有耦合的关系,那么就可以达到到处运行的目的。
当年的Java正是通过虚拟机的技术实现了软硬件的解耦,甚至于是软件与操作系统之间的解耦,也正是因为Java号称的“一处编译,到处运行”,才使得它能够有今日的成功。
然而,如果不能够做好这个用来解耦的中间层的话,我们就需要付出性能或者可用性方面的代价,甚至于可能对于一些特殊的情况不得不采用针对专门硬件的软件,才能够真正达到特定的需求。然而,对于大多数情况来说,达到软硬件的解耦,益处还是要大于坏处的。
当前的移动开发方面也是一样,很多native的应用都无法实现软件与硬件或者说操作系统很好的解耦,我们不得不针对每种硬件都开发专门的应用来适应它,而不是开发一种程序就可以在各个移动终端或者设备上运行。而HMTL5的出现,似乎给大家带来了一些福音,毕竟所有操作系统上的浏览器都采用了相同的协议,这样只要是符合这个标准的web应用就都可以在浏览器中平滑地运行。从而在某种程度上达到开发一次,到处运行的效果。
其实,在软件和硬件的历史上,总是有人纠结在耦合、分离(解耦)的问题上,总是希望能够找到比较好的解决方案来解放开发人员,也正是因为如此,我们的技术才会不断地进步和提升,呵呵。
分享到:
相关推荐
软硬件分离机顶盒设计
互联互通带来智能家居的“软硬件分离”.pdf
软硬件分离趋势及开放网络发展 网络设备描述
案例主要软硬件选型原则和详细软硬件配置清单.docx
基于三洋半导体软硬件分离平台上,已经开发了双向CA、双向数据广播等应用,实现了VOD、卡拉OK、电视彩票、通用浏览器、股票广播等功能。另外,机顶盒的基本功能、OSD也都可以由第三方软件公司在其硬件平台上开发。...
该文档是对软硬件开发过程中调试过程的指导意见,来自一位拥有二十多年实践经验调试高手的知识与经验
软硬件项目服务方案.pdf软硬件项目服务方案.pdf软硬件项目服务方案.pdf软硬件项目服务方案.pdf软硬件项目服务方案.pdf软硬件项目服务方案.pdf软硬件项目服务方案.pdf软硬件项目服务方案.pdf
软硬件及信息安全运维技术支持合同协议书.docx软硬件及信息安全运维技术支持合同协议书.docx软硬件及信息安全运维技术支持合同协议书.docx软硬件及信息安全运维技术支持合同协议书.docx软硬件及信息安全运维技术支持...
系统软硬件物理部署方案.
介绍了OpenStack的软硬件支持 是一篇精彩的文档
机器码软硬件网卡一键查询脚本
软硬件调试方法 个人收集总结,希望有用
patterson经典书籍 有关软硬件接口(第三版)
案例主要软硬件选型原则和详细软硬件配置清单.pdf
软硬件协同设计
让你从菜鸟到高手详细讲解计算机软硬件安装,上传不易且下且珍惜
两个文件的打开工具: 1. 《计算机软硬件介绍视频.avi》文件的播放工具:推荐用暴风影音。 2. 《计算机软硬件介绍.pps》文件的打开工具:安装Office
隐匿在计算机软硬件背后的语言.pdf
编码:隐匿在计算机软硬件背后的语言
根据任务的硬件时间、软件时间以及通讯代价,自动对系统设计进行软硬件划分的工具。利用遗传算法,可得到一个较优解。