zoukankan      html  css  js  c++  java
  • 20145306《信息安全系统设计基础》第11周学习总结

    20145306《信息安全系统设计基础》第11周学习总结

    教材学习内容总结

    异常:是异常控制流的的一种形式,一部分由硬件实现,一部分由操作系统实现,异常控制流就是控制流的突变,用于想以你个处理器状态中的某些变化。

    异常的种类:被零除,缺页,存储器访问违例,断点,算术溢出;系统调用,来着外部I/O设备的信号。

    进程是一个正在执行的进程实例,系统中的每个程序都是运行在某个进程的上下文中的。上下文是由程序正确运行所需的状态组成的。

     

    进程创建和控制的系统调用及函数使用

    创建进程:

    父进程通过调用fork函数来创建一个新的运行子进程。

    fork函数只被调用一次,但是会返回两次:父进程返回子进程的PID,子进程返回0.如果失败返回-1.

    终止进程:

    用exit函数。

    include <stdlib.h>
    
    void exit(int status);
    exit函数以status退出状态来终止进程。

    回收子进程:

    当一个进程由于某种原因终止的时候,内核并不是把它从系统中清除,而是保持在已经终止的状态中,直到被它的父进程回收。这时,内核将子进程的退出状态传递给父进程,然后抛弃已经终止的进程。这之后,该进程才可以说是“不存在”了。

    已经终止但是尚未被回收的进程叫做僵死进程。

    如果父进程没有回收它的子进程就终止了,那么内核就会安排init函数来回收它们,init函数的返回值是1。

    waitpid函数的定义如下:

    #include <sys/types.h>
    #include <sys/wait.h>
    pid_t waitpid(pid_t pid, int *status, int options);

    waitpid()会暂时停止目前进程的执行,直到有信号来到或子进程结束。

    5.wait函数
    wait函数是waitpid函数的简单版本,wait(&status)等价于waitpid(-1,&status,0).

    #include <sys/types.h>
    #include <sys/wait.h>
    pid_t wait(int *status);

    成功返回子进程pid,出错返回-1

    获取进程的id:

    每个进程都有一个唯一的正数进程ID(PID)

    #include <sys/types.h>
    #include <unistd.h>
    
    pid_t getpid(void); 返回调用进程的PID
    pid_t getppid(void);    返回父进程的PID(创建调用进程的进程)

    让进程休眠:

    sleep函数:一个进程挂起一段指定的时间。

    pause函数:让调用函数休眠,直到该进程收到一个信号。





    本周代码托管

  • 相关阅读:
    第六周学习总结
    20165227 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
    第五周学习总结
    20165227 20165228结对学习感想
    第四周课堂测试补做
    第四周作业
    20165227第三周学习总结
    第二周学习总结
    20165304《JAVA程序设计》第四周学习总结
    20165304 2017-2018-2 《Java程序设计》第3周学习总结
  • 原文地址:https://www.cnblogs.com/besti145306/p/6106117.html
Copyright © 2011-2022 走看看