预计所需阅读时间:7分钟

这篇文章主要谈的是个人电脑中,学习编程、练习一些项目时,使用的系统,也顺便谈谈我对不同系统的看法。

首先声明, 没有最好的系统,只有合适自己的系统,包括组建双系统或多系统也要看个人的实际情况而定。

Window XP、Windows 7、Windows 10

高中开始,我就组装了自己的第一台电脑,好像当时用赛扬D的处理理,好像就128MB或256MB内存,到现在用着16年买的游戏本,是6代I7,24G的内存,估计至少可以再跑两年。一开始只用Windows XP,到现在用着Windows 10 和Ubuntu双系统。

现在内存都在8G以上,很少有2G的内存,所以一般电脑都要装64位系统,不然不能原生支持4G以上的内存,造成浪费。虽然可以装一些软件驱动让32位系统可以支持更多的内存,但这样不能达到最大的兼容性。

在一些小公司中,买的是二手电脑,很多是关门的网吧淘汰出来。它们大多都可以用来做一般的办公,性能好的可以装Windows 7,可以排版、修个图之类;性能不好的装个XP,用来打个字,填个表格没问题。很多用惯XP的人,升级电脑之后,比较接受Win 7,因为两者界面的操作逻辑是很像的,至少开始菜单非常像。之后很多人也坚持用Win 7的原因是游戏在Win 7的性能表现更好,但2020年Win 7各方面的优势已经被Windows 10都超越了。

我给小白用户装的都是Win 10,在性能不好,内存在4G以下,也是选择Win 10而不是XP,虽然高了两代,但所用白内存并不比Win 7多。Win 7在4G以下内存的电脑运行很吃力,而Win 10跑起来还可以。在性能不好的电脑Win 10比Win 7更流畅,尤其是在笔记电脑上。而老的电脑Win 10都基本可自行找到适合稳定的驱动安装下来。

Window 10比Windows 7有更好的兼容性、稳定性,到现在可能有某些软件或游戏Win 7上会更有一点,但也仅仅只是一点。即使遇到一些小Bug,覆盖安装,调整引导也比Win 7方便。当然,需要付出的是学习成本。对有些人来说,学习是痛苦的事,所以只好忍受XP的不稳定。所以,在电脑4G以下内存做开发,一定要用XP,它很容易假死,无法发挥这些硬件性能。

现在微软已经停止对Win 7支持,不再更新安全补丁。杀毒软件提供的安全保障不是第一安全的选择,也不能保证绝对的安全。有时系统本身内核的更新,可以第一时间提供安全保障,这些都是Win 10能提供。当然,Linux和MacOS的系统安全会更好,一个开源更新好,另一个闭源到只苹果商店的安装渠道。使用破解系统、破解软件都会存在安全隐患与隐私泄露问题,可大可小,大家自行衡量。

原系统上安装虚拟机

这几年,微软积极拥抱开源,在Windows 10 里集成了Linux的系统作为子系统,这个跑在Windows的Linux系统简称为WSL,今年还推出第二代的WSL 2。无论是WSL还是WSL 2本质上都是运用不同程度虚拟化技术,在Windows系统平台上安装虚拟机系统。比一般的虚拟机软件使用更简单。

对不熟悉硬件、系统引导的人来说,虚拟机软件可以让人在原系统的基础上体会其它操作系统的感觉,在Linux和MacOS上也如此,同样可以装别的系统。在这过程中可以学习安装其它系统的方法,除了MacOS的(因为是软件硬件闭源)。在学习系统运维、数据库、大数据的知识,学会在虚拟机装不同系统更是必备技能。开发者可以在虚拟机里安装多台服务器系统,在一台机里面组建一个网域网,尝试分布式计算的框架,架设主从数据库等操作。

但是,在虚拟机上运行系统终究有些不顺畅,哪怕我分给它8G内存,感觉在有图形界面的Linux上,还是没有充分发挥,实际硬件分给它的资源。另外,在虚拟上做机器学习、深度学习的性能比实机差很多。实机上可以调用显卡的CUDA驱动的支持,Intel CPU在Python开发环境里,也有一个叫intel-openmp的包来提升CPU的运行性能。在实机,虚拟机软件运行只调用了CPU的虚拟化技术,没有调动用显卡驱动的底层接口,所以没有办法充分发挥性能。

