zoukankan      html  css  js  c++  java
  • 20145335郝昊 《信息安全系统设计基础》第12周学习总结

    20145335郝昊 《信息安全系统设计基础》第12周学习总结

    学习内容总结

    • 第九周学习内容总结:http://www.cnblogs.com/20145335hh/p/6057697.html

    • 第十周学习内容总结:http://www.cnblogs.com/20145335hh/p/6080755.html

    • 第十一周学习总结:http://www.cnblogs.com/20145335hh/p/6107369.html

    • 视频学习复习:

    • 指针与声明

      C语言中变量的声明包括两个部分:类型,声明符

      对于简单类型,声明并不会对代码产生多大的阅读障碍,而对于复杂类型的识别,可以采用右左右左法进行判断

    • 指针数组与数组指针

      指针数组:即用于存储指针的数组,也就是数组元素都是指针int a[10]

      数组指针:即指向驻足的指针,指针指向一个类型和元素个数都固定的数组int (a)[10]

      指针函数:即返回值是指针类型的函数int fuk()

      函数指针:即指向函数的指针,函数名就是函数指针int (fuk1)() 对于简单类型,声明并不会对代码产生多大的阅读障碍,而对于复杂类型的识别,可以采用右左右左法进行判断

    • 右左右左法

      从变量名开始,先右再左地,交替地一个一个向外看,在纸上写下:“变量是”

      若向右遇到左圆括号,在纸上写下:“函数,参数是”,并用同样的方法处理括号中每一个参数——在纸上写下:“返回”

      若向右遇到方括号,在纸上写下:“数组,长度为{方括号的内容},元素类型为”

      若向右遇到右圆括号,什么也不做

      若向左遇到*,在纸上写下:“指针,指向”

      若向左遇到任何类型,在纸上写下对应的类型名

    • 信号的产生

      由用户产生,如:Ctrl+C产生SIGINT信号等,可以通过stty -a查看哪些按键可以产生信号

      由硬件产生,如:当前进程执行了除以0的指令

      由进程发送,如:可在shell进程下,使用命令 kill -信号标号 PID,向指定进程发送信号。

      由内核产生,如:闹钟超时产生SIGALRM信号。

      SIG_IGN是忽略信号的处理程序,表示无返回值的函数指针,指针值为1

      SIG_DFL是默认信号的处理程序,表示无返回值的函数指针,指针值为0

    • signal与sigaction

      • signal:

        不知道信号被发送的原因 ·信号处理过程中不能安全地阻塞其他信号

      • sigaction:

        在信号处理程序被调用时,系统建立的新信号屏蔽字会自动包括正被递送的信号。因此保证了在处理一个给定的信号时,如果这种信号再次发生,那么它会被阻塞到对前一个信号的处理结束为止

        响应函数设置后就一直有效,不会重置

    • 信号的处理

      信号是由操作系统来处理的,说明信号的处理在内核态。信号不一定会立即被处理,此时会储存在信号的信号表中。

    • 信号的三种处理方式:
      忽略

      默认处理方式:操作系统设定的默认处理方式

      自定义信号处理方式:可自定义信号处理函数


    心得体会

    本周的任务是复习前三周的知识,在此之外这周也复习了之前完成的实验,发现虽然实验成功的完成了,但是在复习的时候还是发现了很多细节问题,还有这周用了很多时间详细的用GDB调试分析栈帧的出现和消亡,弄懂了中间的细节问题。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20 掌握核心的linux命令,了解了linux操作系统
    第二周 300/500 2/4 18/38 学会了虚拟机上的C编程
    第三周 500/1000 3/7 22/60 初步学习计算机中各种数的表示和运算
    第五周 300/1300 2/9 30/90 通过学习汇编,了解逆向的思想应用
    第六周 300/1500 2/11 28/110 安装了Y86处理器,了解了ISA抽象
    第七周 150/1700 2/13 30/130 学习了存储器的体系结构|
    第八周 200/1900 2/15 30/150 复习前7章知识
    第九周 340/2100 1/17 31/170 学习了系统级I/O
    第十周 599/2700 1/19 33/200 学习了Linux命令
    第十一周 1016/3300 1/21 35/240 学习了异常控制流
    第十二周 300/3500 3/25 30/280 复习前三周代码知识点和实验

    参考资料

  • 相关阅读:
    LeetCode Single Number
    Leetcode Populating Next Right Pointers in Each Node
    LeetCode Permutations
    Leetcode Sum Root to Leaf Numbers
    LeetCode Candy
    LeetCode Sort List
    LeetCode Remove Duplicates from Sorted List II
    LeetCode Remove Duplicates from Sorted List
    spring MVC HandlerInterceptorAdapter
    yum
  • 原文地址:https://www.cnblogs.com/20145335hh/p/6132068.html
Copyright © 2011-2022 走看看