zoukankan      html  css  js  c++  java
  • 2018-2019-1 20165325 《信息安全系统设计基础》第七周学习总结

    2018-2019-1 20165325 《信息安全系统设计基础》第七周学习总结

    一、学习笔记

    1、异常控制流

    发生在计算机系统的各个层次,是计算机系统中提供并发的基本机制。

    2、异常
    • 在硬件层,异常是由处理器中的事件触发的控制流中的突变。控制流传递给一个软件处理程序,该处理程序进行一些处理,然后返回控制给被中断的控制流。
    • 有四种不同类型的异常:中断、故障、终止和陷阱。
    • 当一个外部设备I/O设置了处理器芯片上的中断管脚时,中断会异步地发生。
    • 控制返回到故障指令后面那条指令。
    • 一条指令的执行可能导致故障和终止同时发生。
    • 故障处理程序会重新启动故障指令,而终止处理程序从不将控制返回给被中断的流。
    3、Linux信号处理
    • 可以用signal()处理信号:通过把处理程序的地址传递到signal函数从而改变默认行为,这叫设置信号处理程序。执行信号处理程序被称为处理信号。
    • 一个信号最多只能被接收一次:每种类型最u多只能有一个未处理的信号,如果两种类型k的信号发给同一个目的进程,第二个信号就简单的被遗弃了。
    • kill函数发送信号号码sig给进程pid,kill(1)用来发送信号。
    • 可以通过键盘发送信号。
    • 可以用sigaction()处理信号。
    4、exec系列函数
    • 不能用char[][] 来传递argv。
    • 结尾的0(null)无法处理。
    • 进程调用了exec系列函数后,代码会改变。
    • system=fork+exec+wait。
    • exec系列函数中带e的要传入环境变量参数。
    5、wait类系统调用
    • wait(&status) 等价于waitpid(-1, &status, 0):调用wait(&status)等价于调用waitpid(-1,%status,0)
    • 如果一个父进程终止了,内核会安排init进程成为他的孤儿进程的养父。
    • 父进程中执行waitpid,等待集合中的任一子进程结束了才返回:waitpid挂起调用进程的执行,直到他的等待集合中的一个子进程终止。
    • 子进程中的退出状态在wait的status参数返回:如果statusp参数是非空的,那么waitpid就会在status中放上关于导致返回的子状态信息。
    3、其他
    • C语言通过longjmp、setjmp函数提供非本地跳转;
    • Unix/Linux中通过调用fork()可以获取子进程PID。
    • Unix/Linux中通过调用getppid()获取父进程ID。

    二、班课作业

    1、作业1

    作业要求

    使用man ls查看ls的帮助手册,通过实践搞清楚ls各种参数对应的功能并提交实践截图。

    ls –a?

    ls –lu?

    ls –s?

    ls –t?

    ls –F?

    ls –i ?

    ls –R?

    运行结果

    2、作业2

    作业要求

    参考伪代码实现ls的功能,提交代码的编译,运行结果截图,码云代码链接。

    • 打开目录文件
    • 针对目录文件:
      --读取目录条目
      --显示文件名
    • 关闭文件目录文件

    代码

    运行结果

  • 相关阅读:
    优秀个人博客
    redis 3.0 集群__监控警报工具(sentinel)
    redis 3.0 集群__hashTag
    shell__常用命令__sed
    shell__常用命令__grep
    shell__常用命令__awk
    shell 常用命令集合
    redis 3.0 集群__配置文件详解(常用配置)
    redis 3.0 集群__故障测评
    tcp 建立连接的三次握手,以及关闭连接的4次挥手
  • 原文地址:https://www.cnblogs.com/maxeysblog/p/9939307.html
Copyright © 2011-2022 走看看