20145230《信息安全系统设计基础》课程总结
20145230《信息安全系统设计基础》课程总结
每周作业汇总
-
第0周学习总结:看了学长学姐们的上学期的总结,大概了解了这门课程的内容及学习方式,阅读了几篇对我这门课学习有极大帮助的博客,然后大概浏览了一下《深入理解计算机系统》这本书的相关章节。
-
二维码:
-
第一周学习总结:正式加入了实验楼学习《深入理解计算机系统》这门课,通过VirtualBox虚拟机进行了一些Linux基础命令的实践,也通过网上资料的学习了解了一些常用的Linux命令。
-
二维码:
-
第二周学习总结: 主要是学习GDB和VIM编辑器的用处,感觉自己学到了新的东西,就是VIM的全新操作习惯,和我们平时的操作习惯是截然不同而,自己得去慢慢适应。通过VIM在虚拟机里面编译并运行了简单的hello world程序。
-
二维码:
-
第三周学习总结:主要理解二进制在计算机中的重要地位,掌握了布尔运算在C语言中的应用,理解了有符号整数、无符号整数、浮点数的表示,进一步理解“信息=位+上下文”。
-
二维码:
-
第五周学习总结:理解了逆向的概念,能够阅读汇编代码,了解了什么是栈帧,能用GDB对其进行调试,实验楼中的实践自己也去完成了一遍,感觉真是可以一步一步看出栈的变化。
-
二维码:
-
第六周学习总结:初步了解了Y86的指令集体系结构,也了解了处理器的体系结构,知道Y86是通过顺序实现的。
-
二维码:
-
第七周学习总结:了解了常见的一些储存技术,理解了局部性原理,了解了高速缓存的原理和应用。
-
二维码:
-
第八周学习总结:复习Linux命令,特别是man -k, cheat, grep -nr xxx /usr/include,复习vim、gdb的使用,总之,这一周就是复习前面所学到的一些知识。
-
二维码:
-
第九周学习总结:掌握系统编程和系统调用的概念,掌握系统编程错误处理的方式,掌握Unix/Linux系统级I/O:open close read write seek stat,掌握RIO,掌握I/O重定向的方法。
-
二维码:
-
第十周学习总结:这一周主要是实践内容,编译运行一些较为重要的代码,自己对系统调用这一章的知识有了更深的认识。
-
二维码:
-
第十一周学习总结:了解异常及其种类,理解进程和并发的概念,掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv,理解数组指针、指针数组、函数指针、指针函数的区别,理解信号机制:kill,alarm,signal,sigaction,掌握管道和I/O重定向:pipe, dup, dup2。
-
二维码:
-
第十二周学习总结:通过视频学习,了解了指针函数、函数指针的区别,以及指针的一些基本知识。
-
二维码:
-
第十三周学习总结:掌握三种并发的方式:进程、线程、I/O多路复用,掌握线程控制及相关系统调用,掌握线程同步互斥及相关系统调用。
-
二维码:
-
第十四周学习总结:了解了虚拟存储的相关内容,理解地址翻译的概念,理解存储器映射,掌握动态存储器分配的方法,理解垃圾收集的概念,了解C语言中与存储器有关的错误。
-
二维码:
实验报告链接汇总
-
实验一 开发环境的熟悉:介绍了Linux开发环境的配置和使用,使用Linux的arm编译,使用基于NFS方式的下载调试,以及嵌入式开发的基本过程。
-
二维码:
-
实验二 固件开发:介绍了怎样使用linux的armv4l-unknown-linux-gcc编译、使用基于NFS方式的下载调试以及嵌入式开发的基本过程。
-
二维码:
-
实验三 内核驱动设计入口:介绍了安装ADS、安装GIVEIO驱动、安装JTAG驱动的正确方法。
-
二维码:
-
实验四 外设驱动程序设计:介绍了在LINUX下进行驱动设计的原理以及使用模块方式进行驱动开发调试的过程。
-
二维码:
-
实验五 间要嵌入式web服务器实验:介绍了在ARM开发板实现一个简单的WEB服务器的过程。
-
二维码:
代码托管链接和二维码
- 代码链接
- git log:
-
代码驱动的学习做到没有?
-
做是做了,但没做好。但自己感觉到了自己的进步,不像学习java时候那样敷衍了,虽然自己开始动手去实践了,但没做到通过代码来驱动自己的学习,也就是不能够保证每一次学习时都去敲代码,这是自己需要改进的地方。
-
对于加、改代码的心得:说实话,自己一开始对于代码这种东西是很畏惧的,因为感觉它是冷冰冰的,是只能对机器使用的,但通过了这么长时间的代码学习,自己的想法也有了些变法。首先,当一个很僵硬的代码通过我们不断完善、修改,就能不断的鲜活起来。这就好比我们装修房子一样,一间空荡的房间通过我们的精心布置就变得温馨起来。
-
实践上的经验教训:必须亲自动手,而且必须一步一步进行实践。而且做一些实践的时候必须要认真细心,不然一步错会步步皆错。而且实践可以让我们更好的理解书本中所学的知识,使我们学的知识更加具体、形象。
-
第0周问题:
-
计算机系统是否只由硬件和软件所构成
-
信息在计算机中是怎么存储的
-
什么叫程序的机器级表示
-
Y86指令是如何实现的
-
为何要优化程序性能
-
存储器的层次结构是怎样的
-
程序中的链接有什么作用
-
各种异常及其处理方式有哪些
-
虚拟存储器与存储器有什么区别
-
什么是所谓的系统级I/O
-
如何实现网络编程
-
并发编程是什么意思
-
回答:
-
计算机系统是由硬件和系统软件组成的,它们共同工作来运行应用程序。
-
现代计算机存储和处理信息是以二值信号表示的。
-
计算机执行机器代码,用字节序列编码低级的操作,包括处理数据、管理存储器、读写存储设备上的数据,以及利用网络通信。
-
通过取值、译码、执行、访存、写回、更新PC这些步骤实现。
-
为了使程序员检查代码和今后需要修改代码时,其他人能够读懂和理解代码。也可以让程序运行得更快。
-
存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。
-
链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载到存储器并执行。
-
异常可以分为四类:中断、陷阱、故障和终止。硬件中断的异常处理程序通常称为中断处理程序。
-
虚拟存储器是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每一个进程提供了一个大的、一致的和私有的地址空间。
-
输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程。输入操作是从I/O设备拷贝数据到主存,而输出操作是从主存拷贝数据到I/O设备。
-
我们将所有的概念结合起来,开发一个小的但功能齐全的web服务器,能够为真实的web浏览器提供静态和动态的文本和图形内容。
-
如果逻辑控制流在时间上重叠,那么它们就是并发的,这种常见的现象就称为并发,出现在计算机系统的许多不同层面上。
-
优秀作业:我的优秀博客有三周,分别是第六周、第七周、第八周。被评为优秀的原因我想应该是自己在其中有实践,有自己的一些理解吧。还有一次是老子提出的要求,自己马上改进也能得到表扬。
-
二维码:
-
二维码:
-
二维码:
-
扇贝单词加分:扇贝对于我们来说不只是一种任务,更不只是加分,而是养成我们一种天天背单词的习惯,目光短浅点只看中加分或者是四六级考试,而长远的考虑则是一种天天学习的一种好习惯,这一点非常不错。
-
这学期自己虽然学得不算太好,但基本上都按照老师要求在做,所以没有被扣分的项目。
-
待及格管理制度的优缺点:感觉比较好,能督促每一个同学都为了目标而努力学习,也没有放任那些待及格的同学,而是通过这样一些制度让他们找到学习的状态,重回及格线。
课程的收获与不足
本学期的收获最大之处就在于自己能跟着老师脚步走,能跟上这种大强度的学习节奏,每天都学习,每周都有任务去完成,这样能让我们养成一种每天学习的习惯。知识学到多少、深浅在我看来不是那么重要,养成一种自主学习的习惯才是最关键的。不足之处就在于没有尽最大努力去做到代码驱动着自己学习,而是对敲代码这一块较为懒惰,希望以后可以慢慢改变吧。
给学弟、学妹的建议
自己不算这么课程的大神级人物,很多知识上的建议也提不了多少,但我想给学弟、学妹们讲的是跟着老师要求走,会走向一条正确的道路,一开始可能会经历道路崎岖不平,但坚持到最后一定会到达成功的终点。
问卷调查
-
你平均每周投入到本课程多长时间?
-
我平均每周花25个小时学习。
-
每周的学习效率有提高吗?
-
有提高吧,效率这东西还得看自己,自己专心去做一件事之后,效率自然会提高的。
-
学习效果自己满意吗?
-
自己还算满意,但感觉可以做得更好。
-
课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
-
能做到吧,但不一定每篇都是有关计算机方面的内容,平时的生活也想写进去。
-
你觉得这门课老师应该继续做哪一件事情?
-
继续坚持每周考试制度,没有了这个制度大家会没有紧张感,这种制度会让每一个人每一周都有一种良好的学习劲头吧。
-
你觉得这门课老师应该停止做哪一件事情?
-
没有什么可以停止的,因为自己已经适应了这种学习方式。
-
你觉得这门课老师应该开始做什么新的事情?
-
老师如果可以的话可以让平时的课堂除了考试之外更加丰富一点,比如说弄个什么知识比赛或者让同学上讲台给大家讲一些自己学习到的一些东西。
-
二维码: