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

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

每周作业链接汇总

实验报告链接汇总

  • 实验1熟悉Linux开发环境,使用armv4l-unknown-linux-gcc指令进行编译。

  • 实验2多线程程序设计,pthread库函数的使用。

  • 实验4Linux下进行驱动设计的原理,使用模块方式进行驱动开发调试的过程。

  • 实验5学习在arm开发板上的SOCKET网络编程。

代码托管链接和二维码:

代码驱动的学习做到没有?

老实说没做到,代码大多都编译运行过,但内容结构看得不多,并不能实质性的分析解决。学过去之后往往是记得有这样一个东西,但是真正自己动手写不会。动手方面长进并不大,但是却也确确实实学到了一些东西。相比于娄老师教给我们的,过去所学的关于C语言、linux系统方面的知识只是皮毛。虽然代码驱动学习过程没有贯彻始终,但感觉比上个学期的java学习收获大,原因有三点,一是教材比java学习的教材详细,二是更贴近我们的日常应用,三是老师关注度更高、讲解更细致。

实践上有什么经验教训?

通过一学期的学习,我觉得实践绝不是自己一个人做就可以的。实践环节自己不一定能做好,借鉴高年级学长和他人经验很重要,往往是别人有了实践经验了,你还不去借鉴,那才是大问题。实践绝不是体力和时间的付出,不得法往往会让实践过程痛苦不堪,这让我想起了这学期做实验的过程。我们组盲目的按教程走并没有得出结果,其他组借鉴高年级经验却很快有了成果,就这件事让我意识到与其苦苦盯着书本看不如多借鉴那些已经成功过的同学经验来的实在。

加点代码,改点代码是理解的最好方式,谈谈你的心得

这句话很对,这让我想起这学期中楼老师给出的gdb调试加3分项目,那个实验十分简单,但却能让我们了解到程序运行究竟是怎么回事儿,有点遗憾的是没有在gdb刚学习后就进行这样细致的分析学习。

在分析代码的基础上加点代码、改点代码的理解方法娄老师是身体力行的。记得讲线程那一节老师讲了用法后给出代码让我们思考,之后又做改动让我们猜测结果,这样一种教学学习方法真的很深刻。

整体评价一下第0周作业中自己提出的问题是不是抓住了学习重点

第0周作业中自己提出的问题大多是人云亦云或者是简单看了下章节标题就草草提出的,不能说是抓住学习重点,只能说是章节标题很突出,一笑。
回答一下第0周作业中自己提出的问题
1.计算机系统的各组件是如何工作的?

这个问题问的有点傻,计算机组件包括控制器、运算器、储存设备、输入设备、输出设备五个部分,五个部分协调工作。

  1. Perl语言的代码到底是如何编译运行的?

Perl是一种脚本语言,只需要运行你的Perl程序,Perl的解释器将编译和运行你的程序。当运行程序时,Perl的内部编译器首先遍历整个源程序,把它转变为内部的字节码,它是程序的一种内部数据结构,Perl 的字节码引擎将运行这些字节码。

3.如何对计算机中的信息进行表示,它的处理方法又是什么?

计算机系统中的所有信息都是以二进制形式存储的,计算机系统规定了三种重要的编码方式:无符号编码、补码编码、浮点数编码。无符号编码是基于传统的二进制表示法,表示大于或等于0的数字;补码编码是表述有符号整数的常见方式,正或负的数字;浮点数编码是表示实数的科学记数法的以2为基数的版本。

4.流水线的更新换代是逻辑上的变化重要还是技术上重要?

这个问题不知如何回答。

5.能否创立一个程序检验程序的可优化性?

能。使用gdb调试,就可以看到程序缀余和缺陷。从而进行优化。

6.固态硬盘与U盘区别?

