进程上下文概念 --- context

HarmonyOs- UIAbility应用上下文 有过开发经验的都知道,当我们在一个系统上进行开发的时候,无论是Android,HarmonyOs,Linux 等等,从顶层的全系统,到窗口系统,服务系统等子系统,全部存在一个叫 上下文的 概念。(如果每一个类,都记录一个关于系统信息的对象,光是设置参数同步给系统,然后其他模块各自的对象都得变,尽管逻辑上能实现,但是这种行为还是比较疯魔的,从运行速度还是内存消耗,都比共享要差很多。我们这里以顶层设计的视角,假设您要研发一个手机系统的UI框架,并且选定了实现的模型之后,那么您的上下文应该涵盖什么呢? 阅读详情

聊天时经常听别人说到上下文切换,一直不知道什么是上下文,怎么个切换法。

今天百度了下才知道,上下文切换,一般都是指进程的上下文切换。

当一个进程在执行时,CPU中所有寄存器的值、进程的状态以及堆栈中的内容被称为该进程的上下文。

也就是关于当前进程的寄存器内容以及内存页表的详细信息等等内容,一句话概括也就是关于描述进程的信息。即TTS和CR3等中的内容。

当内核需要切换到另一个进程时,它需要保存当前进程的所有状态,即保存当前进程的上下文,以便在再次执行该进程时,能够得到切换之前的状态,进而继续执行下去。

在LINUX中,当前进程上下文均保存在进程的任务数据结构中。

在发生中断时,内核就保存被中断进程的上下文,转而去执行中断服务进程,以便中断服务程序结束时,能恢复被中断进程的执行。


补充一点,当一个进程运行时 ,产生了一个中断, CPU转而执行中断处理程序 , 虽然CPU当时保存了被中断进程的上下文, 但这和中断处理丝毫没有关系 , 也就是 说, 中断处理程序没有用到被中断进程的上下文。

Linux进程上下文切换过程context switch详解--Linux进程的管理与调度 二十一) 阅读详情

相关推荐

sel4源码解析(六) - 进程

