从一次换机器的过程谈软硬件的分离
今天把在公司使用的计算机更换了一台,原来是Dell的780,换成了Dell的790,机箱的样子变化比较大,但是里面硬件的配置变换并不大,最明显的变化就在于CPU,其他像内存、硬盘等等的配置与原来的计算机基本上一致。
作为开发人员,每次更换计算机的过程都会比较痛苦,因为需要把里面存储的很多资料都要移动到新的计算机中,而且很多软件都需要重新安装和配置,上次因为更换系统,差不多一天的时间就耗费进去了。
因为这次看到型号上相差不大,只差了10吗,哈哈,所以就像是否可以直接通过更换硬盘的方式来做,这样就不需要折腾了。有人对此表示质疑,因为他有过一次失败的经历,直接就蓝屏了,但是不试怎么知道,而且就算失败了,花费的也只有差不多一个小时,而如果成功,节省的将是大半天的时间,所以衡量一下风险和收益,还是值得试一下的。
说干就干,拆开机箱,把两块硬盘都拆下来,然后把旧硬盘换到新机器里面,开机,启动失败。
想到BIOS里面好像有个硬盘的设置,修改一下,然后启动,直接进入到安全模式,之后硬盘一顿狂闪,估计是把能够自动安装上的驱动程序都驱动上了,然后顺利进入了系统。再次重启,用U盘复制了新机器的驱动程序,重新安装一下,全部OK了。计算一下时间,不到一个半小时,竟然就成功更换了。
由此想到前几天看到的一个话题,就是软件和硬件之间的分离,如果说软件和硬件之间耦合非常严重,一些软件只能够在特定的硬件上运行,那么必定会大大限制软件的使用。相反,如果软件可以和硬件分离,没有耦合的关系,那么就可以达到到处运行的目的。
当年的Java正是通过虚拟机的技术实现了软硬件的解耦,甚至于是软件与操作系统之间的解耦,也正是因为Java号称的“一处编译,到处运行”,才使得它能够有今日的成功。
然而,如果不能够做好这个用来解耦的中间层的话,我们就需要付出性能或者可用性方面的代价,甚至于可能对于一些特殊的情况不得不采用针对专门硬件的软件,才能够真正达到特定的需求。然而,对于大多数情况来说,达到软硬件的解耦,益处还是要大于坏处的。
当前的移动开发方面也是一样,很多native的应用都无法实现软件与硬件或者说操作系统很好的解耦,我们不得不针对每种硬件都开发专门的应用来适应它,而不是开发一种程序就可以在各个移动终端或者设备上运行。而HMTL5的出现,似乎给大家带来了一些福音,毕竟所有操作系统上的浏览器都采用了相同的协议,这样只要是符合这个标准的web应用就都可以在浏览器中平滑地运行。从而在某种程度上达到开发一次,到处运行的效果。
其实,在软件和硬件的历史上,总是有人纠结在耦合、分离(解耦)的问题上,总是希望能够找到比较好的解决方案来解放开发人员,也正是因为如此,我们的技术才会不断地进步和提升,呵呵。
从一次换机器的过程谈软硬件的分离相关推荐
- 换内存条的过程(自己电脑换的整个过程记录分享)
换内存条的过程(自己电脑换的整个过程记录分享) 1.刚开始肯定使劲去查自己电脑的参数 我的电脑参数如下: 看到了自己的cpu之后,去百度那里查,输入你的cpu型号 在这里可以看到自己cpu可以支持的最 ...
- 浅谈前后端分离与实践 之 nodejs 中间层服务
一.背景 书接上文,浅谈前后端分离与实践(一) 我们用mock服务器搭建起来了自己的前端数据模拟服务,前后端开发过程中只需定义好接口规范,便可以相互进行各自的开发任务.联调的时候,按照之前定义的开发规 ...
- 论“微信头像”的重要性,为什么不要和频繁换头像的女孩谈恋爱
最近看到一篇文章说"看你微信头像,就知道你没见过世面".微信头像透露着一个人的人品和形象.甚至还有人说,不要和总换头像的女孩子谈恋爱.头像真的这么重要吗?下面我们来说说微信头像的几 ...
- python库迁移到没有网的电脑_关于换机器后python库的迁移-偷懒做法
1. python3.7 and pycharm 官网 下载 和安装. 2 旧的机器里F:\Python37\Lib\site-packages积累很多库-> 复制覆盖到新的机器里site-pa ...
- 深入浅出根据函数调用过程谈栈回溯原理
通过分析函数调用过程的堆栈变化,可以看出在被调函数的EBP寄存器地址存放的是调用函数的EBP寄存器地址,EBP地址+4存放的是函数调用完成后的下一条指令存放地址,该指令的前一条 ...
- 读写分离 mysql_详解MySQL实现主从复制过程及mycat读写分离步骤
一.什么是主从复制 将主数据库中的DDL和DML操作通过二进制日志(BINLOG)传输到从数据库上,然后将这些日志重新执行(重做):从而使得从数据库的数据与主数据库保持一致. 二.主从复制的作用 1. ...
- 大数据的一生一世——谈数据冷热分离技术
前言 对于一个软件系统,无论其业务逻辑复杂到何种程度,最终都将体现到一条(批)数据的CRUD操作上,即创建.查询.更新与删除.正如人类面临生死的轮回,数据亦是如此.一条数据从被创建出来开始,随着时间的 ...
- 浅谈前后端分离思想对自由泳练习的指导意义
以SAP BSP(Business Server Page), ABAP Webdynpro和WebClient UI为代表的SAP UI开发技术,在企业管理软件的前端开发领域里算是独树一帜的存在-- ...
- 前端架构之一浅谈前后端分离
最新文章
- JVM 虚拟机图文详解!真香!秒懂!一点都不难!
- 基因注释神器UCSC Genome Browser使用教程
- 玩转SVN系列之【如何放弃本地/服务器端所做的修改】
- 【HDU - 1561】The more, The Better(树形背包,dp,依赖背包问题与空间优化,tricks)
- 鸿蒙什么时候出来,鸿蒙系统什么时候发布
- python文件管不了_Python文件_管道与模块编写
- SpringMVC+MyBatis整合——事务管理
- HADOOP高可用机制
- pdproxy度盘下载器不限速(xp版也可用) v2021
- 关于lua加密luac的有关问题
- 图像切割之(五)活动轮廓模型之Snake模型简单介绍
- 免费微信公众号专用h5在线电影票API
- 很多人说单片机很简单。但本专业学生都认为单片机是最难学的课程。为什么学起来都这么吃力呢?
- 100个深度图像分割算法,纽约大学UCLA等最新综述论文
- 我喜欢你时的内心活动
- 前端基础之《NodeJS(2)—模块化》
- python输入三角形三条边长_python问题:输入三角形的三条边a,b,c,判断此三边是否可以构成三角形。等边、等腰、直角三角形?...
- python经典类新式类_Python的新式类和经典类
- 关于STL模板的使用效率与控制输出时最后不加空格问题
- PLC前途如何,大学生能学吗,不要指望学会PLC就能月薪15000
热门文章
- java +号变空格_base64码通过http传输 +号变 空格 问题解决
- 【开源项目】EasyCmd命令图形化软件
- Hadoop datanode正常启动,但是jps差不多datanode进程,而且Live nodes中却缺少节点
- 【Python CheckiO 题解】Probably Dice
- 【HDU - 6558】The Moon(期望dp)
- 【HDU - 5493】Queue(思维,贪心,线段树)
- 【51NOD - 1523】 非回文(dfs)
- 免费测试英语发音的软件,2020英语音标免费版
- 建立远程ftp服务器,利用无线路由器建立FTP服务器
- 动态参数 maven_使用Jenkins Git参数实现分支标签动态选择