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

20145229 吴姗珊《信息安全系统设计基础》课程总结

每周作业链接汇总

  • 第0周作业

  • 简要内容:
    1.了解课程上课方式
    2.做好心理预期
    3.阅读老师所给的博客,回答问题
    4.翻阅课本后对每一章提出一个问题
    5.安装好虚拟机

  • 二维码:

  • 第一周作业

  • 简要内容:
    1.了解Linux操作系统
    2.掌握核心的Linux命令:find/locate/cheat/grep/which/whereis,熟练应用“搜索”进行举一反三的学习
    3.使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等

  • 二维码:

  • 第二周作业

  • 简要内容:
    1.熟悉Linux系统下的开发环境
    2.熟悉vi的基本操作
    3.熟悉gcc编译器的基本原理
    4.熟练使用gcc编译器的常用选项
    5.熟练使用gdb调试技术
    6.熟悉makefile基本原理及语法规范
    7.掌握静态库和动态库的生成与调用方法

  • 二维码:

  • 第三周作业

  • 简要内容:
    1.理解二进制在计算机中的重要地位
    2.掌握布尔运算在C语言中的应用
    3.理解有符号整数、无符号整数、浮点数的表示
    4.理解补码的重要性
    5.能避免C语言中溢出,数据类型转换中的陷阱和可能会导致的漏洞
    6.进一步理解“信息=位+上下文”

  • 二维码:

  • 第五周作业

  • 简要内容:
    1.理解逆向的概念
    2.掌握X86汇编基础,能够阅读(反)汇编代码
    3.了解ISA(指令集体系结构)
    4.理解函数调用栈帧的概念,并能用GDB进行调试
    5.阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下
    6.教材3.1-3.7节中练习,重点:3.1,3.3,3.5,3.6,3.9,3.14,3.15,3.16,3.22,3.23,3.27,3.29,3.30,3.33,3.34

  • 二维码:

  • 第六周作业

  • 简要内容:
    1.了解ISA抽象的作用
    2.掌握ISA,并能举一反三学习其他体系结构
    3.了解流水线和实现方式
    4.教材4.1-4.3中练习,重点:4.1 4.2 4.5 4.6 4.8 4.10 4.11 4.12 4.16 4.17 4.19 4.21 4.24

  • 二维码:

  • 第七周作业

  • 简要内容:
    1.了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等)
    2.理解局部性原理
    3.理解缓存思想
    4.理解局部性原理和缓存思想在存储层次结构中的应用
    5.高速缓存的原理和应用

  • 二维码:

  • 第八周作业

  • 简要内容:
    1.复习Linux命令,特别是man -k, cheat, grep -nr xxx /usr/include
    2.复习vi, gcc, gdb,make的使用
    3.复习教材内容ch01 ch02 ch03 ch04 ch06 ch07
    4.复习前面的考题,下次考试考每次考试错的最多的题目

  • 二维码:

  • 第九周作业

  • 简要内容:
    1.掌握系统编程和系统调用的概念
    2.掌握系统编程错误处理的方式
    3.掌握Unix/Linux系统级I/O:open close read write seek stat
    4.掌握RIO
    5.掌握I/O重定向的方法

  • 二维码:

  • 第十周作业

  • 简要内容:
    1.掌握系统编程和系统调用的概念
    2.掌握系统编程错误处理的方式
    3.掌握Unix/Linux系统级I/O:open close read write seek stat
    4.掌握RIO
    5.掌握I/O重定向的方法

  • 二维码:

  • 第十一周作业

  • 简要内容:
    1.了解异常及其种类
    2.理解进程和并发的概念
    3.掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv,
    4.理解数组指针、指针数组、函数指针、指针函数的区别
    5.理解信号机制:kill,alarm,signal,sigaction
    6.掌握管道和I/O重定向:pipe, dup, dup2

  • 二维码:

  • 第十二周作业

  • 简要内容:
    1.第九周代码检查
    2.第十周代码检查
    3.第十一周代码检查
    4.项目

  • 二维码:

  • 第十三周作业

  • 简要内容:
    1.掌握三种并发的方式:进程、线程、I/O多路复用
    2.掌握线程控制及相关系统调用
    3.掌握线程同步互斥及相关系统调用

  • 二维码:

  • 第十四周作业

  • 简要内容:
    1.理解虚拟存储器的概念和作用
    2.理解地址翻译的概念
    3.理解存储器映射
    4.掌握动态存储器分配的方法
    5.理解垃圾收集的概念
    6.了解C语言中与存储器有关的错误

  • 二维码:

实验报告链接汇总

代码托管链接和二维码:

  • 截图,老师我虚拟机已经崩了不知道多少次了,实在是不行。。

  • 代码驱动的学习做到没有?
    做到了,前面老师并没有要求要以周或者单元分类代码,所以没有整理,基本上自己敲完代码截图完后就没管了,到后面老师写了一篇关于代码驱动的博客教我们如何进行代码驱动,首先下载git,然后新建文件夹,按每章节分类,把代码全部整合进去,后形成一个代码树分支,这样做非常有效以及方便自己找寻东西

  • 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
    说实话自己在代码上并没有太多的理解,每次都只是敲了老师给的代码,然后运行编译,然后通过看书有一些基础的代码语法的了解,加点代码或者改点代码没有做过,觉得自己看到代码都觉得很烦躁,觉得学习了书上的内容就足以应付考试了,这学期的书上的内容每一章我都有认真学习,理论的知识很多甚至我都可以背下来很多地方也有自己的理解,但是老师考试一出代码题就觉得自己什么都不会了,一种深深的挫败感,所以我认为代码的理解和学习是非常有必要的

  • 实践上有什么经验教训
    说到实践想必很多同学和我一样,只是敲了代码,运行然后编译觉得自己已经进行了实践,其实并没有去理解代码,觉得运行截图然后放在博客里就表示自己已经学习了,这是一种自欺欺人的手法,看书上的内容应付考试百分之八十已经足够了,但是如果不理解的话,遇到代码问题就只会单纯的编译运行命令,说实话并没有什么作用

  • 整体评价一下第0周作业中自己提出的问题是不是抓住了学习重点
    刚刚看了一下自己第0周的博客,感觉提出的问题并没有抓到重点,提出的只是一些小细节的概念问题,对于主要的大体诳街都没有把握住

  • 对第0周问题的回答:
    1.各种存储设备之间是怎样进行交流的
    CPU是中央处理器,是控制和运算器;存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息;I/O接口是输入/输出的接口;硬盘(储存器)就是通过I/O接口,把数据送到内存中供CPU处理的

2.浮点表示方式在计算机中是如何实现的?
浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。

3.机器级表示是什么?
机器使用二级制数0/1串表示数据,我们叫做位级表示,x86计算机,用8位表示一个字符,用32位表示一个整数,用64位表示一个浮点数。

4.计算机处理器是如何设计的?

5.什么是最小二乘方拟合?
寻求与给定点 {(Xi,Yi)}(i=0,1,…,m)的距离平方和为最小的曲线y=p(x).函数p(x)称为拟合函数或最小二乘解,求拟合函数p(x)的方法称为曲线拟合的最小二乘法.
6.基本存储技术都包括哪些?

7.动态链接共享库如何实现?
动态共享库是被所有使用它的应用程序共享的,无论调用一个动态共享库的进程有多少,系统中始终只运行着一个动态共享库,这里动态共享库中“共享”的含义。至于“动态”,则主要强调的是链接发生在什么阶段。对于静态链接库而言,链接过程发生在编译阶段,操作系统在加载程序时不再对程序做任何改变
8.系统是如何处理遇到的突发状况

9.虚拟存储器如何工作?它有什么特性?
在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”;拟内存的作用 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。

10.我们该使用哪些I/O函数?

11.web服务器如何搭建?

12.并发编程是什么?
所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。多个事件在同一时间间隔发生。

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

你有什么项目被扣分,谈谈你的教训

  • 之前因为没有认真学习然后进入待及格,但是其实老师给了很多机会,通过代码验收然后多写博客写教程,认真写都有可能加分,到现在我觉得那更是一次历练,让我知道自己已经落后了,我应该努力追上别人,而不是破罐子破摔去放弃学习