Ubuntu、CentOS这些Linux系统

目前自己用着Windows 10的系统,在虚拟机软件里安装了多个CentOS服务器系统,同时固态硬盘分区划分两个100G的ext4分区装了个Ubuntu系统和它的数据。目前最受个人欢迎的Linux系统是Ubuntu这个系统的发行版本,图形界面友好,社区支持多,汉化程度高。而且在装了Windows 10之后,再安装也很方便,它的启动文件可以友好与Windows 10的共存。大家都放在EFI启动分区里,个人可以选择不同系统。启动顺序是这样的电脑通电,通过BIOS硬件自检,接着按BIOS的启动顺序读取不同硬盘上的启动文件,通常是放在第一个硬盘的EFI分区。然后选择EFI分区不同系统的启动文件,选Windows之后,读取Windows系统所有在的BCD文件,通过这个文件还可以选择Win 10、Win 7等不同Windows系统;选Ubuntu后,会读取/boot里grub的启动文件,从而启动Ubuntu。

Linux系统适合折腾,通过折腾这个系统可以学习很多计算机方法的知识,尤其是关于底层的知识,因为它是开源的,可以查看,可以改,而Windows的不行。以前也折腾过Windows系统,学了很多系统和计算机方面的知识,现在过折腾系统的时候,而是要将时间放到数据科学上。

Linux也因为开源,所以有些程序代码是先在开发编译的,最后才迁移到其它系统。最近在用到一个叫fastFM关于推荐算法的包,只支持Linux和MacOS系统,Windows无法安装,因为它要用make来编译,于是我切到Ubuntu来完成这些代码。还有一些前沿方向的机器学习、深度学习包,还是只有Linux系统有。所以,在Linux系统里开发环境的支持工具是完全充分的,个人觉得Linux里的Ubuntu系统最适合个人的编程开发。

有些开发者因为游戏的原因,而装多一个Windows。而我还是以Win 10为主要系统,主要是因为用习惯了,加上之前工作也是以对公司其他人沟通为主,同事都是用办公软件为主。Win 10对Unicode编码更完善,或者说Anaconda对GBK支持更好,19年秋天,进入conda的Python交互模式会提示某几行编码出错,冬天之后我更新之后就没有提示这个错误。最后还有一个专业软件ZET只有在windows和MacOS有。

目前我网站在CentOS 7系统上运行,感觉很稳,它的目录文件结构都比较熟悉也慢慢习惯了。我也虚拟机上也尝试安装过图形界面的CentOS,但是觉得比较难看,汉化也不是很充分,感觉它的命令行部分,跟图形界面部分是分开的。也许是我没完全掌握Linux各方面的东西,但总的来说,Ubuntu的图形界面适合成为其他系统的人第一次接触Linux的样子。当时为了掌握自己这台服务也是花了不少时间,大家可以看一下《服务器》系统的文章,也算是我使用CentOS服务器系统的一些经验吧。

关于MacOS系统

苹果的系统放在最后讲,是因为我没有用过。对我来说,它的性价比不高。曾经考虑过装个黑苹果系统。两三年,查了一下它的教程,发现驱动是否支持,有没有对应的EFI文件比较关键,我想这是刚买一两年的新机,应该没有支持得那么快吧。今年更换一个1T固态硬盘放系统时,也想多装一个黑苹果,网上也找到类似机型安装成功的例子,但看到教程里提示到安装MacOS之后就不能随便改变分区结构,引导修复也比较麻烦。于是,想到我在维修电脑时,经常硬盘分区数据克隆来克隆去,经常改去分区表,已经装了Windows和Ubuntu的双系统,就不要再将MacOS了。毕竟前两者能解决日常沟通、展现和所以编程开发的任务了。

我也看了一些MacOS系统的测评系统,有些软件在苹果系统是独占的。它上面的Final Cut Pro的剪辑软件对于做视频的人来说,是最好的工具,同配置性能最好。而且很多软件的设计感都很好,用着用着说不定也能培养出一定的美感。做设计、做多媒体行业的人,我觉得一定要用上苹果的系统。

我是习惯了Win 10。