要理解用户空间与内核空间之间的关系


需要对内核有深入的认识。从两个不同的角度来理解内核:一是从静态角度,内核可以被看作一个类库,对外提供API接口;二是从动态角度,内核启动多个内核线程提供系统服务,这些线程在ps命令下可以被看到。

当用户进程执行应用代码时,CPU访问的虚拟内存空间位于0-3GB空间内,此时用户进程处于用户态。但是,当用户进程执行系统调用时,CPU会通过软中断的方式将其陷入到内核代码中,此时用户进程处于内核态,CPU访问的是高1GB的虚拟地址空间。

普通用户进程访问内核空间的唯一方式是通过系统调用。内核线程只能运行在内核态,并且它们只能访问1GB的地址空间。内核空间是所有进程共享的,但是只有运行在内核态的进程才能访问它。

此外,我还对您提供的文案进行了如下修改:

· 简化了一些句子,使其更加清晰易懂。

· 修正了一些表述,使其更加准确。

· 将某些关键信息(如内核线程)提前说明,以增加文本的逻辑性和连贯性。

要理解用户空间与内核空间之间的关系_第1张图片



我这里刚好有嵌入式、单片机、plc的资料需要可以私我或在评论区扣个6


你可能感兴趣的:(单片机,编程,嵌入式,单片机,51单片机)