固态硬盘(Solid State Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。u盘是闪存。

7.动态链接必须连接互联网吗?

不是。动态链接必须连接动态文件。

8.多进程下如何处理错误?

多线程有专门的异常处理规则。

9.虚拟寄存器?

现代系统提供的一种对主存的抽象概念。虚拟存储器是异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。其拥有三种重要的能力:

  • 它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动的区域,并根据需要在磁盘的主存之间来回传送数据,通过这种方式,高效地使用了主存。

  • 它为每个进程提供了一致的地址空间,从而简化了存储器的管理。

  • 它保护了每个进程的存储空间不被其他进程破坏。

10.I/O设备有哪些?

输入设备:键盘、鼠标、麦克风、扫描仪、手写板、摄像头……
输出设备:显示器、音箱、耳机、打印机、投影仪……

11.网络编程是什么?

通过使用套接字来达到进程间通信目的的编程就是网络编程。

12.线程什么时候需要同步,什么时候不需要同步?

我们首先要明白,线程在切换之间都做了些什么事情,首先我们要知道,在系统中全局变量是在全局空间分配的,而局部变量是在系统堆栈中分配的,大家注意了,这两点概念很重要的。操作系统会为我们的每一个线程保护寄存器和堆栈现场,也就是说在线程切换的时候操作系统会为我们的线程恢复原来的寄存器和堆栈现场的(懂些汇编可能更容易理解一些)。所以大家一定要明确,虽然多个线程执行的代码相同,但是他们的局部变量的值实际上也是不相同的,因为线程切换的时候操作系统会恢复他们原来的值,所以局部变量一般不需要同步,当然特殊的情况大家就要仔细了。

你有什么项目被加分,谈谈你的经验

加分项目目前只有gdb调试的3分。对于加分项目一定要早争取,越往后留下的项目越不好做。扇贝单词一定要背,积少成多给5分一举多得。娄老师的加分项目不是学得好的同学的特权,所有同学都可以做,有难有益,只要想得到加分就一定能得到。

待及格管理制度的优缺点

优缺点

多发博客没有坏处,而且还减少了投机取巧的可能。检查代码行之有效,保证了以代码促进学习。这种方法对后进同学给予了适当的监督,极大的抑制了我们自身的惰性,娄老师本着负责任的态度监督后进的同学是对我们的关注和鼓励。这体现了娄老师因材施教的教学方法,起码对我的帮助很大。

课程感想

  • 这门课程学完和其他科目的感觉不一样。娄老师在上课之初曾说道,到了期末别人要复习,而你们有了更多的时间复习其他科目。现在想想真的不错,到了17、18周分数基本定下来,我们有了更多时间准备其他的学科考试,看着别人满满的考试表而我们只有几门那种感觉非常好,回想之前的努力会觉得非常划算。
  • 这门课收获还是很多的,自主学习有了更多的空间和时间,课上考试又给予检验和证明,代码实践又辅助认识和学习,非常全面深刻。更重要的是让我们学会了一种学习方法,学会独立学习和自主学习,认识问题解决问题的方法,这对我们将来的成长收效良多。
  • 我在学这门课程中并没有认识到种种收益,也许是不感兴趣,也许是贪于娱乐。但事后想来十分可笑,所幸在娄老师的帮助下终有收获和认识。
  • 在本课程学习的下半段时间里,我都加大了对这一学科的时间投入,但主要放到了课本上并没有起到多么突出的效果,但总有收获。
  • 要学好这一门课,我的建议有以下几点:一是认真读懂课本,二是学会娄老师给的和书上的代码,三是做好加分项目,四是多看别人的博客借鉴别人的做法,五是一定身体力行切身实践。做好以上几点就能学好这一课。想送给学弟学妹一句话当你想应付这一课的学习时很简单,但一定要记住平日的付出换来了期末的轻松。
  • 如果让我重新学这一课程,我会转变用功的角度,书本知识很重要,但是代码实践更重要,学好代码、做好实践比多读一遍书重要的多。

问卷调查

  • 1.你平均每周投入到本课程多长时间?

8个小时左右。

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

有一定的提高。

  • 3.学习效果自己满意吗?

不满意,没有达到预期的效果。

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

我会尝试去做,但是不饮定能坚持下来,如果能坚持下来,我情愿不要那本书。

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

课上讲解,加分项目。

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

教材学习不要再几百页的布置,看不完、学不好。

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

设立闭卷加分考试。让一开始落下的同学能够追上来。

  • 8.其他任意发挥

课程教学方法十分好,但有的时候感觉内容偏零散,不够调理。就像是老师的学习指导,虽然细致,但却感觉无从下手。

本文链接和二维码:http://www.cnblogs.com/jokebright/p/6220538.html

参考资料

posted @ 2016-12-25 21:13  joke-bright  阅读(266)  评论(2编辑  收藏  举报