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

本文总结了《信息安全系统设计基础》课程第六周的学习内容,包括异常控制流、进程管理、系统调用错误处理等关键知识点,并通过具体实验加深对概念的理解。

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

教材学习内容总结

第八章 异常控制流

8.1 异常
    8.1.1 异常处理
    8.1.2 异常的类别
    8.1.3 Linux/x86-64 系统中的异常
8.2 进程
    8.2.1 逻辑控制流
    8.2.2 并发流
    8.2.3 私有地址空间
    8.2.4 用户模式和内核模式
    8.2.5 上下文切换
8.3 系统调用错误处理
8.4 进程控制
    8.4.1 获取进程ID
    8.4.2 创建和终止进程
    8.4.3 回收子进程
    8.4.4 让进程休眠
    8.4.5 加载并运行程序
    8.4.6 利用fork和execve运行程序
8.5 信号
    8.5.1 信号术语
    8.5.2 发送信号
    8.5.3 接收信号
    8.5.4 阻塞和解除阻塞信号
    8.5.5 编写信号处理程序
    8.5.6 同步流以避免讨厌的并发错误
    8.5.7 显式地等待信号
8.6 非本地跳转
8.7 操作进程的工具
8.8 小结

第十章 系统级I/O

10.1 Unix I/O
10.2 文件
10.3 打开和关闭文件
10.4 读和写文件
10.5 用RIO包健壮地读写
    10.5.1 RIO的无缓冲的输入输出函数
    10.5.2 RIO的带缓冲的输入函数
10.6 读取文件元数据
10.7 读取目录内容
10.8 共享文件
10.9 I/O重定向
10.10 标准I/O
10.11 综合:我该使用哪些I/O函数?
10.12 小结

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

  • 问题1:setjmp和longjmp函数的使用顺序
  • 问题1解决方案:
    setjmp函数在env缓冲区中保存当前的调用环境,以供longjmp使用,返回0。
    longjmp函数从env缓冲区恢复调用环境,然后触发一个从最近一次初始化env的setjmp调用的返回。然后sejmp返回带有非零的返回值retval

课上测试

一、ch02

1.参考附图代码,编写一个程序 “week0601学号.c",判断一下你的电脑是大端还是小端。

  1. 提交运行结果”学号XXXX的笔记本电脑是X端“的运行截图,要全屏,包含自己的学号信息
    dD0BAAAAAAAA&bo=KgPXAQAAAAADB90!&rf=viewer_4

    二、ch02
  2. 调用附图代码,编写一个程序 “week0602学号.c",用show_int(), show_float()打印一下你的4位学号,参考教材P33打印出匹配的位序列。

  3. 提交运行结果截图,要全屏,要包含自己的学号信息
    dA4BAAAAAAAA&bo=rALjAAAAAAADB28!&rf=viewer_4

    三、ch02
  4. 编写一个程序 “week0603学号.c",运行下面代码:
    1 short int v = -学号后四位
    2 unsigned short uv = (unsigned short) v
    3 printf("v = %d, uv = %u\n ", v, uv);

  5. 在第三行设置断点用gdb调试,用p /x v; p /x uv 查看变量的值,提交调试结果截图,要全屏,要包含自己的学号信息
    dHUAAAAAAAAA&bo=VAOLAQAAAAADAPg!&rf=viewer_4

    四、ch03

    1 通过输入gcc -S -o main.s main.c 将下面c程序”week0603学号.c“编译成汇编代码
    int g(int x){ return x+3; } int f(int x){ int i = 学号后两位; return g(x)+i; } int main(void){ return f(8)+1; }
    dA0BAAAAAAAA&bo=.AAgAQAAAAADB*s!&rf=viewer_4

代码问题

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

上周考试错题总结

结对及互评

点评模板:

  • 博客中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 其他

本周结对学习情况

- [结对同学学号1](博客链接)
- 结对照片
- 结对学习内容
    - XXXX
    - XXXX
    - ...

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

xxx
xxx

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2001/110/10
第二周200/2001/120/20
第三周?/2001/115/20
第四周200/2001/120/20
第五周100/2001/120/20
第六周200/2001/120/30

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

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

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

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

参考资料

转载于:https://www.cnblogs.com/WYjingheng/p/7751730.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值