作为非科班的学生,在学习计算机组成原理这门课的时候,需要跑一些linux代码,来帮助自己理解并记住一些知识,所以选择了阿里云ECS来完成自己的学习,捣鼓配置了一会儿,可算完成了用shell远程进入服务器,配置过程中因为linux命令不熟,走了不少弯路,比如主机生成的SSH密匙不知道如何拷到云服务器,后来知道了rz可以实现文件上传到服务器,就完成了将VScode连接上远程服务器,接着就开始了计算机组成原理的学习,跑了第一个代码`time seq 1000000 | wc -l`用来理解cpu的运行程序整个过程中流逝掉的时间=用户态运行指令的时间+在操作系统内核里运行指令的时间,这里还发现了多核并行运算的问题,因为时间并不相等。在服务器中,使用浮点数二进制转换,了解到为啥小数在计算过程中不精确,都只是估算值,因为他的科学计数法模式,导致部分没法表示的数字只能估算,只有0.5这种数字可以用科学计数法准确地表示出来。后面还有很多需要学习的。
利用`getconf PAGE_SIZE`来查看内存页的大小,用`objdump -d -M intel -S`查看程序的汇编代码,从而理解底层CPU是如何识别程序的,原码装载进CPU,再继续计算。
另外配置过程中本来想用Xshell去连接云服务器,从xshell上就能直接启动阿里云服务器,但是在运行的时候一直提醒密码有问题,搜索了半天也没找到一个合理的解决方案,然后通过跟学长咨询,了解到可能跟github设置过密码有关,然后在用户文件夹里的.ssh文件夹里把之前设置的密码给删除,接着重新生成,生成之后就碰到了上面那说的拷贝不进服务器的情况。
此外,除了使用服务器之外,本来虚拟机也是可以用来装一个linux系统,但是他不如服务器稳定,服务器更加的稳定便捷,而且在选择服务器的时候,可以选择自己需要的系统以及版本,相较于自己在虚拟机里安装一个系统,要更加的便捷方便,而且也在很大程度上节约了时间成本。不仅如此,服务器还可以根据自己的需求,选择合适的大小,做到资源合理利用不浪费。像如果用来学习的话,就可以选择小一点的服务器,如果用来部署一些上线项目,并且可能有很多人同时访问的话,这个时候就可以选择一款大一点的服务器。
阿里云ECS服务器的整体体验都是很棒的,我会将它推荐给身边的朋友,也会将它作为自己日常使用的一款服务器。