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

Posted zjy1997

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20155312 《信息安全系统设计基础》课程总结相关的知识,希望对你有一定的参考价值。

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

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

  • 代码托管链接和二维码:
    • 截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果:
      技术分享图片

    • 代码量汇总提交statistics.sh的支持截图
      技术分享图片

    • 代码驱动的学习做到没有?
    • 答:感觉与上学期java课程相比,这学期自己编写的代码量一般,没有完全做到代码驱动的学习。
    • 加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
    • 答:利用代码学习知识,在改写代码的过程中加深对知识点的理解,是一种很好的方法,但前提不是一味的复制粘贴,而是要理解每个语句的意思,经过自身的思考,其实改写代码只是一个检验我们对知识点理解程度的方式。
    • 实践上有什么经验教训
    • 答:要看老师在实验楼上资源,课下根据每章学习重点有侧重性的学习,课上进行实践时掌握好时间。
  • 整体评价一下第1周作业中自己提出的问题是不是抓住了学习重点:感觉个别章节抓住了重点,但整体上还是与各章重点内容有所偏颇。
  • 回答一下第1周作业中自己提出的问题
    • 第一章:数据和控制信息以不同的方式存储在栈上为什么会引发安全漏洞?
    • 如果应用程序试图将超过缓冲区容量的数据存放在其中时,就产生了缓冲区溢出漏洞的条件。从外部写入到缓冲区可以使攻击者覆盖邻近内存块的内容,从而导致数据遭到破坏,程序崩溃,甚至可以执行任何恶意代码。在典型的攻击中,攻击者将数据发送给一个应用程序,而后者是一个将数据存储在小容量的堆栈缓冲区的程序,这会导致覆盖调用堆栈上的信息,其中包括函数的返回指针。通过这种方法,在合法的功能完成之后,攻击者就可以运行自己的恶意代码,并且可以将控制交给包含攻击者数据的漏洞利用代码。
    • 第二章:无符号数和数的补码表示有哪些特性?
    • 在计算机中无符号数用原码表示,有符号数用补码表示。w位的补码表示的数值范围是[-2w-1, 2w-1-1],如4位的补码表示的最小值是-8(1000),最大值是7(0111)。w位补码表示的值为:
      技术分享图片

    • 第三章:寄存器的使用惯例提出依据是什么?
    • 答:在多任务系统中,给定的时刻只能有一个过程是活动的,它占使用CPU的程序寄存器组.程序寄存器组作为一个单个资源被所有的函数过程共享. 所以,我们必须保证:一个过程(调用者)调用另一个(被调用者)时,被调用者不会覆盖某个调用者稍后会使用到的寄存器的值.为此, IA32(x86)采用了一组统一的寄存器使用惯例., 所有的过程调用都必须遵守, 包括程序库中的过程.
    • 第四章:组合和时序逻辑元素如何在数据通路中组合到一起?
    • 答:组合逻辑不许奥任何时序或控制,只要输入变化,值就通过逻辑门网络传播,而程序计数器、条件码寄存器、数据内存和寄存器文件这些硬件单元需要对其时序进行明确的控制,具体实现:通过一个时钟信号来控制,它出发将新值装载到寄存器以及将值写到随机访问存储器。
    • 第五章:如何减少程序需要做的工作的变换?
    • 答:编写出编译器能够有效优化以转换成高效可执行代码的源代码。
    • 第六章:RAM、ROM、磁盘和固态硬盘是如何放置在层次结构中的?
    • 答:RAM分一下两类:1.静态RAM(SRAM):用来作为高速缓存存储器,每个位存储在一个双稳态的存储器单元里。双稳态:电路可以无限期的保持在两个不同的电压配置或者状态之一。只要供电,就会保持不变。2.动态RAM(DRAM):用来作为主存以及图形系统的帧缓冲区。将每个位存储为对一个电容的充电,当电容的电压被扰乱之后,就永远都不会再恢复了。暴露在光线下会导致电容电压改变。如果断电,DRAM和SRAM都会丢失信息,非易失性存储器——只读存储器:ROM。ROM是以他们能够被重编程的次数和对他们重编程的机制来区分的。磁盘由盘片构成,表面覆盖着磁性记录材料,中央有一个可以旋转的主轴 ,旋转速率大约为5400-15000每分钟。磁盘的每个表面是一组称为磁道的同心圆组成,每个磁道被划分为一组扇区,扇区之间由一些间隙隔开,间隙存储用来标识扇区的格式化位。固态硬盘是一种基于闪存的存储技术。一个硬盘包由一个或者多个闪存芯片和内存翻译层组成,闪存芯片替代旋转磁盘中的机械驱动器,而闪存翻译层将对逻辑块的请求翻译成对底层物理设备的访问
    • 第七章:位置无关代码主要应用于什么情况?
    • 答:位置无关代码可以用于以下场合:
    1. 程序在运行期间动态加载到内存;
    2. 程序在不同场合与不同程序组合后加载到内存(共享的动态链接库);
    3. 在运行期间不同地址相互之间的映射(如bootloader)
    • 第八章:应用程序是如何与操作系统交互的?
    • 答:。当一个高级语言写的程序要想能被处理器执行,那它首先要被编译系统的编译器编译为二进制形式的文件,即可重定位目标文件,其次编译系统的链接器还必须将这些可重定位目标文件链接成一个可执行文件。
    • 第九章:应用程序如何使用和管理虚拟内存?
    • 答: 操作系统利用体系结构提供的VA到PA的转换机制实现虚拟内存管理。
    • 第十章:内核用什么数据结构来表示打开的文件?
    • 答:文件描述符表、文件表和 V 节点表。
    • 第十一章:getaddrinfo函数和getnameinfo函数有什么区别或联系?
    • 答:getaddrinfo函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个sockaddr结构而不是一个地址列表,这些sockaddr结构随后可由套接字函数直使用
