20145238 《信息安全系统设计基础》课程总结

20145238 《信息安全系统设计基础》课程总结

每周作业链接汇总

实验报告链接汇总

代码托管链接:
因为虚拟机这学期崩了三次,上次重新安装是最后一周,没有办法给出格式化日志截图
代码托管链接:
1
2
3

代码实践心得

  • 不同于上学期java课程需要自己手动敲代码,需要耗时大量的时间,而且由于代码篇幅较长还很容易出错。本学期代码主要侧重理解与执行,如果简单的复制代码,再gcc以下意义确实不大,先自己理解代码含义,猜测代码执行结果,再去编译比对,采用这种方式对代码理解更加有效,因为通过这样才能够发现自己思考方式与计算机的不同。就像娄老师说的,加点代码、删点代码再理解一下,才是真正的理解了代码。例如对fork函数的理解,通过输出“hello world”的个数,发现他与别的函数的不同,激发了探索的兴趣。
  • 对于git托管代码,在Linux系统下确实比在windows系统下方便的多,本来git总是出现各种各样的问题,虚拟机一崩我觉得自己也崩溃了,但是反复来了好几遍,可能遇到了所有的错误之后,现在的自己15分钟之内就可以完全搞好链接,也是小小进步吧。只有当虚拟机崩了的时候才发现软件真的比硬件重要。无论电脑再怎么出错,软件永远在互联网上,绝对的安全可靠。如果在上学期期末问问我是不是以后还会用git来保管自己的文件信息,那我的答案肯定是No!又通过一学期,我的答案变成Absolutely Yes!

实践教训

  • 本次的五个实验老师都给出了详细的步骤,其实我们主要的工作就是按着老师给的教程一步一步去实践,自己并没有什么过多的思考。五次实验,第一次是最失败的,因为拿到的arm不太好,所以做了好多遍都是错的,非常难过,但是由于第一次实验出现了各种各样的错误,第二次实验就非常的顺利。其实出现错误没什么关系,主要的是调整自己的心态,不要着急,更不要抱怨自己运气不好,都出现别人都不会出现的错误,说不定正因为你拥有这次的错误积累,下一次才会更快。最后实验中最关键的还是预习,哪怕在做实验前简单的理一下这次实验的思路,主要的关键点在哪也好,不至于出了错都不到自己到底哪错了,还要从头来过。

第0周作业中自己提出问题

①系统的硬件和软件是怎样互相交织的

  • 硬件是软件赖以工作的物质基础,软件的正常工作是硬件发挥作用的唯一途径。计算机系统必须要配备完善的软件系统才能正常工作,且充分发挥其硬件的各种功能。 但是有些功能硬件也能实现
    软件也能实现,他们之间的区分又显得不是那么明显。

②浮点数的表示方法在计算机中是如何实现的

  • 在计算机中,表示浮点数由两种常用的格式:单精度浮点数和双精度浮点数,IEEE 754 用科学记数法以底数为 2 的小数来表示浮点数

③机器语言中的循环是如何实现的

  • 汇编语言的循环指令都放在循环体的最下边,在循环时,首先执行一次循环体,然后把循环计数器CX/ECX的值减1;当循环终止条件达到满足时,该循环指令下面的指令将是下一条被执行的指令,否则,程序将向上转移到循环体的第一条指令处开始执行;在循环体未终止,而向上转移时,规定:该转移只能是一个短转移,即:偏移量不能超过128字节,也就是说,循环体中所有指令码的字节数之和不能超过128字节;如果循环体过大,可以由后面介绍的"转移指令"来构造循环结构;

④Y86指令集体系结构是怎样的

  • Y86处理器状态类似于IA32,有8个程序寄存器:%eax、%ecx、%edx、%ebx、%esi、%edi、%esp、%ebp。处理器的每个程序寄存器存储一个字。%esp被入栈、出栈、调用和返回指令作为栈指针。

⑤如何消除循环的低效率

  • 充分利用局部性原理

⑥存储器的层次结构是怎样的

⑦链接是怎样实现的

  • 静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件;
    动态链接就是在编译的时候不直接拷贝可执行代码,而是通过记录一系列符号和参数,在程序运行或加载时将这些信息传递给操作系统,操作系统负责将需要的动态库加载到内存中,然后程序在运行到指定的代码时,去共享执行内存中已经加载的动态库可执行代码,最终达到运行时连接的目的。

⑧如何实现非本地跳转

  • C语言中要实现"非本地跳转",C标准函数库提供了2个函数setjmp和longjmp来实现这个功能。头文件在<setjmp.h>。setjmp/longjmp的典型用途是例外处理机制的实现:利用longjmp恢复程序或线程的状态,甚至可以跳过栈中多层的函数调用。

⑨虚拟存储器有哪些功能

  • 虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

⑩什么是I/O重定向

  • 通俗来讲所谓的I/O重定向也就是让已创建的FD(文件标识符)指向其他文件

加扣分项
对于扣分项大部分同学应该都不存在,加分项可以有很多、我是通过优秀博客、以及做家庭作业汇总、以及扇贝打卡来获取的。
优秀作业

总结

扇贝背单词(对四六级有没有影响?)

  • 背单词是一切英语考试的核心、与其掌握那么多语法和技巧,不如花点心思多背点单词。本学期在上新东方网络课的时候听到了新东方写作主讲教师王江涛的一节课,其中他说的“十天搞定六级词汇”看起来有点买“大力丸”的感觉,但其实他是有自己独特的原理的,根据艾宾霍思记忆曲线——人类最容易忘记的几个时间点反复重复单词,是背单词行之有效的方法。其实背单词的关键就在于重复,而不在于你对他有多少辨析、词性理解的有多透彻,扇贝单词也利用了这一点、会重复前一天甚至前几天背过的单词,非常好。如果大家感兴趣可以微博搜一下新东方王江涛,有很多有用的知识。

  • 总结:其实虽说娄老师有很多加分项目,但是那些成绩高的同学不一定是通过加分项来提高成绩的,如果每周认真写博客被评为优秀博客也会加分、认真复习,考好每周的检测才是关键!总想着去搞点加分项,却忽略了本应该拿到的分数真的得不偿失。与其花费精力去统计同学的博客不如把时间花在每周的学习和写博客上,加分不过10分,如果每周都能提高1分的成绩就会有近20分的加分。明白自己应该做些什么,切勿因小失大。

课程收获与不足

自己的收获

  • 本学期的课程比上学的java有趣很多,因为很多东西是我们不单纯在娄老师这一门课上学到的,比如操作系统、java web 都是对这门课很好的帮助。感觉计算机系统这门课是理解计算机原理的关键,是站在计算机的角度,帮助你站在操作系统的视角去理解执行过程的。本学期最大的收获应该是学习任务的分配,没有像上学期把7天的内容留在最后一天或者两天完成,做到了每天一点内容、日复一日。
  • 这学期因为每周检测在周一上午,所以这学期的周六、周日基本都在图书馆度过。虽然看着其他同学双休日晒优越心里有一点小难过,但放弃了出去玩的时间,自己安下心来,看一点课本内容,掌握一点知识,也是一种不错的生活方式,这学期的改变不仅是学习习惯上的,更重要的是心态上的转变。从以前的绝对抵抗、被迫执行,到接受安排、探索尝试,心态转变很多自然就更开心,没有那么多抵触情绪,使得在自己学习的过程中遇到了问题也不会显得那么疲惫和无助。
  • 最后一点就是遇到问题的解决方法,以前一遇到问题首先我会暴躁一番、填满消极情绪然后再去问同学,之后多半以失败告终,或者完全依赖同学,缠着他帮我弄。但本学期有了问题会先百度,试试看百度经验,之后会看看同学的博客,问问同学,最后如果还是没法解决可以去小组留言,如果找到“天涯沦落人”会非常高兴,可以一同诉说苦衷、再一起解决问题。

自己需要改进的地方

  • 改进的地方还是git方面的问题,自己的git还是没有管理的非常妥善,从一开始连接的地方就不对,一git就把虚拟机里所有的内容都git上去了,之后有重新反过工,但是由于返工之后连接没有搞好,第二次开虚拟机崩了非常非常恼火,所以现在的git.c文件和生成文件还没有区分,代码的框架结构也不是非常完整。
  • 还有就是坚持的问题,比起刚开学,后几个星期的认真显然就没有开学的几个星期好,实践的内容才是最重要的内容,每周因为偷懒实践环节,在检测上都“神奇”的体现。

给学弟学妹们的学习建议

  • 首先不要听太多学长学姐的意见,不要听太多套路,改托管就认真的托管,该复习就好好的复习,完成好每一周的作业,不要总是想着可以有加分项,最好的加分项就是好好完成作业、既可以加优秀博客的分,还可以提高每周检测的分数,一举两得。其次要保持一个良好的心态,刚开始接触一个新的软件或者新的学习习惯肯定有各种各样的问题,但是你要试着去做不要总是试着去假想自己做不出来。欠了债还清钱就可以了,欠了的知识、欠下的实践早晚要换的,不要贪图一时的清闲,就放弃了本来很容易完成的东西。完成这门课很容易也很轻松,自己有多少付出,就会有多少回报,我觉得这个理论最能践行的地方就是娄老师的课。

问卷调查
你平均每周投入到本课程多长时间?

  • 10-15小时

每周的学习效率有提高吗?

  • 有了正确的学习习惯,就会把时间都用在正确的地方,学习效率这个事情因人而异,有些人掌握的快有些人理解的慢,只要了解自己在哪方面欠缺,多花点时间在那,即使比别人慢一点也是优质、高效的学习。

学习效果自己满意吗?

  • _

课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书)

  • 其实有想过写一些自己的喜欢的东西在博客里,比如自己的一时冲动之念,还有上面提到的王江涛老师谈到的“10天搞定六级词汇”(虽然自己没有完完全全搞定,但是坚持了几天背单词的效率真的大有提高)

你觉得这门课老师应该继续做哪一件事情?

  • 我觉得每周检测是很好的督促大家学习的,比起其他课程最后期末大突击,这种每周检测细水长流、更为行之有效
  • 每周在老师的博客里应用同学们的话再点评,会激起很多同学学习的欲望。

你觉得这门课老师应该停止做哪一件事情?

  • 停止的事情没想好,但是我觉得实验有点不太合理,全部都是步骤一步一步完全没怎么经过思考,最后考核代码方面也是非常敷衍。但我知道如果不给我们实验步骤、按照这学期实验难度我们肯定是吃不消的,或许老师可以降低实验的难度,给我们指导性的方案,完成实验。

你觉得这门课老师应该开始做什么新的事情?

  • 我觉得给实践考核这块,可以要求把老师给的代码每行都加注释,对于家庭作业的学习可以写在作业本上,毕竟一笔一划的学习方式还是比click键盘来的实在(至少我这么认为);每周的知识点总结也可以写在笔记本上,作为期末加分项。

本文的连接:(http://www.cnblogs.com/20145238jym/p/6217098.html)

  • 最后还是感谢娄老师一年来的指导,每周五点博客评论还有每周成绩排行都像一个boom!时而是炸弹时而是彩蛋。有惊喜、有失落,点点滴滴,伴我们一路前行。
posted @ 2016-12-24 12:15  20145238荆玉茗  阅读(154)  评论(0编辑  收藏  举报