操作系统理论

1 什么是地址空间

  现代操作系统采用虚拟地址空间,一般的32位操作系统,虚拟地址空间为4G(2的32次方)。为了保证内核的安全,操作系统将虚拟地址空间划分为两部分:一部分为内核空间,一部分为用户空间。
  针对Linux系统而言,将最高的1G字节划分供内核使用,称为内核空间。将较低的3G字节,供各个进程使用,称为用户空间,每个进程可以通过系统调用进入内核。因此,linux内核供系统所有进程共享。

需要注意的细节问题:

(1) 内核空间中存放的是内核代码和数据,而用户空间中存放的是用户程序的代码和数据。不管是内核空间还是用户空间,它们都处于虚拟空间中。
(2) Linux使用两级保护机制:0级供内核使用,3级供用户程序使用。

2 内核态与用户态

内核态:当一个任务(进程)执行系统调用而陷入内核代码中执行时,称进程处于内核运行态(内核态)。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。
用户态:当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。当正在执行用户程序而突然被中断程序中断时,此时用户程序也可以象征性地称为处于进程的内核态。因为中断处理程序将使用当前进程的内核栈。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值