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


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

    - 教材学习内容总结

    - 异常

    • 异常是异常控制流的一种形式,它一部分由硬件实现,一部分由操作系统实现。异常是控制流中的突变,用来响应处理器状态中的某些变化。

    • 异常处理程序运行在内核模式下,它们对所以的系统资源都有完全的访问权限。

    • 异常的种类:异常可分为四类,中断、陷阱、故障和终止。
      中断是异步产生的,是来自处理器外部的I/O设备的信号的结果。
      陷阱是有意的异常,是执行一条指令的结果。
      故障由错误情况引起,它可能能够被故障处理程序修正。
      终止是不可恢复的致命错误造成的结果,通常是一些硬件错误。

    • 系统调用

    - 进程

    • 进程的经典定义是一个执行中的程序的实例。

    • 进程提供给应用程序的关键抽象:一个独立的逻辑控制流,它提供一个假象,好像我们的程序独占地使用处理器;一个私有的地址空间,它提供一个假象,好像我们的程序独占地使用内存系统。

    • 并发流:一个逻辑流的执行在时间上与另一个流重叠。这两个流称为并发地执行。

    • 操作系统内核使用一种称为上下文切换的较高层形式的异常控制流来实现多任务。

    - 进程控制

    • 每个进程都有一个唯一的正数进程ID,PID。getpid函数返回调用进程的PID。getppid函数返回它的父进程的PID。

    • 可以认为进程总是处于下面三种状态之一:
      1、运行:进程要么在CPU上执行,要么在等待被执行且最终会被内核调度。

    2、停止:进程的执行被挂起,且不会被调度。

    3、终止:进程永远地停止了。

    • 进程终止的三种原因:收到一个信号,该信号的默认行为是终止进程、从主程序返回、调用exit函数。

    • fork函数:父进程通过调用fork函数创建一个新的运行的子程序。
      它只被调用一次,却会返回两次:一次是在父进程中,一次是在新创建的子进程中。
      在父进程中,fork返回子进程的PID。

    代码运行效果:

    • exec函数:在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是:
      int execl(const char *path, const char *arg, ...);
      int execlp(const char *file, const char *arg, ...);
      int execle(const char *path, const char *arg, ..., char *const envp[]);
      int execv(const char *path, char *const argv[]);
      int execvp(const char *file, char *const argv[]);
      int execve(const char *path, char *const argv[], char *const envp[]);
      其中只有execve是真正意义上的系统调用,其它都是在此基础上经过包装的库函数。

    exec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件。

    代码运行效果:

    - 发送信号:

    • 用/bin/kill程序发送信号

    • 从键盘发送信号

    • 用kill函数发送信号

    • 用alarm函数发送信号

    - 上周错题总结

    • 第一题:
      write(2)的第一个参数fd可能来自()
      A .
      open(2)
      B .
      create(2)
      C .
      creat(2)
      D .
      close(2)

    • 答案:A C

  • 相关阅读:
    POJ 3114 Tarjan+Dijkstra
    278. First Bad Version
    209. Minimum Size Subarray Sum
    154. Find Minimum in Rotated Sorted Array II
    153. Find Minimum in Rotated Sorted Array
    710. Random Pick with Blacklist
    767. Reorganize String
    524. Longest Word in Dictionary through Deleting
    349. Intersection of Two Arrays
    350. Intersection of Two Arrays II
  • 原文地址:https://www.cnblogs.com/brs666/p/9940231.html
Copyright © 2020-2023  润新知