2017-2018-1 20155216 《信息安全系统设计基础》课程总结
2017-2018-1 20155216 《信息安全系统设计基础》课程总结
(按顺序)每周作业链接汇总
第一周作业:
简要内容:
计算机的组成;处理器读取并解释存放主存里的二进制指令;操作系统内核是应用程序和硬件之间的媒介;网络提供了计算机系统之间通信的手段。
二维码:
第二周作业:
简要内容:
行断点的设置
行断点的设置、静态库、共享库、myod的实现。
二维码:
第三周作业:
简要内容:
信息储存、整数表示、整数运算、浮点数的学习。
二维码:
第三周作业:
简要内容:
信息储存、整数表示、整数运算、浮点数的学习。
二维码:
第四周作业:
简要内容:
Myod系统调用版本调用、Unix I/O、打开和关闭文件、head tail的使用。
二维码:
第五周作业:
简要内容:
理解逆向的概念、掌握X86汇编基础,能够阅读(反)汇编代码、了解ISA指令集体结构、理解函数调用栈帧的概念,并能用GDB进行测试、了解过程和浮点代码。
二维码:
第六周作业:
简要内容:
了解异常及其种类、理解进程和并发的概念、理解函数调用栈帧的概念,并能进行GDB测试、掌握进程创建和控制的系统调用及函数使用、理解数组指针、指针数组、函数指针、指针函数的区别、理解信号机制、掌握管道和I/O重定向。
二维码:
第七周作业:
简要内容:
ISA抽象的作用、流水线及其实现方式、Y86-64指令集体系结构、逻辑设计和硬件控制语言HCL、Y86-64的顺序实现。
二维码:
第八周作业:
简要内容:
三种并发的方式:进程、线程、I/O多路复用、线程控制及相关系统调用、线程同步互斥相关系统调用。
二维码:
第九周作业:
简要内容:
常见的储存技术(RAM、ROM、磁盘、固态硬盘等)、局部性原理、缓存思想、局部性原理和缓存思想在存储层次结构中的应用。
二维码:
第十一周作业:
简要内容:
虚拟存储器的概念和作用、地址翻译的概念、存储器的映射、C语言中与存储器有关的错误。
二维码:
第十三周作业:
简要内容:
异常、异常处理、异常的类别、进程、逻辑控制流、并发流、私有地址空间、用户模式和内核模式、上下文切换、系统调用错误处理、进程控制、信号、非本地跳转。
二维码:
第十四周作业:
简要内容:
程序的机器级表示的历史观点、c语言代码、汇编代码、机器代码之间的关系、数据表示、数据访问、传送和算术运算、算术和逻辑操作、条件码和跳转指令、栈帧结构基础、普通函数、递归函数的调用过程、数组和指针、结构和联合、数据对齐、缓冲区溢出、GDB调试器、GDB支持对机器级程。
二维码:
第十五周作业:
简要内容:
课程总结。
二维码:
(按顺序)实验报告链接汇总
实验一 实验名称:开发化境的熟悉
简要内容:
交叉编译环境、目标机宿主机联通、目标机运行程序。
二维码:
实验二 实验名称: 固件程序设计
简要内容:
MDK、LED、UART、国密算法、SM1。
二维码:
实验三 实验名称: 固件程序设计
简要内容:
wc命令的学习、实现wc服务器、多线程实现wc服务器。
二维码:
实验四 实验名称: 外设驱动程序设计
简要内容:
学习资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章、加载模块,卸载模块。
二维码:
实验五 实验名称: 外设驱动程序设计
简要内容:
学习混合密码系统、在Ubuntu中实现对实验二中的“wc服务器”通过混合密码系统进行防护。
二维码:
(按顺序)项目及课上测试补交博客链接汇总
第六周课上测试补交及教材练习完成
二维码:
缓冲区溢出漏洞实验
二维码:
第八周课下作业1
二维码:
第八周课下作业2
二维码:
实现mypwd
二维码:
代码托管链接和二维码:
截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果
代码托管
代码量汇总提交statistics.sh的支持截图
问题
代码驱动的学习做到没有?
对于一些较为简单的代码,以及一些课本中练习题和家庭作业中的代码进行了代码驱动学习。
加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
对于我们学习中,一些需要我们实现的代码,我们通常都会嫌麻烦或者觉得编写过程较为复杂而会去寻求一些网络资源中提供的代码,但这些代码实现的功能多少跟需要的功能有差别,这就需要我们进行修改,在修改过程中学习新的内容。其次,对于正在学习的一些代码,我们可以将代码的某些部分进行修改尝试,以体会不同的函数调用会产生哪些不同的结果,并且也可以不断地对代码进行完善,比如添加功能,或对其进行边界测试,提高代码的可控性。总之,在理论的基础上不断地进行代码驱动的实践,会使我们学到更多的知识,也会我们的学到的知识印象更为深刻。
实践上有什么经验教训
整体评价一下第1周作业中自己提出的问题是不是抓住了学习重点
只有小部分抓住了学习的重点
回答一下第1周作业中自己提出的问题
你有什么项目被加分,谈谈你的经验
优秀作业(给出链接和二维码)
总结(给出链接和二维码)
项目(给出链接和二维码)
教程(给出链接和二维码)
竞赛
无
你有什么项目被扣分,谈谈你的教训
不动手实践
迟交作业
不验收代码
有部分课上测试没有及时提交上,并且课下补博客时,博客中没有对测试的部分问题进行详细的描述,学习过程不够丰富、细致。
最好在课前对章节相关知识进行深入学习,争取在课上时间内把测试内容提交上,如果没有提交,需在课下补交博客中写明详细的完成步骤。
课程收获与不足
自己的收获(投入,效率,效果等)
1、对于一些Linux命令的实现进行了深入的学习。
2、对于计算机的系统的结构以及其中的部分框架有了大致了解。
3、对进程和线程有了更深刻的认知。
自己需要改进的地方
应对每次实验博客的内容进行丰富。
如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
在第十三周和第十四周深入学习的两章中,我与结对对象对于各自学习的内容进行相互提问和解答。
给开学初的你和学弟学妹们的学习建议
如果重新学习这门课,怎么做才可以学的更好
需要在这门课程上多花时间,因为这门课程的内容真的不少,并且也不简单。
由于课本内容较多,所以尤其要抓住重点进行学习。
问卷调查
你平均每周投入到本课程多长时间?
1~2小时
每周的学习效率有提高吗?
在刚开始学习时,效率较低,三四个星期后,效率得到提高。
学习效果自己满意吗?
不是很满意,由于课程内容较多,自己只是对于其中部分章节或部分内容掌握得较好,其它内容还存在很多漏洞。
课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
因为自己学习效率并不高,并且也没有养成写日志等记录性文章的习惯,在今后的学习中需要在其他科目上多花时间,所以并不能做到继续每周更新博客。
你觉得这门课老师应该继续做哪一件事情?
1、对于课本中的内容发布题目进行测试。
2、课上进行相关的实践测试。
你觉得这门课老师应该停止做哪一件事情?
课上未能提交测试结果的同学,课后提交补交博客是很有必要的,但是除了提交补交博客之外,还需要完成一些家庭作业或其他学习博客,这样工作量有些大,会导致补交博客不够完善,所以希望停止此类博客的写作。
你觉得这门课老师应该开始做什么新的事情?
希望老师能对课上测试的相关内容进行讲解。
其他任意发挥
老师的教学方法可能太过于先进,对于一些成绩好的,勤奋的同学来说,可能会学得很好,但是对于成绩平常或成绩较差的同学来说,有可能学到的东西就很少。因为一个学期需要学习的内容太多,并且大多数都采取自学的方式,大部分同学可能都会缺乏学习的自觉性,所以还是希望在课上,能以老师讲解为主。
给出你的总结的链接和二维码
链接
二维码: