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

每周作业链接汇总

第一周

了解Linux操作系统,掌握核心的Linux命令,实验楼实验学习。

第二周

教材第一章,学习vim编辑器,熟悉gcc编译器,gdb调试技术,makefile基本原理及语法,静态库和动态库的生成与调用方法,实验楼实验学习。

第三周

教材第二章内容,理解二进制在计算机中的重要地位,掌握布尔运算在C语言中的应用,理解有符号整数、无符号整数、浮点数的表示。

第四周

学习了系统编程错误处理的方式;掌握Unix/Linux系统级I/O:open close read write seek stat和I/O重定向的方法。

第五周

理解逆向的概念,掌握X86汇编基础,能够阅读(反)汇编代码,了解ISA(指令集体系结构),理解函数调用栈帧的概念,并能用GDB进行调试。

第六周

理解进程和并发的概念,掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv。

第七周

教材第四章内容,了解ISA抽象的作用,掌握ISA,并能举一反三学习其他体系结构,了解流水线和实现方式。

第九周

了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等),局部性原理,缓存思想,高速缓存的原理和应用。

第十一周

教材第九章《虚拟存储器》学习,理解虚拟存储器的概念和作用,理解地址翻译的概念,理解存储器映射,掌握动态存储器分配的方法,理解垃圾收集的概念,了解C语言中与存储器有关的错误。

第十三周

重新学习比较重要的一章,重点学习了第二章。

第十四周

重新学习了掌握的不好的一章,学习了第八章。

实验报告链接汇总

实验一:开发环境的熟悉

实验二:固件程序设计

实验三:实时系统

实验四:外设驱动程序设计

实验五:固件程序设计

代码托管链接和二维码:

截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果

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

这个真的没有做的太好,和老师的要求有一定的差距,只懂得了大概的原理。

加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得。

对代码的编写和修改可以看到最本质的东西,会让我们更接近知识的本质原理,对于我们对知识的理解有很大的帮助。

实践上有什么经验教训

实践上,还是动手实践的比较少,比较懒惰,惰性太大了,以至于有些实践没有获得很多的收获,以后还是要加强。

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

没有抓住重点,当时没有对教材进行认真的阅读,知识看到了表面的东西,所以并没有抓住重点。

回答一下第1周作业中自己提出的问题

1、计算机系统中抽象的使用;

文件是对I/O的抽象,虚拟存储器是对程序存储器的抽象,而进程是对一个正在运行的程序的抽象,虚拟机,它提供对整个计算机(包括操作系统、处理器和程序)的抽象。

2、正溢出和负溢出;

P58公式

3、变长数组的具体使用方法;

变长数组是指用整形变量或表达式声明或定义的数组,而不是说数组的长度会随时变化,变长数组在其生存期内的长度同样是固定的。

4、如何实现处理器;

重点是Y86指令集体系结构。

5、程序优化在实践环节怎样具体实施以及怎样

最大程度优化;

程序优化主要是以下三个步骤:

1.算法优化

2.代码优化

3.指令优化

6.存储器的层次结构

存储器系统是一个具有不同容量、成本和访问时间的存储器设备的层次结构。

随机访问存储器层次结构:硬件和软件的这些基本属性(存储技术、计算机软件)互相补充得很完美,这种互相补充的性质使人想到一种组织存储器系统的方法。

高速缓存存储器层次结构只有三层:CPU寄存器、DRAM主存储器和磁盘存储。

7、链接是怎样执行的;

链接可以在编译时由静态编译器来完成,也可以在加载时和运行时由动态链接器来完成。 8、怎样进行异常处理;

1.处理器检测到有异常发生

2.通过异常表,进行间接过程调用,到达异常处理程序

3.完成处理后:①返回给当前指令②返回给下一条指令③终止

9、如何使用以及管理虚拟存储器;

虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。

10、Unix I/O是什么以及它的用处;

输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程。

11、如何编写使用因特网提供的服务的客户端-服务器程序;

当客户端需要服务时,向服务器发送请求,发起一个事务。

服务器收到请求后,解释它,并以适当的方式操作它的资源。

服务器给客户端发送一个响应,并等待下一个请求。

客户端收到响应并处理它。

12、并发编程的具体含义以及如何实现。

如果逻辑控制流在时间上重叠,那么它们就是并发的。 进程

每个逻辑控制流是一个进程,由内核进行调度,进程有独立的虚拟地址空间

I/O多路复用

逻辑流被模型化为状态机,所有流共享同一个地址空间

线程

运行在单一进程上下文中的逻辑流,由内核进行调度,共享同一个虚拟地址空间

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

加分项目就是老师给出的加分项目,感觉有了加分,自己的动力会更大一些,会更加想要去进行钻研。

总结(给出链接和二维码)

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

项目(给出链接和二维码)

socket编程

教程

Mypwd 的解读与实现

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

有一次课上作业因为差了一点点时间,没有交上,所以做了一次课下补做。

课堂测试(ch06)(补做)

课程收获与不足

一个学期的课程的学习,收获真的特别多,不仅仅是有在知识上的收获,更多的还有在学习方法以及逻辑上的收获,老师在上课的时候会给我们引申课外的经验,感觉对自己以后的学习以及其他各个方面都有很大的帮助,而自己的不足也有很多,包括动手实践少,有时学习不太认真,以后真的要进行改进。

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

如果重新学习这门课,怎么做才可以学的更好

真的想对学弟学妹们说,java和《信息安全设计基础》这两门课程真的有特别大的价值去学习,会让我们受益匪浅,如果想学好的话,我建议学弟学妹们要提前进行学习,打好提前量,并且要紧跟老师的步伐,只有这样才有可能学好。

问卷调查

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

每周大约15个小时左右。

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

有提高,慢慢的学习效率越来越高了。

  • 学习效果自己满意吗?

一般满意,还有很大进步的空间。

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

我觉得有点难,不过我一个学期会保持写5篇以上的博客。

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

有考试制度。

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

还没想到

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

提前放出资源来让大家进行预习。