20155205 《信息安全系统设计基础》课程总结
目录
-
- 截图 git log - --pretty=format:"%h - %an, %ar : %s" 的结果 - 代码量汇总提交statistics.sh的支持截图 - 代码驱动的学习做到没有? - 加点代码,改点代码是理解的最好方式,参考[编程的智慧](http://www.yinwang.org/blog-cn/2015/11/21/programming-philosophy),谈谈你的心得 - 实践上有什么经验教训
-
- 自己的收获(投入,效率,效果等) - 自己需要改进的地方 - 结对学习是不是真正贯彻了?写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
-
- 如果重新学习这门课,怎么做才可以学的更好
-
- 你平均每周投入到本课程有效学习时间有多少? - 每周的学习效率有提高吗? - 学习效果自己满意吗? - 你觉得这门课老师应该继续做哪一件事情? - 你觉得这门课老师应该停止做哪一件事情? - 你觉得这门课老师应该开始做什么新的事情?
一、每周作业链接汇总
- 第一周作业:gcc、gdb、makefile学习
- 第三周作业:信息的表示和处理
- 第四周作业:课上实践--myod-系统调用版本
- 第五周作业:程序的机器级表示
- 第六周作业:异常控制流、系统级I/O
- 第七周作业:处理器体系结构
- 第八周作业:网络编程和并发编程的学习,课上实践和课下测试的补充学习
- 第九周作业:存储器层次结构
- 第十一周作业:虚拟存储器
- 第十三周作业:深入学习你觉得最重要的一章
- 第十四周作业:深入学习你学的最差的一章
二、实验报告链接汇总
三、代码托管链接和二维码
- 截图 git log - --pretty=format:"%h - %an, %ar : %s" 的结果
- 代码量汇总提交statistics.sh的支持截图
-
代码驱动的学习做到没有?
答:按老师的要求做了。
-
加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
答:一个代码,能理解是第一个层次,自己根据要求增加功能是上了一个层次,能够做到举一反三,与之原理相通的代码都能看懂都能写出来,是最高的层次。
-
实践上有什么经验教训?
答:多写是最最最基本的,自己不写,什么提高都不要妄想。
四、对第一周提出问题的评价与回答
整体评价一下第1周作业中自己提出的问题是不是抓住了学习重点
- 答:个人感觉没怎么抓住重点,浏览书的时候没有多思考一下,只是把看到不会的提了个问题,到后来看自己的问题时觉得很多都有错。
回答一下第1周作业中自己提出的问题
1.系统的硬件组成之间是如何进行工作的,对于一个共同的工作是如何分工的?
答:CPU作为运算核心和控制核心来根据计算机指令进行算术逻辑运算,从而“统领”整个计算机的工作。其功能是执行算,逻辑运算,数据处理,传四舍五入 ,输入/输出的控制电脑自动、协调地完成各种工作。对于一个共同的工作,比如说完成一个计算:计算步骤的程序和计算中需要的原始数据,在控制命令的作用下通过输入设备送入计算机的存储器。当计算开始的时候,在取指令的作用下把程序指令逐条送入控制器。控制器向存储器和运算器发出取数命令和运算命令,运算器进行计算,然后控制器发出存数命令,计算结果存放回存储器,最后在输出命令的作用下通过输出设备输出结果。
2.编码形式是如何和现实世界中的数字对应的?
答:比如说整数,整数是现实世界中使用最多的数,在计算机系统中,为整数定义了很多数据类型。最常用的就是int了,还有表示范围比较小的short,或者表示范围比较大的long long,另外还有有符号无符号的差别。这些数据类型都是表示整数的,但由于数学意义上的整数范围很广,所以为了方便使用(后面将会看到这些方便是以某些麻烦为代价的),计算机系统将他们抽象为不同的数据类型。由前面的分析可知,也就是他们占的内存大小不同或可进行的操作不同。
3.这里所学的和汇编的机器编码是一样的吗?为什么使用栈这个数据结构?
答:跟汇编中学的是一样的,栈这个数据结构是非常有用的,保存数据全靠它。
4.流水线原理具体是什么?有没有什么局限性?
答:书中以自助餐厅、自助洗车为例子解释了流水线的通用属性和原理;流水线的局限性为:会产生不一致的划分、流水线过深,收益反而下降。
5.优化程序性能的常用方法或原则是什么?
答:第一步就是消除不必要的内容,让代码尽可能有效地执行它期望的工作;第二步是利用处理器提供的指令级并行能力,同时执行多条指令。
6.分区表之间是如何关联的?
答:分区表一般位于硬盘某柱面的0磁头1扇区。而第1个分区表(也即主分区表)总是位于(0柱面,0磁头,1扇区),剩余的分区表位置可以由主分区表依次推导出来。分区表有64个字节,占据其所在扇区的[447-510]字节。
7.链接的具体过程是什么?它的作用是什么?
答:连接器具体有两步工作:① 符号解析:目标文件定义和引用符号,符号解析的目的是将每个符号引用和一个符号定义联系起来;②重定位:把每个符号定义与一个存储器位置联系起来,然后修改对这些符号的引用,是的他们指向这个存储器位置,从而实现重定位。它的作用是:创建可执行目标文件。
8.系统调用处理异常的函数有哪些?
答:这个问题提的不太对,系统中可能的每种类型的异常都分配了一个唯一的非负整数的异常号,系统启动时,操作系统分配和初始化一张称为异常表的跳转表,使得条目k包含异常k的处理程序的地址。
9.高速缓存和虚拟内存如何联系,怎样结合?
答:可以结合高速缓存鹤虚拟内存进行物理寻址,主要思路是地址翻译发生在高速缓存查找之前。
10.系统级I/O与上学期JAVA学的I/O有什么区别或共同点?
答:系统级I/O设备,如网络、磁盘和终端都被模型化为文件,而所有的输入和输出都被当作对相应文件的读和写来执行;和JAVA中字节流有所不同。
11.如何搭建Web服务器?
答;在p633的web服务器讲解中为我们展示了搭建web服务器的过程。
12.并发编程是什么?有什么优点?
答:如果逻辑控制流在时间上重叠,那么他们就是并发的,到目前为止,我们主要将并发看作是一种操作系统内核用来运行多个应用程序的机制;优点有很多,比如:通过推迟工作以降低延迟、服务多个网络客户端和在多核机器上进行并行计算等。
五、加分项目
-
微课
-
参加全国密码技术竞赛
六、课程收获与不足
-
自己的收获(投入,效率,效果等)
- 这个学期的学习很多都是根据一个具体的例子(比如使用gdb查看堆栈),感觉这样学效率很高,如果老师能在我们自己做了之后讲一下个人感觉会理解更深入!
-
自己需要改进的地方
- 有些知识点没有更进一步的思考,因此掌握不是很扎实。
-
如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
- 这学期我觉得结对学习效率最高的就是做实验,两个人配合完成速度很快。在日常学习中主要是代码不会了问一下同伴。
七、给开学初的你和学弟学妹们的学习建议
- 如果重新学习这门课,怎么做才可以学的更好?
- 最重要的是态度要认真,其次是希望大家尽可能的对学习产生兴趣。上学期刚开始我也因为每周写博客产生过烦躁的情绪,但这烦躁的情绪不仅不能帮助我,反而会使我效率变低。所以一开始产生烦躁是正常的,相信大家都能在逐步适应的过程中慢慢找到学习的快乐。我觉得经过了学java的一学期后,这学期明显感觉得心应手了很多,比之前更适应写博客、使用蓝墨云的学习方法。
八、问卷调查
- 你平均每周投入到本课程有效学习时间有多少?
- 20小时 - 每周的学习效率有提高吗?
- 相较上学期有很大的提高。 - 学习效果自己满意吗?
- 比上学期满意。 - 你觉得这门课老师应该继续做哪一件事情?
- 继续使用蓝墨云班课,让我们也紧跟互联网时代的潮流。 - 你觉得这门课老师应该停止做哪一件事情?
- 并不是说停止,只是每次做实验时第三个(arm实验箱)都做不出来,感觉达不到娄老师想让我们到达的水平。 - 你觉得这门课老师应该开始做什么新的事情?
- 暂时想不到别的什么新的了,因为这学期娄老师也在给我们讲基础知识,上学期我的期望已经得到了满足。