待及格管理制度的优缺点

  • 博客链接
  • 优缺点:会给落在后面的同学敲警钟,让我们知道我们已经被落在了后面,有一个警觉的作用,而不是每天觉得自己并没有比别人差多少,自己学的挺好的,这个制度让我进步了很多,而且老师给出的各种机会让我也有机会加分,激起学习的兴趣,之前进入待及格的时候我基本上每周考试只能拿2分,到后面每周都认真学习,基本上能保证每周拿4分,可能对于别人并不算多,但是对于我自己是很大的进步

课程收获与不足

  • 自己的收获
    首先在第一周的时候阅读老师给的博客,由于新学期的热血沸腾自己学习得真的很认真,而且还被老师评为了优秀博客,到后面贪玩了几周进入了待及格,通过每周多写一篇博客以及找老师验收代码加了几分,并且端正了自己的学习态度,每周固定在周三开始学习,每天学习的内容不多,但是一定会弄懂,书上的内容理解得还挺透彻的,之前老师开玩笑说如果通过看书本的新旧程度判分数的话不会差很多,我当时觉得很奇怪,现在觉得真的是这个道理,现在我的课本每页都有自己的标记自己的理解,由于时间够充足当然效率会提高很多,不会盲目的过一遍书。说实话我之前习惯于到周末“一天一本书,一周一学期”的考试模式,现在觉得这种方式比较起来学得东西当然会更多,细嚼慢咽比囫囵吞枣更让人感到舒服

  • 自己需要改进的地方
    自己每周看老师的要求学习任务,只是会机械的完成,除了任务外的东西多一点点都不会做,直到那周要交实验博客的时候,之前的累计着一直没写,那一周写了7篇博客,真的是写得快窒息了,觉得自己又开始拖任务了,所以我需要改进的地方还是不要把事情拖到最后一刻以及多学一点点东西并不会浪费时间而是掌握技能

给开学初的你和学弟学妹们的学习建议

  • 如果重新学习这门课,怎么做才可以学的更好
    首先,我一定会从第一周开始就认真学习书上的内容,说实话有的同学觉得考试难,我自己是一个活生生的例子,只要你这一周认真看书认真学习书上的内容,你的考试成绩应该是最低4分,这样算下来你每周考试就能拿48分,然后加上实验的2分,相当于你只是认真学了书本就可以拿50分,所以学习书本内容非常重要!!!还有一个建议就是不要把事情拖到最后一天,你提前完成一件事情的快乐程度一定比你最后完成的快乐程度要高很多,这门课没有你想象的那么难,希望你能够努力。ps:这门课对你的要求不高对电脑的要求还是很高的,一学期虚拟机崩了8次的学姐路过,电脑崩了3次,希望你们的电脑速度够快。。

问卷调查

  • 你平均每周投入到本课程多长时间?
    一周有15个小时
  • 每周的学习效率有提高吗?
    前期效率很低,后期掌握了方法效率提高很多
  • 学习效果自己满意吗?
    后期的效果自己很满意
  • 课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
    之前写博客只是因为老师要求,其实我个人会偏向于自己的心情和感想写在日记里,我个人有写日记的癖好,这个归功于小学老师,小学语文老师从2年级要求我们每天一篇日记或者读书笔记,虽然小时候只会写流水账但是也养成了每天日记的习惯,现在我小学的日记本我都有保存,但是老师提供的这个博客我想我会用于记录学习和工作的必须内容,因为这些东西到之后可能会用到,写在日记里翻出来也得手敲,很感谢老师提供博客园这个途径,我会用于我的学习和工作。
  • 你觉得这门课老师应该继续做哪一件事情?
    继续每周考试,以我之前的心态肯定不会说出这句话,不过每周考试会逼着你学习很多你可能一辈子都不会看的知识
  • 你觉得这门课老师应该停止做哪一件事情?
    老师你需要我们下载的软件实在太多了,我电脑兼职不堪重负,老师以后少点软件下载吧
  • 你觉得这门课老师应该开始做什么新的事情?
    可以开发我们除了代码学习其他的兴趣点,每个人会有自己很优秀的一面,通过这一面让自己更加自信从而学习代码也不会觉得自己不行

本文链接

点击这里

posted on 2016-12-25 19:42  sssssqyk  阅读(152)  评论(2编辑  收藏  举报

导航