博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018-2019-1 20165303 《信息安全系统设计基础》第七周学习总结
阅读量:7015 次
发布时间:2019-06-28

本文共 880 字,大约阅读时间需要 2 分钟。

异常控制流

现代系统通过使控制流发生突变来对这些情况做出反应。一般而言,我们把这些突变称为异常控制流。ECF

ECF是操作系统用来实现I/O、进程和虚拟内存的基本机制,而且是计算机系统中实现并发的基本机制。

异常

  • 异常是异常控制流的一种形式,它一部分由硬件实现,一部分由操作系统实现。异常是控制流中的突变,用来响应处理器状态中的某些变化。
    1296850-20181109171114978-1832731250.png
  • 异常处理程序完成后会发生的情况:

    1)处理程序将控制返回给事件发生时正在执行的指令      2)处理程序将控制返回给如果没有发生异常将会执行的下一条指令      3)处理程序终止被中断的程序
  • 异常表
    1296850-20181109171559891-1364648539.png
  • 异常的类别

    中断 陷阱 故障 终止
    1296850-20181109171756694-1461118512.png
    1296850-20181109172148868-1663622197.png
    1296850-20181109172153789-85466816.png
    1296850-20181109172202239-268669379.png

进程

  • 进程的经典定义:一个执行中程序的实例
  • 并发:多个流并发地执行的一般现象被称为并发
  • 多任务:一个进程和其他进程轮流运行

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

    include <sys/types.h>

include <unistd.h>

pid_t fork(void);

  • 终止进程

exit函数

include <stdlib.h>

void exit(int status);

  • fork

1296850-20181109174953940-1082019513.png

  • exec
    1296850-20181109175021336-1996017510.png
  • wait,waitpid
    1296850-20181109175053976-235707644.png
  • exit

    1296850-20181109175106340-1931461214.png

  • getpid getppid

    1296850-20181109175130991-700153141.png

  • sleep

1296850-20181109175540005-1660196176.png

  • pause

    1296850-20181109175555609-1316177478.png

  • setenv

    1296850-20181109175641532-1370421897.png

  • unsetenv

    1296850-20181109175732947-690591356.png

理解数组指针、指针数组、函数指针、指针函数的区别

  • 数组指针
    顾名思义,它是一个指针,是一个指向数组的一个指针
  • 指针数组
    是一个数组,那是一个什么样的数组呢?是一个存放指针的数组。
  • 函数指针
    一看名字就知道这是指针,是一个存放函数地址的指针
  • 指针函数
    是一个函数。函数都有返回类型(如果不返回值,则为无值型),只不过指针函数返回类型是某一类型的指针。

理解信号机制:kill,alarm,signal,sigaction

  • 用kill函数发送信号,进程通过调用kill函数发送信号给其他进程

    1296850-20181109181103219-1880541500.png
    1296850-20181109181154262-224924375.png

  • 用alarm函数发送信号

    1296850-20181109181324645-1319923637.png

  • signal函数

    1296850-20181109181515525-237925470.png

转载于:https://www.cnblogs.com/Vventador/p/9936570.html

你可能感兴趣的文章
HDU_1143_tri tiling
查看>>
codeforces_1075_C. The Tower is Going Home
查看>>
C# 关于XML的简单操作实例
查看>>
ggplot2:画世界地图和中国地图 合并数据 增添信息 标记
查看>>
VertexBuffer渲染次序
查看>>
python中使用 xpath
查看>>
集中管理:领导者,不能不考虑的几件事之—— 拿什么辅助你,我的决策?(一)...
查看>>
关于VirtualBox虚拟机安装GhostXP出现蓝屏proce***.sys 的解决办法
查看>>
JSP如何在servlet将一个数据模型对象传递给jsp页面
查看>>
PHP 实现“贴吧神兽”验证码
查看>>
根据一个表的数据情况显示另一个表的数据
查看>>
TP4056大电流1A使用注意事项
查看>>
Java常考面试题(四)
查看>>
学习Javascript闭包(Closure)
查看>>
你性格那么软,总是经常改变想法
查看>>
NeHe OpenGL教程 第十七课:2D图像文字
查看>>
学习SpringMVC——从HelloWorld开始
查看>>
awk打印指定列以后的所有内容
查看>>
代码16
查看>>
用 kGDB 调试 Linux 内核
查看>>