写在前面的话
如果您对该系列感兴趣的话,推荐您先看一下南京大学的计算机组成原理实验(也就是PA)的讲义,然后再来看这篇文章可能有更多地收获。如果您是要完成该作业的学生,我推荐你先看讲义,或者好好听老师的讲课,然后自己独立完成这个作业,但是如果你没有听懂,或者你无论如何也无法理解讲义上面的字,又或者说对讲义上面的某点知识某个问题不了解而又觉得太简单不好意思问老师,那么您可能会从这篇文章里面获得一些你需要的信息。本篇文章将会包括笔者自己做PA的所有经过,希望你并不将该文章当成抄袭的根源,而是成为你思考的源泉。
PA系列传送门
PA0:https://blog.csdn.net/qq_41983842/article/details/88921427
PA1.1:https://blog.csdn.net/qq_41983842/article/details/88934779
PA1.2:https://blog.csdn.net/qq_41983842/article/details/89714479
PA1.3:https://blog.csdn.net/qq_41983842/article/details/89714689
PA2.1:https://blog.csdn.net/qq_41983842/article/details/95232055
PA2.2&2.3:https://blog.csdn.net/qq_41983842/article/details/101164495
PA3.1:https://blog.csdn.net/qq_41983842/article/details/103094859
PA3.2:https://blog.csdn.net/qq_41983842/article/details/103843093
PA4:https://blog.csdn.net/qq_41983842/article/details/104667951
思考题
-
Linux and Linux?
不同Linux系统之间有什么区别?可能你现在说不出来任何区别,因为你可能仅仅接触了Debian这一个东西,而在PA0的实验里面并没有怎么了解他,只是执行了一些简单的命令,希望你百度这个问题并总结来获得答案,日后你在使用多种Linux系统的时候可能会有更深的体验。 -
Can’t memory be larger?
内存大小不可以尽可能大,因为32位系统可以支配32根地址线,其内存寻址能力是2^32,也就是他内存寻址能力的极限就是4Gb。
-
Why Windows is quite ‘fat’?
Windows有很多东西是一次性下好,但是debian默认安装的东西比Windows要少很多,很多东西都要之后自己去装。而且Windows有图形界面,占很大空间。
-
为什么关机需要超级用户权限?
防止发生意外,比如说关机的时候别的用户有文档没有保存,这时候直接关机就会导致别的用户丢失文档,但是如果是root用户,整个机器都一个人控制,所以就可以关机。
-
make期间一堆信息输出到屏幕的时候会发生什么?
请自己好好思考一下这个问题,提示:(编译)
-
如何做一个模拟的计算机运行helloworld?
这个问题贯穿整个PA,大概说下自己的感想,什么都可以,等到做完整个PA之后你就会有更深的体验。
实验内容
安装debian双系统
我准备在mac上面安装debian双系统,而不是装虚拟机,首先下载debian映像并且制作启动u盘
开始安装
输入用户名
设置密码
从mac的128g存储空间里面分出来30g
留出来6g的交换空间
选择安装的软件(记得勾上GNOME
)
安装成功
至此双系统安装完成。
进入Linux的第一步
进行poweroff
命令
安装必要的工具
换成国内163的源
当你无法进行sudo
或者apt-get update
之后发现并不能解决你的问题的时候,就是你换源的时候了,推荐阿里源、163源等等,换源之后你会发现爽的一批。具体换源步骤百度。
apt-get update
并且安装sudo
安装vim
vim test
安装更多的工具
尝试连接网络(因为我是安装的双系统,由于debian不支持mac的网卡,所以我选购了rt2800架构的网卡插在电脑上来使用无线网络,所以我能够直接连接上网络而不需要配置,装虚拟机的同学们请按照讲义一步一步来)
接下来安装了更多的工具,由于数量众多,所以没有一一截图,一般来讲只要你换了一个好一点的源,这些都是对着讲义输入指令就完全OK的事情。
更多的发现
进入vimrc
并且进行调试,按照我的习惯设置的vim
写helloworld
程序
对他进行调试,设置断点
使用make
指令
校准时间
用SSH连接虚拟机
这部分我没有做相应的实验,双系统直接从终端打开,用虚拟机的小伙伴一定要认真对着讲义做这块,后期好多的问题都容易发生在这个地方。
提交pa实验的代码
使用git
工具
添加环境变量
更换STU_ID
切换到pa0
分支
使用
git log
查看更改
使用make
命令进行编译
上传到coding.net
代码仓库
上传成功!
遇到的问题及解决办法
写出你所遇到的比较让人头疼的问题
实验心得
PA0已经到此结束,PA0是整个PA系列最简单也是最基础的一步,只有把环境配置好,将来写代码才不会出现奇奇怪怪的问题,不知你有何体验?