内核空间与用户空间

1. 内核态与用户态的区别:

       1) 内核态的代码不受任何限制,可以访问所有处理器指令集、内存地址以及I/O空间

       2) 用户态的代码只能访问其地址空间的页表项中规定的虚拟地址


2. 用户态到内核态的切换方式:
      1) 系统调用(软中断的一种):由用户进程主动发起;
      2) 异常:当CPU在执行运行在用户态下的程序时,发生了异常,切换到处理此异常的内核相关程序中,比如缺页异常。被动
      3) 硬件中断被动

3. 内核空间与用户空间的划分(32位):
     内核空间:最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF);
     用户空间:较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF)

4. CPU对处于内核态根据上下文环境进一步细分:

     1) 内核态,运行于进程上下文,内核代表进程运行于内核空间。
     2) 内核态,运行于中断上下文,内核代表硬件运行于内核空间。
     3) 用户态,运行于用户空间。

references:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值