PA0 - 开发环境配置
序言
PA讲述的是一个"先驱创造计算机"的故事.
和我们在实验前必读中描述的一样,我们将通过引导同学们从无到有实现一台用代码模拟的计算机(也就是模拟器啦)。然而“工欲善其事,必先利其器”,我们将从搭建环境开始,逐步创造一个梦幻般的计算机世界。
全英文?你这是在为难我小叮当?
你没有看错,PA0 的讲义部分将全部采用全英语书写。
你会觉得,我们难道是故意的吗?
没错,你说对了,这就是故意的。如果你对目前国际上学术研究稍微有所了解,会知道国际上论文数最多的语言仍然是英语。在国际上的大多数知名大学,不论其所在的国家是否为英语国家,都会使用英语作为他们的授课语言,论文等亦是采用英文书写。国际上的知名著作采用英文出版,已经是业界不可动摇的传统。由此可知,英语在学术领域,仍有其不可替代的重要性。为了能够让同学们被迫提升自己的英语阅读能力。经助教组和任课老师讨论,我们的 PA0 仍采用英语书写,这不仅对同学们的阅读是一个挑战,对于书写教程的助教组,也是一段难得的经历。
然而计算机方面的英语真的就那么难吗?
其实,如果你不在第一眼就被满篇的英文字母所打击,从而丧失信心,你会发现,计算机相关的英文文献从来不会使用非常困难的句式。计算机相关的英文文献不比人文类学科,表述都相对较为直白,如果说硬是有什么能够成为同学们阅读英文文献的障碍,那也就只有不认识的单词了。至于如何在阅读英文材料时处理不认识的单词,聪明的你想必不需要我们再赘述了吧?
如果讲义不采用英语书写,是否就没有障碍了呢?
答案是否定的。我们在实验前必读中给出了本学期实验中将需要用到的几个手册,如果你提前打开浏览一下 i386 开发手册
,你的灵魂可能会因此受到巨大的打击。
除此之外,你会发现,man
的帮助页,也是以英文为主的,那么,如果你连我们为你量身定制的简单英文版讲义都无法阅读,更来如何阅读这些帮助手册呢?
关于完成 PA0 的一些建议
你需要独立完成PA0, 请你认真阅读讲义中的每一个字符, 并按照讲义中的内容进行操作: 当讲义提到要在互联网上搜索某个内容时, 你就去互联网上搜索这个内容. 如果遇到了错误, 请认真反复阅读讲义内容, 机器永远是对的.
PA0 的内容均是针对环境搭建,因此从效率起见,我们的版本仍然只介绍各种工具的安装和配置过程,并不对其原理进行解释(在不必要的时候),你若有兴趣可以自行在网上搜索。
对于大多数同学而言,应该都是第一次接触 GNU/Linux。有人会说,我在大一的《计算机基础技术实验》课上已经接触过了。没问题,如果你现在还非常会用,可以无视我说的话。
Linux
在现实环境中,各大企业的服务器环境无一不采用 GNU/Linux 系统,这是为什么?
- 其一,Linux 是开源软件,在使用时将会节省一笔惊人的支出;
- 其二,Linux 能够做到在正确使用下连续运行一年甚至更长时间而不会宕机,其稳定性相当强悍;
- 其三,Linux 当今集成了许多标准化的工具,是学术研究不可或缺的重要工具。
关于
我们只介绍如何使用 vim
作为我们的文本编辑工具,这是为什么?你会认为,当今图形界面发展如此便利,为何我们还要采用那么“落后”的字符界面工具?
- 其一,在大多数应用场景中,
vim
消耗系统资源极小,其批处理功能相当强大,这一点我们将在教程中为各位讲解; - 其二,图形界面环境对于硬件和网络条件(远程操作时)要求高,如果你在南京管理一台位于东京,甚至是洛杉矶的服务器,这样的连接网络条件极差,你还能自由地使用图形界面吗?
务必独立完成实验
考虑到同学们学这门课确实有难度,因此经和任课老师讨论,独立完成已经是对同学们的基本要求,只要你能保证全程是独立完成的,这门课将不会对你产生太多负面影响。当然,我们还引入了若干新的后台手段,可以很方便地检测出是否存在抄袭情况,还请同学们不要轻易尝试。
好了,话说了这么多,想必同学们已经对 PA0 的内容迫不及待了,那么,就抓紧收拾一下心情,开始我们愉快的 PA 之旅吧!在这里,感谢同学们对本课程的大力支持。
关于引用
PA0 中部分和原版讲义要求相同的内容直接引用了原版讲义,并在原版讲义的要求之上做一些要求的变化或文本的优化。