2017-2018-1 20155215 《信息安全系统设计基础》第6周学习总结

2017-2018-1 20155215 《信息安全系统设计基础》第6周学习总结

教材学习内容总结

  • 现代系统通过使控制流发生来对这些情况做出反应,这些突变被称为异常控制流(ECF)。

    • ECF是操作系统用来实现I/O、进程和虚拟存器的基本机制
    • 应用程序通过使用一个叫做陷阱或者系统调用的ECF形式,向操作系统请求服务
    • ECF是计算机系统中实现并发的基本机制
    • 软件异常机制——C++和Java有try,catch,和throw,C中非本地跳转是setjmp和longjmp
  • 进程

  • 逻辑流

  • 并发流

  • 错误处理包装函数:

    • 系统会使用错误处理包装函数,系统级函数是小写,他们的包装函数名大写,包装函数调用基本函数,有任何问题就终止,如果没有问题和基本函数是一样的。
  • 进程状态

    • 运行
    • 停止
    • 终止

man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用

man

有一个

-k

选项,这个选项让你学习命令,编程时有了一个搜索引擎,可以举一反三。
比如我需要一个排序功能的函数,我就可以输入

man -k sort

来查找。而

man -k key1 | grep key2| grep 2

就是多关键字查找的意思,用|分隔符分开,输入多个关键字达到更好的查找我想要的函数的目的。

grep -nr XXX /usr/include :查找宏定义,类型定义

grep 命令可以对文件全文检索,比如你接手一个C语言项目,里面有上百个C源文件,想找找main函数在那个文件中,你可以通过

grep -n main *.c

,快速找到main在哪个C文件中并指出在第几行。
而且grep支持正则表达式,正则表达式也是一个重要的元知识。
我们可以通过

cheat grep

来学习grep命令。

grep -nr XXX /usr/include

则是可以帮助我们查找XXX在哪个头文件中定义。

完成head,tail的使用,相关API的分析,伪代码,产品代码,测试代码的编写

  • head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

  • 命令参数有:
    -q 隐藏文件名
    -v 显示文件名
    -c<字节> 显示字节数
    -n<行数> 显示的行数

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

  • 问题1:我对于错误处理函数和系统调用错误处理,有一些不够理解的地方。

  • 问题1解决方案:我上网查了之后,了解到了下面这些信息:

  • 错误处理函数

      - perror
      - strerror
    

perror和strerror函数都是用来打印错误提示信息的,它们的原型分别是:

include <stdio.h>

void perror(const char *s);

它先打印s指向的字符串,然后输出当前errno值所对应的错误提示信息,例如当前errno若为12,调用perror("ABC"),会输出"ABC: Cannot allocate memory"。

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

  • 问题1:git出错

  • 问题1解决方案:

公钥认证管理

  • 问题2:我在输入课本上的P507页的代码时,发现生成汇编文件始终不成功。

  • 问题2解决方案:
    暂时没有找到解决方法。

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

1.假设下面位串是基于IEEE格式的5位浮点表示,一个符号位,2个阶码位,两个小数位。下面正确的是()
A .
3.5的表示是[01011]
B .
-1.0的表示[01111]
C .
0.5的表示是[00011]
D .
1.5的表示是[00110]
正确答案: A D 你的答案: A C

2.有关三位数x,y的乘积xy截断为四位,下面说法正确的是()
A .
无符号的[100]
[101]结果为4
B .
无符号的[100][101]结果为-4
C .
有符号的[100]
[101]结果为-4
D .
有符号的[100]*[101]结果为4
正确答案: A C 你的答案: B D

3.我们用一个十六进制的数表示长度w=4的位模式,把数字解释为补码,关于其加法逆元的论述正确的是()
A .
0x8的加法逆元是-8
B .
0x8的加法逆元是0x8
C .
0x8的加法逆元是8
D .
0xD的加法逆元是3
E .
0xD的加法逆元是0x3
正确答案: A B D E 你的答案: B E

4.我们用一个十六进制的数表示长度w=4的位模式,对于数字的无符号加法逆元的位的表示正确的是()
A .
0x8的无符号加法逆元是0x8
B .
0xD的无符号加法逆元是0xD
C .
0xF的无符号加法逆元是0x1
D .
0xF的无符号加法逆元是1
正确答案: A C D 你的答案: A C

5.0<=x,y<2^w, 则
A .
x+y的最大值是2^w
B .
x+y的最大值是2^w-1
C .
x+y的最大值是2^w-2
D .
x+y的最大值是2^(w+1)
E .
x+y的最大值是2^(w+1)-1
F .
x+y的最大值是2^(w+1)-2
正确答案: F 你的答案: B

结对及互评

点评模板:

  • 博客中值得学习的或问题:
    • xxx
    • xxx
    • ...

本周结对学习情况

- [结对同学学号1](博客链接)
- 结对照片
【】

其他(感悟、思考等,可选)

这周的内容

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第六周 300/1300 2/9 30/90

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

原文地址:https://www.cnblogs.com/xuanyan/p/7750960.html