20155308 《信息安全系统设计基础》课程总结
每周作业链接汇总
- 第一周作业:第一章《计算机系统漫游》第七章《链接》
- 第二周作业:第二周课上+课下测试
- 第三周作业:第二章《信息的表示和处理》
- 第四周作业:第四周课上+课下测试
- 第五周作业:第三章《程序的机器级表示》
- 第六周作业1:第八章《异常控制流》第十章《系统级I/O》
- 第六周作业2:第六周课上+课下测试
- 第七周作业:第四章《处理器体系结构》
- 第八周作业1:第十一章《网络编程》第十二章《并发编程》
- 第八周作业2:第八周课上+课下测试
- 第九周作业:第六章《存储器层次结构》
- 第十周作业:第十周课上+课下测试
- 第十一周作业:第九章《虚拟存储器》
- 第十三周作业:最重要的一章
- 第十四周作业:学得最差的一章
实验报告链接汇总
- 实验一 开发化境的熟悉:交叉编译环境、目标机宿主机联通、目标机运行程序、目标机模块分解、清理
- 实验二 固件程序设计:MDK、LED、UART、国密算法、SM1、清理
- 实验三 并发程序:学习使用Linux命令wc(1)、实现wc(1)服务器和客户端、使用多线程实现wc服务器并使用同步互斥机制保证计数正确
- 实验四 外设驱动程序设计:学习资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”提交康奈尔笔记、完成资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章的test试验
- 实验五 通讯协议设计:在Ubuntu中完成 http://www.cnblogs.com/rocedu/p/5087623.html 中的作业、在Ubuntu中实现对实验二中的“wc服务器”通过混合密码系统进行防护
加分项博客
代码托管链接和二维码:
二维码
- 截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果
- 代码量汇总提交statistics.sh的支持截图
- 代码驱动的学习做到没有?
根据老师http://www.cnblogs.com/rocedu/p/5927306.html的博客,我在本学期将git使用的很好,虽然在使用中总是会有各种各样的错误提示,但是可以根据错误提示,上网或者根据各位学长学姐的博客,进行改正,整体来说还是使用还是比较顺利的。
- 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
在本书更开始的时候,讲的C语言的基础,感觉虽然很简单,但是是一个很好的复习途径,一定不要忽视。后来通过学习的深入,我越来越发现学习的难度在加大,而且有的时候并不能看懂,在这种时候,按照书上的代码打一遍是一个很好的学习方法。后来,通过学习的深入,我们能够将代码有了自我的理解,在此基础上,加入自己思想,才是对代码理解的最高层次。
- 实践上有什么经验教训
回顾自己本学期的学习,在课堂测试的时候,自己从来没有在课堂上完整地完成一次作业,说明我在课下的学习还不够,但是自己补写课上的测试和老师所留的课下作业,通过这种方法,重新温习了老师所考的知识点,我觉得这个是一个很好的学习机会。
整体评价一下第1周作业中自己提出的问题是不是抓住了学习重点
我在第一周作业中提出的问题我感觉有的部分抓住了重点,但是具有一定的局限性,有的问题是总体概况,有的是细节方面的问题。总体来说还是满足要求的。
回答一下第1周作业中自己提出的问题
-
第一章:计算机系统主要概念?
-
答:计算机系统由计算机硬件和软件两部分组成。硬件包括中央处理机、存储器和外部设备等;软件是计算机的运行程序和相应的文档。计算机系统 具有接收和存储信息、按程序快速计算和判断并输出处理结果等功能。
-
第二章:IEEE标准浮点格式,如何用它来表示数值?
-
答:用V = (-1)s * M *2E
-
第三章:有哪些控制结构?
-
答:条件、循环、开关等
-
第四章:处理器体系结构中“流水线”思想是什么?
-
答:将处理一条指令所需要的不同步骤实现为独立的阶段。这个设计中,在任何时刻,每个阶段都可以处理不同指令。
-
第五章:有哪些提高代码性能的技术?
-
减少不必要的内存引用、减少过程调用、消除循环的低效率
-
第六章:时间的局部性和空间的局部性是什么意思?
-
答:进程运行时,在一段时间里,程序的执行往往呈现高度的局部性,包括时间局部性和空间局部性。时间局部性是一旦一个指令被执行了,则在不久的将来,它可能再被执行。空间局部性是一旦一个指令一个存储单元被访问,那么它附近的单元也将很快被访问。程序的局部性原理是虚拟存储技术引入的前提。虚拟存储的实现原理是,当进程要求运行时,不是将它全部装入内存,而是将其一部分装入内存,另一部分暂时不装入内存。
-
第七章:静态链接和动态链接区别?
-
答:静态链接方法:#pragma comment(lib, "test.lib") ,静态链接的时候,载入代码就会把程序会用到的动态代码或动态代码的地址确定下来
静态库的链接可以使用静态链接,动态链接库也可以使用这种方法链接导入库动态链接方法:LoadLibrary()/GetProcessAddress()和FreeLibrary(),使用这种方式的程序并不在一开始就完成动态链接,而是直到真正调用动态库代码时,载入程序才计算(被调用的那部分)动态代码的逻辑地址,然后等到某个时候,程序又需要调用另外某块动态代码时,载入程序又去计算这部分代码的逻辑地址,所以,这种方式使程序初始化时间较短,但运行期间的性能比不上静态链接的程序。
-
第八章:进程是什么意思?和线程的区别?
-
答:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。
-
线程与进程的区别归纳:
a. 地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
b. 通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
c. 调度和切换:线程上下文切换比进程上下文切换要快得多。
d. 在多线程OS中,进程不是一个可执行的实体。 -
第九章:虚拟内存有什么用?
-
答:虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
-
第十章:I/O重定向是如何工作的?
-
答:所谓的I/O重定向也就是让已创建的FD指向其他文件。原理及过程学习http://blog.csdn.net/ixidof/article/details/44727689
-
第十一章:如何用套接字接口编写一个Internet客户端和服务器?
-
答:此部分为练习部分,可参考http://www.doc88.com/p-5963520681108.html网页,或者参考第十一章博客,进行了学习
-
第十二章:编写并发程序的基本机制有哪些?
-
答:进程、I/O多路复用和线程
你有什么项目被加分,谈谈你的经验
我参加了2017第三届全国密码技术竞赛。这个竞赛过程我认为是比较考验人,但是通过这个竞赛,我学习了很多关于密码学的东西,并且发现我们现在学习的东西还是基础,如果想要学的更多,应该抓紧机会参加这种比赛,可以给自己一个学习的环境。
- 优秀作业
- 总结
- 项目
- 教程
- 竞赛
获得2017第三届全国密码技术竞赛三等奖
你有什么项目被扣分,谈谈你的教训
在本学期我还没有被扣分的项目,但是因为自己第六周的测试课上没有按时提交上,虽然自己课后补了博客,但是成绩不是很好,这一点在我心里就是相当于被扣了分,我觉得无论如何,还是要按时交测试,整体成绩才会比较高。
课程收获与不足
- 自己的收获(投入,效率,效果等)
我自己对于这门课的投入自认为是比较多的 ,尤其是刚开始的时候,每章都是100多页,学习起来压力很大,但是后来自己的学习效率提高了,对一些知识点的重复使用使我对这些知识有了掌握,整体来说还是学习到了很多。
- 自己需要改进的地方
我在刚开始的时候,总是因为学习的东西很多,然后再某些知识点的学习上很马虎,后来用到的时候,掌握的不是很好,然后自己用了一定的时间进行温习,但是感觉还是不是很熟。所以我认为在学习的时候,一定要跟住老师,花够一定时间进行学习,才能熟练掌握。同时自己的实践不够,对知识点的掌握仅存在于理论层面,我认为我自己应该多加练习。
- 如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
我的结对同学是黄月同学,她的学习很好,然后她在实验等方面帮助了我很多,告诉我应该怎么做,怎么去学习,我认为这种互帮互助的学习方法应该继续下去。
给开学初的你和学弟学妹们的学习建议
- 如果重新学习这门课,怎么做才可以学的更好
- 首先,需要大致了解一下关于本书的知识点,知道我们要学习什么。希望在这一部分老师可以给出一个总结。
- 在课程刚开始的时候,一定要跟住老师的步伐,有的时候看书一定要多做练习题,而且不要有这种想法:“这周我先少学点,然后下周再补回去”,根据我的经验,这种想法一般很难实现,因为我们每章知识点都是很多的,所以一定尽力跟住,这样才能继续学习下去。
- 课下测试要认真去做,因为实践对于我们这门课是很重要的。
问卷调查
- 你平均每周投入到本课程多长时间?
包括写博客,平均15小时
- 每周的学习效率有提高吗?
在刚开始初,书上知识点不太懂的时候,学习效率很低,后来因为学习东西增多,学习时间还是很长,但是效率有一点地提高。
- 学习效果自己满意吗?
不是特别满意,感觉学到了一些东西,但是还没有像一些同学学的特别透彻。这也是我将要继续学习的一点。
- 课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
如果有和本书相关的部分,我会继续写博客记录我的学习成果,但是可能不会一周一篇博客。
-
你觉得这门课老师应该继续做哪一件事情?
- 上课记笔记,我觉得这个是很好的一点,可以督促我们学习。
2.给同学补课下测试的机会,我认为这个是给一些学习能力不强的同学的一种机会,能够督促他们学习。
- 上课记笔记,我觉得这个是很好的一点,可以督促我们学习。
-
你觉得这门课老师应该停止做哪一件事情?
出门门票互相评论对方学习感受。我认为这个部分对我们的学习不是很有益处。
-
你觉得这门课老师应该开始做什么新的事情?
- 在每次实验之前可以用一定时间对我们的实验进行讲解,或者给我们一定的教程。因为在三、四次实验的时候我觉得直接上去做是有一定的难度,希望老师可以花点时间给我们讲讲实验过程和需要注意的事项。
- 给同学每章学习的重点,以及讲一下这章学习重点学习的部分。
其他任意发挥
总结一下我本学期的学习,我认为自己还有成长的空间,同时感谢老师给了课上测试没有完成的同学可以补博客的机会。同时如果有机会的话,我将继续学习这本书中的内容,相信对我自己以后的学习将会有很大的帮助。