20145214 《信息安全系统设计基础》第12周学习总结
教材学习内容总结
视频学习内容总结
指针和声明
-
c语言中变量的声明:
- 类型 - 声明符
-
指针数组:是数组,数组里的元素是指针
int *daytab[13]
-
数组指针:是指针,指向一个类型和元素个数都固定的数组
int (*daytab1)[13]
-
指针函数:是函数,返回值类型是指针
int *comp()
-
函数指针:是指针,指向函数的指针,函数名就是函数指针
int (*comp1)()
-
右左右左法判断类型:
每次分析不要跨过括号,位于右边的小括号和中括号具有更高的优先级。 1.数组一定要告诉元素个数和数据类型 2.函数一定有形参和返回值类型 3.数组指针,函数指针,*和指针要括起来。
-
分析
char ((x[3])())[5]
简化为char (*A)[5],这是一个数组指针,指向一个有五个char型元素的数组 A是(*x[3])(),相当于(*B)(),这是一个函数指针,指向函数B B是x[3],是一个数组。
信号处理
-
信号不携带任何数据,只是作为通知某进程发生了什么事件
-
信号是一种进程间通信的方法,应用于异步事件的处理,实质是软中断,在软件层面
-
在linux中用命令
kill -l
或man 7 signal
查看信号信息,每个信号都有一个编号和宏定义名称
-
信号生命周期包括信号产生、信号注册、信号注销、信号处理
-
信号产生:
1、由用户产生,如:Ctrl+C产生SIGINT信号等,可以通过stty -a查看哪些按键可以产生信号 2、由硬件产生,如:当前进程执行了除以0的指令 3、由进程发送,如:可在shell进程下,使用命令 kill -信号标号 PID,向指定进程发送信号。 4、由内核产生,如:闹钟超时产生SIGALRM信号
-
信号处理的三种方法:
1、执行默认操作 2、忽略信号 3、捕捉信号:执行信号处理函数,切换到用户态。
-
忽略信号:SIG_IGN
-
默认操作:SIG_DFL
-
多信号处理的方法:
1.递归,调用同一个处理函数 2.忽略第二个信号 3.阻塞第二个信号直至第一个处理完毕
代码托管情况
代码托管链接
其他(感悟、思考等,可选)
- 本周主要是对前几周代码进行复习,结合视频学习了之后又有新的感悟,不过视频打开时有些问题,画面大部分是彩屏...换了播放器还是无法解决,于是只能盲听,还好可以参考学长学姐的博客,可以抓到大致的脉络
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第零周 | 0/0 | 1/1 | 5/5 | 使用虚拟机安装linux系统,安装ubuntu |
第一周 | 100/100 | 1/2 | 20/25 | 掌握核心的linux命令,了解了linux操作系统 |
第二周 | 76/176 | 1/3 | 30/55 | 学会了虚拟机上的C编程 |
第三周 | 214/390 | 1/4 | 20/75 | 初步学习计算机中各种数的表示和运算 |
第五周 | 138/528 | 1/5 | 25/100 | 通过学习汇编,了解逆向的思想应用 |
第六周 | 150/678 | 1/6 | 30/130 | 安装了Y86处理器,了解了ISA抽象 |
第七周 | 100/778 | 1/7 | 20/150 | 理解了局部性原理和缓存思想在存储层次结构中的应用 |
第八周 | 0/778 | 2/9 | 20/170 | 对前七周的内容进行了查缺补漏 |
第九周 | 77/855 | 2/11 | 25/195 | 学习了Unix I/O并且了解了Unix I/O的使用情况 |
第十周 | 514/1369 | 2/13 | 20/215 | 实践了常用指令的代码,加深了对指令的理解 |
第十一周 | 1854/3223 | 2/15 | 30/245 | 理解进程和并发,了解异常及其种类 |
第十二周 | 0/3223 | 2/17 | 25/270 | 复习了前几周的知识,深入理解老师给的代码 |