闭卷重建对象、地址与指针的分层、状态、关系式和失败边界。
计算机系统原理 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建数组与指针算术的分层、状态、关系式和失败边界。
闭卷重建结构体布局与填充的分层、状态、关系式和失败边界。
闭卷重建栈、堆与生命周期的分层、状态、关系式和失败边界。
闭卷重建别名与未定义行为的分层、状态、关系式和失败边界。
闭卷重建缓冲区边界与安全的分层、状态、关系式和失败边界。
闭卷重建内存布局检查实验的分层、状态、关系式和失败边界。
核心关系:a[i]=(a+i);任务:为《数组与指针算术》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 a[i]=(a+i) 复算关键量;边界:不能把《数组与指针算术》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态
核心关系:pointer=base+i,sizeof(T);任务:为《对象、地址与指针》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 pointer=base+i,sizeof(T) 复算关键量;边界:不能把《对象、地址与指针》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态
核心关系:live\ object\Rightarrow valid\ access;任务:为《栈、堆与生命周期》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 live\ object\Rightarrow valid\ access 复算关键量;边界:不能把《栈、堆与生命周期》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态
核心关系:offset=align(offset,a);任务:为《结构体布局与填充》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 offset=align(offset,a) 复算关键量;边界:不能把《结构体布局与填充》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态
核心关系:0\le index<length;任务:为《缓冲区边界与安全》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 0\le index<length 复算关键量;边界:不能把《缓冲区边界与安全》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态
核心关系:effective\ type+aliasing;任务:为《别名与未定义行为》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 effective\ type+aliasing 复算关键量;边界:不能把《别名与未定义行为》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态
核心关系:symbol\to address\ range;任务:为《内存布局检查实验》构造一条最短可运行轨迹,逐步记录输入状态、系统动作和输出状态,并用关系 symbol\to address\ range 复算关键量;边界:不能把《内存布局检查实验》在语言、ABI、ISA、微体系结构、内核或设备层的对象混成一个‘系统自动完成’,必须声明位宽、权限、时序和失败后的可见状态