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


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

    教材学习内容总结

    • 异常有四种:中断(来自I/O设备的信号)、陷阱(有意的异常)、故障(潜在可恢复的错误)和终止(不可恢复的错误)。其中中断是唯一一个异步的,因硬件中断与当前指令无关,而是来自处理器外部I/O设备的信号的结果。

    • 调度:在进程执行的某些时刻,内核可以决定抢占当前进程,并重新开始一个先前被抢占了的进程。

    • 每个进程都有一个唯一的正数ID(PID),使用getpid函数可返回调用进程的PID,getppid函数可返回其父进程的PID

    • 父进程通过调用fork()函数创建子进程,父进程与子进程之间最大的区别就是有不同的PID。fork()函数只被调用一次,却会返回两次:一次在父进程中,另一次在新创建的子进程中。

    • wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status 返回,而子进程的进程识别码也会一起返回。如果不在意结束状态值,则status可以设成NULL。

    • /bin/kill程序可以向另外的进程发送任意的信号;进程可以通过调用kill函数向其他进程发送信号(包括它自己);进程也可以通过调用alarm函数向自己发送SIGALARM信号

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

    • 问题1:exit函数的具体形式是exit(int status),此函数没有返回值,其中的参数status代表的是什么含义呢?
    • 问题1解决方案:查询资料得知,当status为0时表示程序运行结束,属正常退出;非0则表示有错误情况发生。

    然后去搜了一下exit参数相关,参见知乎问答:C/C++中exit()函数的参数到底有什么意义?

    • 问题2:fork函数的返回
    • 问题2解决方案:按照课本514页程序运行:

    编译后提示Fork未定义:

    修改为fork之后的运行结果为:

    调用fork后,父进程和子进程的pid都为1,父进程和子进程是并发的独立进程,父进程先完成它的输出语句,然后是子进程。

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

    暂未遇到

    代码托管

    statistics脚本截图:

    上周考试错题总结

    • 7.大多数计算机使用同样的机器指令来执行无符号和有符号加法。

    A.正确

    B.错误

    C.不确定

    正确答案:A

    17.int x; x的二进制为[10010101], x>>4的值为()

    A .
    [10010101]

    B .
    [00001001]

    C .
    [11111001]

    D .
    [01010000]

    正确答案:C

    x为有符号数,有符号数进行算术右移,在左端补4个最高位。

    23.下面和代码可移植性相关的C语言属性有()

    A .
    define

    B .
    typedef

    C .
    sizeof()

    D .
    union

    正确答案:ABC

    漏选了C,#define可以定义宏使得变量可移植,typedef可以使得类型可移植,sizeof()使得不同类型长度可移植。

    结对及互评

    点评模板:

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

    本周结对学习情况

    -  结对对象:
    

    20155325

    - 结对学习内容
        - 教材第八章
        - ...
    

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

    本周除课堂提交补充外,学习的第八章是老师上课时演示过的,所以学习时就比平时好一些。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 40/40 1/1 20/20
    第二周 40/40 1/2 18/38
    第四周 154/194 2/4 20/58
    第五周 48/242 2/6 20/78
    第六周 59/ 301 2/8 19/97

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

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

    • 计划学习时间:20小时

    • 实际学习时间:19小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    一些PC小软件/工具/神器备份
    三角函数与反三角函数
    常用网站整理(书签整理)
    谷歌和谷歌学术镜像网站
    微擎系统jssdk系统快速签名变量
    phpexcel 导入超过26列时的解决方案
    js循环对象,(多层数组)
    CentOS 6 下无法wget https链接的解决方法
    centos6 7 yum安装mongodb 3.6
    yum except KeyboardInterrupt, e: 错误
  • 原文地址:https://www.cnblogs.com/zyqzyq/p/7749943.html
Copyright © 2020-2023  润新知