#include <netdb.h>
 
int getaddrinfo (const char *hostname, const char *service, const struct addrinfo *hints, struct addrinfo **result) ;
 //返回:若成功为0,出错为非0
  • getnameinfo函数与getaddrinfo互补:它以一个套接口地址为参数,返回一个描述主机的字符串和一个描述服务的字符串。这个函数以一种独立于协议的方式提供这些信息
#include <netdb.h>
 
int getnameinfo (const struct sockaddr *sockaddr, socklen_t addrlen, char *host, socklen_t hostlen, 
                 char *serv, socklen_t servlen, int flags) ;
//成功为0,出错为非0(如gai_strerror函数中的表)
- 第十二章:如何理解互斥锁加锁顺序规则?
- 答:如果对于程序中每队互斥锁(s,t),给出所有的锁分配一个铨叙,每个线程按照这个顺序来申请锁,并且按照逆序来释放,那么这个程序就是无死锁的。一条路有两个方向,一辆车要通过这条路需要同时从一个方向往另一个方向开,如果两辆车相向而行,那就是死锁,如果两辆车同向行驶,那就不会死。
  • 你有什么项目被加分,谈谈你的经验
    • 优秀作业(不太清楚自己有没有被加分)
    • 教程:处理器体系结构,二维码:(15)
  • 你有什么项目被扣分,谈谈你的教训
    • 没有
  • 课程收获与不足
    • 自己的收获(投入,效率,效果等)
    • 答:我最大的收获是能够在忙碌的时候调整好心态,把事情一件一件的完成,学会了如何进行自我调节。
    • 自己需要改进的地方
    • 答:自己的学习效率和学习后的掌握程度还是有待提高。
  • 给开学初的你和学弟学妹们的学习建议
    • 如果重新学习这门课,怎么做才可以学的更好
    • 建议学弟学妹们坚守内心,学习知识的目的是丰富自己、提升自我,博客、蓝墨云班课都是为了达到这一目的的手段,大家不要本末倒置,跟紧娄老师的节奏,只要学了,就要把这个东西学会,如果没用心学,那做什么都只是在浪费时间。
  • 问卷调查
    • 你平均每周投入到本课程多长时间?
    • 答:15小时。
    • 每周的学习效率有提高吗?
    • 答:有所提高。
    • 学习效果自己满意吗?
    • 答:不是十分满意,只有个别几章学的比较透彻,还有很多内容只是大概了解,没有深入研究。
    • 课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)
    • 答:我更喜欢用笔和纸这种传统的方式记录自己的学习过程,既可以练字,又很有成就感,所以如果不是课程要求,自己应该不会再主动写博客了。
    • 你觉得这门课老师应该继续做哪一件事情?
    • 答:我觉得老师应该继续让大家提交出门门票,提前给同学们公布实验的具体任务,让大家有充足的时间做好准备(例如实验五)。
    • 你觉得这门课老师应该停止做哪一件事情?
    • 答:①提交出门门票后应该取消随机组队进行互评,因为如果一个人连自己的问题都不愿意去解决,又怎么会用心去解决别人的问题呢?根据我的观察,大家在这个过程中并没有太多收获;②实验中应该取消和交叉编译有关的内容,因为实验室的设备故障率太大,而且实验室的机器每次开机都需要重新装一个虚拟机,很麻烦,强烈建议把实验室的系统好好搞一搞,可以参照信息安全概论这门课中实验的模式。
    • 你觉得这门课老师应该开始做什么新的事情?
    • 答:我觉得老师应该给有不同目标的同学分配不同的任务,只想及格的同学需要至少完成……想要拿满分的同学在此基础上还需要完成……,每周都分配不同的任务。
  • 给出你的总结的链接和二维码

技术分享图片






以上是关于20155312 《信息安全系统设计基础》课程总结的主要内容,如果未能解决你的问题,请参考以下文章

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

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

20155313 2017-2018-1 《信息安全系统设计基础》课程总结

2017-2018-1 《信息安全系统设计基础》课程总结

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

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