6.1.Tcb结构体 /* TCB: size >= 18 words + sizeof(arch_tcb_t) + 1 word on MCS (aligned to nearest power of 2) / struct tcb { / arch specific tcb state (including context)*/ arch_tcb_t tcbArch; /* Thread...

Mr0cheng的专栏 1915

进程上下文

<br /><br />请问进程上下文是什么意思?<br />回答者的答案集合:<br />1.<br />进程上下文一般在进程切换中提到,也就是当进程要切换时关于当前进程的寄存器内容以及内存页表的详细信息等等内容,一句话概括也就是关于描述进程的信息。<br />2.<br /> <br /> <br />同意楼上的,就是很多书本上提到的进程控制块PCB,保存着进程的很多详细信息<br />3.<br />补充(LINUX完全注释中的一段话):<br />当一个进程在执行时,CPU的所有寄存器中的值、进程的

coding life 1687

Linux进程调度7 - 核心调度 - 切换进程1

进程上下文切换(有时候也称作进程切换 或 任务切换)是指CPU从一个进程或线程切换到另一个进程或线程。此处仅简述进程切换概念流程,后续专门详细分析梳理。context_switch流程。

u010971180的博客 114

Linux内核进程上下文切换深入理解

我都知道操作系统的一个重要功能就是进行进程管理,而进程管理就是在合适的时机选择合适的进程来执行,在单个cpu运行队列上各个进程宏观并行微观串行执行,多个cpu运行队列上的各个进程之间完全的并行执行。进程管理是个复杂的过程,例如进程的描述、创建和销毁、生命周期管理、进程切换、进程抢占、调度策略、负载均衡等等。本文主要关注进程管理的一个切入点,那就是进程的上下文切换,来理解linux内核是如何进程进程上下文切换的,从而揭开上下文切换的神秘面纱。 (注意:本文以linux-5.0内核源码讲解,采用arm64架构)

lx123010的专栏 7622

盘点那些好用的SAP FIORI App(二) -上传凭证Upload Journal Entry

SAP FICO运维问题及解决方案分享

lijinbao171022的博客 1544

DFT设计绪论

DFT设计的主要目的是为了将defect-free的芯片交给客户。 产品质量,通常使用Parts Per million(PPM)来衡量。 但是随着IC从SSI到VLSI的发展,在test上花销的时间越来越多,test的quality却很难提高,这使得DFT的engineer不断的发展着DFT的技术。 DFT engineer面对的第一个问题是设计内部的状态的可测试性问题。在...

ahr7882的博客 1195

进程上下文与中断上下文的理解

一.什么是内核态和用户态内核态:在内核空间执行,通常是驱动程序,中断相关程序,内核调度程序,内存管理及其操作程序。用户态:用户程序运行空间。二.什么是进程上下文与中断上下文1.进程上下文:(1)进程上文:其是指进程由用户态切换到内核态是需要保存用户态时cpu寄存器中的值,进程状态以及堆栈上的内容,即保存当前进程的进程上下文,以便再次执行该进程时,能够恢复切换时的状态,继续执行。(2)进程下文:其是指

开坦克的飞行员 1万+

【HarmonyOS 5】鸿蒙APP使用【团结引擎Unity】开发的案例教程

以下是基于团结引擎开发鸿蒙Unity应用的详细案例教程,整合环境配置、工程适配、跨语言通信等核心环节。

2201_75709314的博客 2483

什么是进程上下文,什么是中断上下文

 进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。处理器总处于以下状态中的一种:1、内核态,运行于进程上下文,内核代表进程运行于内核空间;2、内核态,运行于中断上下文,内核代表硬件运行于内核空间;3、用户态,运行于用户空间。用户空间的应用程序,通过系统调用,进入内核空间。这个时候用户空间的进程要传递很多变量、参数的

shell2522的专栏 1052

单片机按键识别篇---单击---双击----长按

  最近做一任务需要使用一个按键实现三种功能,分别是按键单击功能,按键双击功能和按键长按功能,可能之前没有接触过这类按键复用情况,顶多也只是简单识别单击和长按,没有想过双击以上按键功能,也是绞尽脑汁,想了半天,又上网看了些例程,算是对于按键的识别有点小小的了解,感觉这个功能挺实用,在此做个随笔。 一、思路   1.识别长按操作思路:我们使用系统定时器定时,然后让系统每过一段时间去扫描按键I/O...

weixin_30311605的博客 3660

安卓手机游戏《英雄迷宫冒险》存档修改

警告 修改前务必备份存档文件夹。该游戏有自动删除存档的功能,有问题的存档会自动删除。 修改对应的游戏版本为1.5。 存档保存位置 内部存储\Android\data\com.xmmf.yxmgmx.taptap\files 该文件夹中文件如下: data.wsf:数据文件。 wsfSave0:第一个存档。 wsfSave1:第二个存档。 修改金钱的例子 先进游戏确认当前金钱数量。当前金钱是2498,然后退出游戏。 根据金钱数量计算出存档中的内容。2498的十六进制是9C2,存档中的内容在存档中搜索该数

番茄鸡蛋的专栏 9364

进程里的上下文具体指什么?

前言:在redis相关文章中,经常可以看到这句话:“采用单线程,避免了不必要的线程上下文切换和竞争条件"。在阅读《操作系统概念》时正好看到了,就此记录一下我觉得比较重要的部分。 摘自知乎 --vczh 每一段程序都有很多外部变量。只有像Add这种简单的函数才是没有外部变量的。一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行。你为了使他们运行,就要给所有的外部变量一个一个写一些值进去。这些值的集合就叫上下文。 (基于Linux)大体上,进程属性分为三组:进程标识,进程环境和进程上下文。 进程标

void的博客 7574

道家学派创始人老子,对 SAP ABAP 这门编程语言的客观评价

SAP HANA 之引入,使 ABAP 于处理大数据,云计算等新兴领域,展现新的生命力,如老吾老以及人之老,幼吾幼以及人之幼,扩展其在信息技术领域的应用,以涵养更广之需。ABAP 能以数据为基,流转于系统之中,如道法自然,顺应企业之生态,助之以高效运转,减少冗杂,简化管理,使企之运营,如小国寡民,无为而治。然 ABAP 如老树盘根,更替不易,面对新兴技术,如云计算、大数据等,其更新之速,未能与时俱进。如水之于渊,柔而能胜刚,ABAP 之发展,顺时而动,应需而变,其在编程领域,犹如道之于万物,渐不可或缺矣。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1027

Appium 的上下文 Context

简单理解上下文 每一段程序都有很多外部变量。只有像 Add 这种简单的函数才是没有外部变量的。一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行。你为了使他们运行,就要给所有的外部变量一个一个写一些值进去。这些值的集合就叫上下文。 你查不到是因为上下文这个东西不是一个具体的东西,上下文在不同的地方表示不同的含义,要感性理解。 context 其实说白了,和文章的上下文是一个意思,在通俗一点,我觉得叫环境更好。 .... 林冲大叫一声 “啊也!” .... 问:这句话林冲的 “啊也” 表达了林冲

weixin_41384006的博客 2421

openssl命令数据摘要详解(SM3、sha256、MD5、dss1、mdc2、ripemd160)

SM3是由中国密码学家设计的密码哈希函数,是中国国家密码管理局(National Cryptographic Authority,简称:CNCA)颁布的国家密码算法标准。SM3属于密码杂凑函数家族,它可以计算任意长度的消息并生成固定长度(256比特,即32字节)的哈希值。SM3生成的哈希值长度为256比特(32字节),不管输入消息的长度如何,输出始终是固定的。SM3将输入数据划分为512比特(64字节)的分组,并对每个分组进行处理。

N阶二进制的博客 4461

UG NX二次开发(C#)-读取PMI对象的名称

摘要:本文介绍了在UG NX中通过NXOpen获取PMI对象名称的方法。首先说明PMI对象初始无名称,可通过重命名或属性设置名称。然后提供C#代码示例,展示如何遍历PMI集合获取对象名称,并显示名称和类型信息。适用于需要操作PMI对象的开发人员,欢迎加入技术交流QQ群749492565。(99字)

GimiGimmy 592

Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)

Linux进程上下文切换过程context_switch详解 日期 内核版本 架构 作者 GitHub 优快云 2016-06-14 Linux-4.6 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度 前面我们了解了linux进程调度器的设计思路和注意框架周期调度器scheduler_tick通过li

OSKernelLAB(gatieme) 3万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【鸿蒙开发】第二十九章 Stage模型-应用上下文Context、进程、线程

进程是系统进行资源分配的基本单位,是操作系统结构的基础。系统的进程模型如下图所示。通常情况下,应用中(同一Bundle名称)的所有UIAbility均是运行在同一个独立进程(主进程)中,如下图中绿色部分的“Main Process”。

wsy18201533604的博客 1391

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Context理解

最近时常在想,优快云上点击率最高,评论最多的博客,大概以说明性的为主。这可以理解,有问题,baidu search最后才会找到Blog。针对问题的博客,基本上是以说明性的为主的。但个人理解,如果技术要成长,思考是最重要的。否则,只能追随,更难创新。根据重要紧急四象限理论,思考属于重要不紧急的象限。人往往容易陷入紧急象限而忽略重要象限。因此,个人不大喜欢说明性博客,即使有 ,也只是作为记事性为主,

yin_guochao的博客 559

C#综合揭秘——细说进程、应用程序域与上下文之间的关系

引言 本文主要是介绍进程(Process)、应用程序域(AppDomain)、.NET上下文(Context)的概念与操作。 虽然在一般的开发当中这三者并不常用,但熟悉三者的关系,深入了解其作用,对提高系统的性能有莫大的帮助。 在本篇最后的一节当中将会介绍到三者与线程之间的关系,希望对多线程开发人员能提供一定的帮助。 因为时间仓促,文中有错误的地方敬请点评。 一、进程的概念与作用 进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。进程之间是相对独立的,一

覃鸿宇的博客 690

进程、线程、协程的对比、区别和联系,进程之间的通信方式、线程之间的通信方式、协程之间的通信方式

学习了进程、线程协程的通信等

Ws_Te47的博客 1612

linux进程管理 上下文切换

linux进程管理之上下文切换(context switching) 关键词:linux进程管理 上下文切换 During process execution, information on the...

weixin_34226182的博客 83

CONTEXT(线程结构体)

typedef struct _CONTEXT { DWORD ContextFlags // -| +00h DWORD Dr0 // | +04h DWORD Dr1 // ...

1310

进程、应用程序域,线程和上下文之间的关系

在处理多线程程序之前,还是需要复习一些基础知识的。 进程 简单来说,进程是一个运行的程序,用来描述一组资源(如外部代码库和主线程)和程序运行所必须的内存分配。对于每一个被加载到内存的*.exe,在他的生命周期中操作系统会为之创建一个单独且隔离的进程。 由于一个进程的失败不会影响其他进程,这种隔离的方式,运行库环境会更加健壮和稳定。 应用程序域 在.net 平台下,可执行程序并没有直接加载在w...

weixin_34009794的博客 130

.NET 中上下文的概念

转自:http://tech.sina.com.cn/s/2009-11-16/18071134973.shtml 在.NET 中,上下文(Context)的概念贯穿着.NET的很多核心内容.他提供了类似运行环境的服务和内容.在.NET中,基于上下文拦截的技术一直是很隐晦的,没有很多的文档说明。然儿,基于上下文的拦截的技术却提供了很好很强大的功能。使我们能方便是实现类似 AOP 的编程...

weixin_30536513的博客 260
上一篇: undefined reference to 'pthread_create' 问题
下一篇: Controlling a device --- ioctl
lamdoc
博客等级 码龄18年 155粉丝 655原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值