美文网首页C++ 面经
C++面经——用户模式和内核模式

C++面经——用户模式和内核模式

作者: 乔大叶_803e | 来源:发表于2020-02-24 14:09 被阅读0次

首先我们需要先明白进程的概念,简单来说,就是一个可执行的程序就是进程。
我们使用C语言编译生成的程序,运行后就是一个进程。
进程最显著的特点就是拥有的独立的地址空间。

严格来说,程序是存储在磁盘上的一个文件,是指令和数据的集合,是一个静态的概念;进程是程序加载到内存运行后一些列的活动,是一个动态的概念。

“程序的地址空间”的说法,这其实是不严谨的,应该说“进程的地址空间”。一个进程对应一个地址空间,而一个程序可能会创建多个进程。

内核模式和用户模式

内核空间存放的是操作系统内核代码和数据,是被所有程序共享的,在程序中修改内核空间中的数据不仅会影响操作系统本身的稳定性,还会影响其他程序,这是非常危险的行为,所以操作系统禁止用户程序直接访问内核空间。

要想访问内核空间,必须借助操作系统提供的 API 函数,执行内核提供的代码,让内核自己来访问,这样才能保证内核空间的数据不会被随意修改,才能保证操作系统本身和其他程序的稳定性。

用户程序调用系统 API 函数称为系统调用(System Call);发生系统调用时会暂停用户程序,转而执行内核代码(内核也是程序),访问内核空间,这称为内核模式(Kernel Mode)。

用户空间保存的是应用程序的代码和数据,是程序私有的,其他程序一般无法访问。当执行应用程序自己的代码时,称为用户模式(User Mode)。

相关文章

  • C++面经——用户模式和内核模式

    首先我们需要先明白进程的概念,简单来说,就是一个可执行的程序就是进程。我们使用C语言编译生成的程序,运行后就是一个...

  • Linux内核知识

    首先来一张图说明GNU/Linux的基本的体系结构: 用户模式和内核模式 执行进程的模式有两种:用户模式和内核模式...

  • 深入理解NIO零拷贝

    NIO零拷贝 普通IO操作流程 用户程序向内核程序发起读请求cpu从用户模式切换到内核模式,内核模式向磁盘发出读取...

  • Windows内核模式下的线程同步

    Windwos下内核模式/用户模式实现线程同步的比较 在用户模式下进行线程同步的最大好处就是非常快。利用内核对象进...

  • KVM基础

    新博客网站1新博客网站2 一,概念 kvm为内核性虚拟化(寄生)表现为内核模块内核模式,用户模式,来宾模式(虚拟机...

  • CPU的保护模式与进程空间

    CPU的保护模式 保护模式 Windows多任务的实现 虚拟内存 内核模式与用户模式 1、保护模式 80386处理...

  • 1.1 Android系统启动流程(Zygote进程)

    Android启动模式 recovery升级模式:启动recovery分区内核和文件系统 正常启动模式:引导内核和...

  • 操作系统

    用户模式和内核模式,都知道哪些? 生产者消费者模型 进程和线程区别?进程间通信有几种方式和各自特点?进程间通信的管...

  • 软件开发校招——操作系统知识点总结

    1. 基础知识 1.1 内核态和用户态 多数计算机有两种运行模式,用户态和内核态。软件中最基础的部分是操作系统,它...

  • 操作系统总结

    1. 基础知识 1.1 内核态和用户态 多数计算机有两种运行模式,用户态和内核态。软件中最基础的部分是操作系统,它...

网友评论

    本文标题:C++面经——用户模式和内核模式

    本文链接:https://www.haomeiwen.com/subject/kfbmqhtx.html