Linux C/C++ or 嵌入式面试之《多进程多线程编程系列》(10) 什么是进程上下文?什么是中断上下文?

本文深入探讨了嵌入式Linux系统中的进程上下文和中断上下文概念,阐述了处理器在内核态和用户态的不同运行状态,并分析了上下文切换在多处理器系统中的作用。在进程上下文,内核代表进程运行,而在中断上下文,内核则处理硬件中断。文章强调了中断处理程序应快速简单,避免在中断上下文睡眠或执行耗时任务。
摘要由CSDN通过智能技术生成

我们在介绍进程、线程、中断时常常提及上下文的概念,那么什么是上下文。这是个面试提问概率比较大的问题,对于一个嵌入式linux软件系统,时刻都在进行着用户空间和内核空间的相互切换,以及进程间的轮转调度,时不时还会来个中断,进入到中断处理程序然后再返回。在这切换的过程中,我们需要保存进程在用户空间的状态,以便切换回去时恢复原来状态,由此引入了上下文的概念。

一、上下文基本概念

进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。

处理器总处于以下状态中的一种:
1、内核态,运行于进程上下文,内核代表进程运行于内核空间;
2、内核态,运行于中断上下文,内核代表硬件运行于内核空间;
3、用户态,运行于用户空间。

其实,除了上面三种状态之外,还有一种就是永远处于内核态的内核线程,内核也有自己的任务需要处理,这类内核线程有一部分完全运行于内核空间,它们也有自己的上下文,所

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值