2018-2019-1 20175314 《信息安全系统设计基础》第3周学习总结

Posted sanfens

tags:

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

2018-2019-1 20175314 《信息安全系统设计基础》第3周学习总结

教材学习内容总结

  • gcc命令调用一系列程序,将源代码转化成可执行代码。
  • 存储器系统的实际实现是将多个硬件存储器和操作系统软件组合起来。
  • ISA:指令集体系结构,它定义了处理器状态、指令的格式、以及每条指令对状态的影响。
  • 程序计数器(%eip),指示将要执行的下一条指令在存储器中的地址。
  • 操作系统负责管理虚拟地址空间,将虚拟地址翻译成实际处理器存储器中的物理地址。
  • gcc -m32 -S xxx.c指令在64位机器上得到32位代码。
  • IA32使用栈帧结构来支持过程调用。为单个过程分配的那部分栈称为栈帧。栈指针可以移动,因此大多数信息的访问都是相对于栈帧的。
  • 栈帧中,栈向低地址方向增长,所以如果要增大栈的空间要将栈指针的值减小。
  • 汇编指令:立即数存储器寄存器
    技术图片
    技术图片
  • C语言的指针运算:如果p是一个指向类型为T的数据的指针,p的值为x,那么表达式p+i的值为x+Li,其中L是T的大小。单操作符&用来产生地址,用来间接引用地址。
  • 数据对齐:为了能够让数据能够更好地进行对接,很多系统都对数据进行了对齐处理,规定每种类型的数据都会有自己的字节数,这样能够提高计算机的工作效率。
  • 缓冲区溢出:一般我们在C语言中的输入是可以任意输入的,比如函数gets()等。但是这样有可能造成数据溢出,因为gets函数是以空格为界定来划分一行的。如果我们给一个字符数组规定了一定的数量x,而我们使用gets函数来输入,输入超过x个字符后,再按回车,就会发现缓冲区溢出,对程序造成不良影响,甚至让程序执行原本不会执行的函数。也是最常见的一种通过计算机网络攻击系统安全的方法。

教材学习中的问题和解决过程

代码调试中的问题和解决过程

代码托管

技术图片
不知道为什么重新安装后无法统计代码数量

感想心得

越来越强烈感觉到本课程对之前程序设计基础、汇编设计语言和数据结构与算法课程的需要和要求,加上Linux操作指令的学习,我会在接下来着力他们的完善知识概念体系,同时课后习题也非常重要,通过完成课后习题可以非常好地对所学知识进行学习总结。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 10/15
第二周 300/500 2/4 10/15
  • 计划学习时间:12小时

  • 实际学习时间:10小时

参考资料

以上是关于2018-2019-1 20175314 《信息安全系统设计基础》第3周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

2018-2019-1 20175314 《信息安全系统设计基础》第3周学习总结

2018-2019-1 20175314 《信息安全系统设计基础》第4周学习总结

2019-2020-1 20175314 《信息安全系统设计基础》第7周学习总结

20175314 《Java程序设计》第四周学习总结

20175314 结队编程项目——四则运算第二周

20175314 《Java程序设计》第七周学习总结