用户栈和内核栈

内核创建一个进程

一个进程的通过进程控制块创建属于自己的堆栈

堆栈包括  用户栈和内核栈

用户栈:指向用户内存空间,用于保存用户空间和子线程调用的参数、返回值和局部变量

内核栈: 指向内核地址空间,保留中断现场,特别是嵌套中断,被中断信息一次性压入栈中,恢复时,按照先进后出逆序弹出中断,保存操作系统相互调用的参数、返回值和局部变量

为什么不同共有:

1、如果用内核栈:大小有限,用户调用次数很多,中断16个优先级,系统栈是15个,用户程序调用次数很多,15次子程序调用后的参数返回值和局部变量就不能保存,用户程序也就不能正常运行了

2、如果用用户栈:系统程序需要在某种保护机制下,才能运行,因为用户栈在用户空间是无保护运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值