关于栈(STACK)的一点思考
从OS / VM角度谈一谈栈的应用
系统中一个栈代表一个执行流,那么到底有多少种栈
首先用户空间,也就是进程至少有一个用户栈(每个线程有一个独立的用户栈)
中断、异常处理程序有独立的调用栈
系统调用有独立的调用栈 – 进程(线程)的内核栈
信号处理程序的执行肯定是在用户[……]
从OS / VM角度谈一谈栈的应用
系统中一个栈代表一个执行流,那么到底有多少种栈
首先用户空间,也就是进程至少有一个用户栈(每个线程有一个独立的用户栈)
中断、异常处理程序有独立的调用栈
系统调用有独立的调用栈 – 进程(线程)的内核栈
信号处理程序的执行肯定是在用户[……]
背景介绍:在硬件产线检测中,需要自动化的读取硬件状态,并逐一判断硬件状态是否健康,如:
最近对于这个需求设计了一个DSL,如:
每次工厂产品下线检测只需要设置好对应的DSL脚本,便有产线上位机自动加载并解释执行,以及与硬件串口进行交互检测
[……]
本文涉及到中断/异常、系统调用、信号、进程切换,因为有这之间涉及到很多依赖,而很多概念容易混淆,所以专门梳理一下概念
中断是由间隔定时器和I/O设备产生的,即CPU的外围设备产生,以通知CPU一个事件的发生,硬件上存在可编程中断控制器(PIC, APIC),负责向 CPU[……]