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多路复用
逻辑流被模型化为状态机,所有流共享同一个地址空间
线程
运行在单一进程上下文中的逻辑流,由内核进行调度,共享同一个虚拟地址空间
你有什么项目被加分,谈谈你的经验
加分项目就是老师给出的加分项目,感觉有了加分,自己的动力会更大一些,会更加想要去进行钻研。
总结(给出链接和二维码)
项目(给出链接和二维码)
教程
你有什么项目被扣分,谈谈你的教训
有一次课上作业因为差了一点点时间,没有交上,所以做了一次课下补做。
课程收获与不足
一个学期的课程的学习,收获真的特别多,不仅仅是有在知识上的收获,更多的还有在学习方法以及逻辑上的收获,老师在上课的时候会给我们引申课外的经验,感觉对自己以后的学习以及其他各个方面都有很大的帮助,而自己的不足也有很多,包括动手实践少,有时学习不太认真,以后真的要进行改进。
给开学初的你和学弟学妹们的学习建议
如果重新学习这门课,怎么做才可以学的更好
真的想对学弟学妹们说,java和《信息安全设计基础》这两门课程真的有特别大的价值去学习,会让我们受益匪浅,如果想学好的话,我建议学弟学妹们要提前进行学习,打好提前量,并且要紧跟老师的步伐,只有这样才有可能学好。
问卷调查
- 你平均每周投入到本课程多长时间?
每周大约15个小时左右。
- 每周的学习效率有提高吗?
有提高,慢慢的学习效率越来越高了。
- 学习效果自己满意吗?
一般满意,还有很大进步的空间。
- 课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
我觉得有点难,不过我一个学期会保持写5篇以上的博客。
- 你觉得这门课老师应该继续做哪一件事情?
有考试制度。
- 你觉得这门课老师应该停止做哪一件事情?
还没想到
- 你觉得这门课老师应该开始做什么新的事情?
提前放出资源来让大家进行预习。