码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-11-11 23:32:35      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:用户   状态   部分   集合   跳转   重复   启动   png   概念   

教材学习:第八章《异常控制流》

知识点学习:

  • 异常控制流(ECF):现代系统通过使控制流发生突变,做出反应。
  • 对于ECF的理解:
  • ECF是操作系统的基本机制
  • 应用程序通过ECF的形式,向操作系统请求服务
  • ECF是计算机系统中实现并发的基本机制
  • 异常:是异常控制流的一种形式,是控制流中的突变
  • 事件:状态的变化
    异常
    异常的一部分由硬件实现,一部分由操作系统实现,它就是控制流中的突变,用来响应处理器状态的某些变化。注意和语言中的应用级的异常概念区分。

处理器中,状态被编码为不同的位和信号,状态变化被称为事件,事件不一定和当前指令的执行有关。处理器检测到有事件发生时,会通过异常表进行间接过程调用,到一个专门设计处理事件的操作系统子程序,称为异常处理程序。

异常处理程序完成处理后,根据异常事件的类型会(执行一种):

将控制返回给当前指令(事件发生时正在执行的)。
将控制返回给下一条指令(没有异常将会执行的)。
终止被中断的程序。
异常表是一张跳转表,表目k包含异常k的处理程序的地址,在系统启动时由操作系统分配和初始化。系统中每种可能的异常都分配了一个唯一的非负整数的异常号。
技术分享图片

linux系统调用;是通过一条称为syscall的陷阱指令来提供。

  • *进程**
    进程是一个执行中程序的实例。系统中每个程序都是运行在某个进程的上下文中的。上下文由程序正确运行所需的状态组成,包括程序的存放在存储器中的代码和数据、栈、通用目的寄存器的内容、程序计数器、环境变量和打开文件描述符的集合。

在shell中运行程序时,shell会创建一个新的进程,然后在新进程的上下文中运行可执行目标文件。应用程序还能创建新进程。

进程给应用程序提供了两个关键抽象:

独立的逻辑控制流,提供程序独占处理器的假象。
私有的地址空间,提供程序独占存储器系统的假象。
逻辑控制流
程序执行的一系列PC(程序计数器)值唯一地对应于包含在程序的可执行目标文件中的指令或包含在运行时动态链接的共享库中的指令,这个PC值的序列称为逻辑控制流
技术分享图片

进程轮流使用处理器,每个进程执行它的流的一部分,然后被抢占,其他进程开始执行。程序运行在进程的上下文中,因此像是在独占地使用处理器。

逻辑流是相互独立的,进程互不影响。可以通过进程间通信(IPC)机制来实现进程间交互。

逻辑流在时间上和其他逻辑流重叠的进程称为并发进程,这两个进程称为并发运行。如A和B、A和C,而B和C不是并发运行的。

进程执行控制流的一部分的时间段称为时间片,进程和其他进程轮换运行称为多任务,也称时间分片。
信号
信号是一种更高层软件形式的异常,它允许进程中断其他进程。一个信号即一条信息,通知进程一个某种类型的事件已经在系统中发生了。
每种信号类型都对应某个类型的系统事件。底层硬件异常通常对用户进程不可见,信号提供了一种机制向用户进程通知这些异常的发生。其他信号对应内核或其他用户进程中较高层的软件事件。

发送信号指内核通过更新目的进程上下文中的某个状态,发送一个信号给目的进程。发送信号的原因有:

  • 内核检测到一个系统事件,如除零或子进程终止。
  • 进程调用了 kill 函数,显示要求内核发送信号给目的进程。进程可以给自己发送信号。
    接收信号指目的进程被内核强迫以某种方式对信号的发送做出反应。进程可以忽略信号,终止,或执行信号处理程序捕获信号。

发出而没有被接收的信号称为待处理信号。一种类型最多有一个待处理信号,重复的信号被丢弃。进程可以阻塞某种信号,这时仍可被发送,但不会被接收。一个待处理信号最多只能被接收一次。

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

标签:用户   状态   部分   集合   跳转   重复   启动   png   概念   

原文地址:https://www.cnblogs.com/challengeeverthing/p/9943564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!