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

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

作业链接及二维码

  • 第一周作业:第一章、第七章,计算机系统漫游

  • 第二周作业:复习C语言中关于二进制文件和文本文件读写的相关内容,模仿od完成myod

  • 第三周作业:第二章《信息的表示和处理》

  • 第四周作业:掌握两个重要命令: man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用 grep -nr XXX /usr/include :查找宏定义,类型定义

  • 第五周作业:第三章《程序的机器级表示》

  • 第六周作业:第八章《异常控制流》,第十章《系统级I/O》

  • 第七周作业:第四章《处理器体系结构》

  • 第八周作业:第十一章《网络编程》,第十二章《并发编程》

  • 第九周作业:第六章《存储器层次结构》

  • 第十周作业:无

  • 第十一周作业:第九章《虚拟存储器》

  • 第十二作业:无

  • 第十三周作业:找出全书你认为最重要的一章,深入重新学习一下

  • 第十四周作业:找出全书你认为学得最差的一章,深入重新学习一下

实验报告链接汇总

  • 实验一 开发环境的熟悉:

    1.交叉编译环境

    2.目标机宿主机联通

    3.目标机运行程序

  • 实验二 固件程序设计:

    1.MDK

    2.LED

    3.UART

    4.国密算法

  • 实验三 实时系统:

1.并发程序-1:客户端传一个文本文件给服务器

2.并发程序-2:用多线程实现wc服务器并使用同步互斥机制保证计数正确

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

    1.学习资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章

    2.在Ubuntu完成资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章的test试验

  • 实验五 通讯协议设计:

    1.研究OpenSSL算法,测试对称算法中的AES,非对称算法中的RSA,Hash算法中的MD5

    2.在Ubuntu中实现对实验二中的“wc服务器”通过混合密码系统进行防护

代码托管链接和二维码:

  • 截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果,代码量汇总提交statistics.sh的支持截图

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

通过几次实验以及利用的工具,学到了一些代码驱动的知识。

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

加代码和改代码都是在已经理解了程序的基础上进行的,所以我们必须先要读懂程序,才可以进行下一步的添加或者改进。

  • 实践上有什么经验教训

需要先理解和读懂代码的意思,再进行实验,否则步骤会混乱非常消耗时间。

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

第一章中提出的问题基本上没有抓住学习重点。

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

第一章:对于多线程问题:当一个处理器等待输入设备响应的时候,多线程会转向执行另一个程序命令,假如任务A需花费5分钟,任务B需话费10分钟,对于任务A等待输入设备指令时跳去执行任务B,任务A和任务B在我的理解里不能同时进行,但是所花费的时间为什么时10分钟,是有多个处理器吗,我理解的是15分钟。

答:单处理器应该是

第二章:怎么样让负数等于正数?

答:在负数x后加上U,可以使其转换为(2^w+x)

第三章:为什么C语言只有一个条件语句;而汇编中有两个分支呢?

答:第一个条件分支是&&表达式实现的一部分;如果对非空的测试失败,代码会跳过测试。

第四章:Y-86和X-86的区别

答:区别就在于,有的时候Y86需要两条指令来达到X86一条指令就可以达成的目的

第五章:程序性能的评估方面,如何评估

答:评估程序的效率,循环的次数,过程调用的次数,并且尽力减少不必要的内存调用。

第六章:存储器的结构是什么

第七章:如何构造动态链接库,动态链接库和静态链接库的区别是什么

答:动态链接库相比静态链接库相比,优势是:1 共享内存 2 独立升级组件(插件)3可以显示动态加载(dllopen)。劣势:是损失一点点效率(计算符号地址)

第八章:如何理解并发流,怎么应用

答:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥

第九章:虚拟内存的作用是什么,和实际的内存区别在哪里

答:虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

第十章:如何读取目录内容

答:通过readdir系列函数来读取目录内容

第十一章:如何构建Web服务器

答:利用Socket、connect、bind、listen、accept函数构建服务器与客户端连接。

第十二章:如何在客户端-服务器中加入并发的结构

答:主线程通过调用pthread_create函数创建一个新的对等线程。当对pthread_create的调用返回时,主线程和新创建的对等线程同时运行,并且tid包含新线程的ID。

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

优秀作业(给出链接和二维码)

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

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

教程(给出链接和二维码)

竞赛
...

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

不动手实践

迟交作业

不验收代码
...

课程收获与不足

  • 自己的收获(投入,效率,效果等)

    对于计算机系统有了更全面更细致的了解,并且在代码方面有了更深的理解。

  • 自己需要改进的地方

    希望自己可能更加精益求精一些,不要满足于完成了一些基础知识。

  • 如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议

    结对的过程主要是课后习题的讨论,结对同伴学习能力很强,对于题目的理解更加深刻,在相互交流之后学习到了更好的方法。

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

    还是要理论和实践结合,不要满足于基本的知识。

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

    多实践一些代码吧。

问卷调查

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

    大概有10个小时吧

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

    学习效率提高不明显。

  • 学习效果自己满意吗?

    还可以,不是很好,还有进步的空间。

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

    大概不会

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

    课外拓展方面应该继续。

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

我觉得问题还是在讲的不是很有条理吧,感觉零零散散的全靠课上听讲没有办法把知识整合到一起。

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

    做一个讲课的流程图与课本结合。
    其他任意发挥
    link

posted @ 2017-12-31 12:34  滕树晨  阅读(188)  评论(0编辑  收藏  举报