异常控制流

异常(待补充)#

异常的类别#

异常分为:

  • 中断(interrupt
  • 陷阱(trap
  • 故障(fault
  • 终止 (abort
img

进程#

当在系统中运行一个程序,会得到一个假象,好像我们的程序在独占系统资源地执行。事实上,这是通过进程的虚拟化来实现的。

进程的一个经典定义:一个执行中程序的实例。也就是说,每个运行的程序都是一个进程,而每个进程都有自己的上下文。

当用户向shell中输入一个可执行文件的名字,运行程序时,就会创建一个进程。当然,应用程序也可以创建一个进程。

进程之所以重要,是因为进程提供给应用程序两个关键的抽象:

  1. 一个独立的逻辑控制流,通过称为上下文切换的内核机制,使得程序好像在独占地使用处理器。
  2. 一个私有的地址空间,通过虚拟内存,使得程序好像在独占使用内存空间。

逻辑控制流#

程序计数器(PC)值的序列称为逻辑控制流,简称逻辑流。通常所说的逻辑流是对程序执行路径的抽象描述

图8-12是一个运行着三个进程的系统。处理器的一个物理控制流被分成三个逻辑流,每个进程一个。如下图所示,三个逻辑流的执行是交错的。也就是说,进程轮流使用处理器。

img

每个进程执行它的流的一部分,然后被抢占(preempted)(暂时挂起),其他进程使用处理器。对于在每个进程的上下文中运行的程序,看上去好像在独占使用CPU资源。

并发流#

一个逻辑流的执行在时间上与另外一个流重叠,称为并发流(concurrent flow),这两个流被称为并发地运行。

并发(concurrency): 多个流并发地地执行的一般现象称为并发

多任务:一个进程和其他进程轮流运行的概念称为多任务

时间片:一个进程执行它控制流的一部分的每一个时间段叫做时间片。因此,所任务也叫时间分片。在图8-12中,进程A的流由两个时间片组成。

应当注意的是:如果两个流在时间上重叠,那么它们就是并发的。

并行流:两个流并发地运行在不同的处理器核或者计算机上,将其称为并行流。

私有地址空间#

进程为每个程序提供提供他自己的。

作者:notob

出处:https://www.cnblogs.com/notob/p/18134236

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   fowind  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示