进程与进程的上下文

异常控制流概念

Q:程序的机器级代码的两种正常的执行顺序是什么?

A:1、按顺序取下一条指令执行。

     2、通过CALL/RET/Jcc/JMP等指令跳转到目标地址处执行。

      q/a:CUP控制流:CPU所执行的指令的地址序列

      q/a:正常控制流:通过上述1、2方式得到的控制流。

      q/a:异常控制流:某些特殊情况引起用户程序的正常执行被打断形成的意外控制流。

       q/a:引起用户程序的正常执行被打断内部异常外部中断,然后转去执行操作系统提供的针对这些异常情况的处                           理程

Q/A:内部异常:缺页、越权、越级、整除0、溢出等。CPU内部可以检测(硬件)到的异常。

        q/a:整除0:CUP不知道如何赋值,程序不知道如何执行下去,请求操作系统帮助,操作系统抛出异常,然后操作系统杀

                死(中断)程序。

        q/a:溢出(over flow):检测硬件是否溢出,不同的体系结构对溢出的处理是不一样的。程序将被杀死。

        q/a:缺页:每条指令都要先从内存中被取出来,发现内存页表中的待取的page=0(表示所取的指令不在page中),用户

                          程序不能够直接访问磁盘,于是呼唤操作系统过来,操作系统取读取磁盘,把指令装到内存(填好页表),然

                          后程序继续执行发生缺页的这条指令。

        q/a:越权、越级。程序将被杀死。

Q/A:外部中断:ctrl-c、打印缺纸,DMA结束等。外部信号(中断请求信号,硬件)通过总线发送到CPU的一个ping上,请求 

         CUP中断。

Q/A:进程上下文切换(操作系统层面)。

Q/A:一个进程直接发送信号给另一个进程(应用程序层面)。



程序和进程

Q/A:程序:静态的概念,磁盘上的一堆0/1序列,代码+数据 的集,.exe、.elf。

Q/A:进程:动态的概念(OS对CPU执行的程序的运行过程的一种抽象),程序+数据的集 对某个数据集 的一次运行活动。占

                   用 内存+CPU。



进程

任务 即 进程(用户进程)。

Q/A:任务:OS(管理任务)以外的都属于 用户的任务

Q:计算机如何描述进程?

A:单个进程:每个进程由进程描述符这个结构来描述,其结构类型定义为task_struck(包含了一个进程的所有信息)

     操作系统层面描述进程:所有进程由一个双向循环链表(task list)来描述,其中每个元素是一个进程描述符。

     硬件架构层面描述进程:IA-32中的 TSS、task gate等。




逻辑控制流

Q:逻辑控制流是什么?

A:某个进程的执行=若干指令序列的执行(顺序执行,或者遇到转移指令时跳转到指定位置继续执行)。

      逻辑控制流:数据集确定>指令地质序列确定。某个进程的指令地址序列可以用来描述该进程的执行过程,我们程这个地址

                          序列为这个进程的逻辑控制流。

Q:物理控制流(处理器的执行流)是什么?

A:单处理系统(单CPU),某一时刻只能有一个进程在执行,某一时间段可以有多个进程轮流使用处理器。一个物理控制流>

      多个逻辑控制流。

Q:并发执行是什么?

A:并发:不同进程的逻辑控制流,在时间上交错/重叠。



进程的上下文切换机制

Q:如何判断一个进程执行时间?

A:根据这个进程的每条(用户写的指令+内核指令)指令执行时间算出来的。

Q:进程的上下文切换机制处理器调度)目的是什么?

A:处理器调度等时间会引起用户进程正常执行被打断,因而形成异常控制流。一个进程安全切换到另一个进程。


“进程”的“上下文”

Q/A:一个进程的存储映像=系统级上下文+用户级上下文。

           系统级上下文(内核空间信息)=进程标志信息+进程现场信息+进程控制信息+...

           用户级上下文(用户空间信息)=用户堆栈+用户数据块+用户程序块+共享地址空间+...

            寄存器上下文/硬件上下文(现场信息)=处理器中各寄存器的内容

Q/A:进程的上下文=进程的物理实体(代码+数据+...)+支持进程运行的环境


用户态和内核态

Q/A:内核代码:OS管理程序执行,需要在处理器中运行内核代码。

Q/A:模式位:为了区分处理器运行的是用户代码or内核代码,必须有一个状态位来标识。

Q/A:处理器模式=用户模式(用户态)+内核模式(核心态)。

Q/A:用户模式(目态、用户态)下,处理器运行用户进程时,不允许使用特权指令(例如,flash cache 破坏进程切换的指

          令)。




“程序的加载和执行” 后续加载。



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值