青少年叛逆
青少年叛逆
IT培训
广告招商

Linux系统中的内核态是什么?老男孩Linux培训机构

  在Linux技术大佬口中,我们经常会时不时听到内核态、用户态等,内核主要是和硬件打交道,管理最核心的内容,如硬盘、内存、CPU等,那你知道在Linux系统中,内核态具体是什么吗?请看下文:

  Linux系统中的内核态本质是内核,一种特殊的软件程序,用于控制计算机的硬件资源,例如协调CPU资源,分配内存资源,并且提供稳定的环境供应用程序运行。0-4G范围的虚拟空间地址都可以操作,尤其是对3-4G范围的高位虚拟空间地址必须由内核态去操作。

  用户态提供应用程序运行的空间,为了使应用程序访问到内核管理的资源,例如CPU,内存,I/O等。用户态只能受限的访问内存,且不允许访问外设
(硬盘、网卡等);内核态CPU可以访问内存所有数据,包括外设,且可以将自己从一个程序切换到另一个程序。

  从用户态切换到内核态有以下三种方式:

  系统调用:是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作。例如上面的例子、还比如fork()实际上就是执行了一个创建新进程的系统调用。(其实系统调用本身就是中断,是软件中断)

  异常:如果当前进程运行在用户态,如果这个时候发生了异常事件,就会触发切换。例如:缺页异常。

  外设中端:当外设完成用户的请求时,会向 CPU 发送中断信号,此时 CPU
会暂停执行下一条即将要执行的指令转而去执行与中断信号对应的处理程序,如果先前执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了由用户态到内核态的切换。例:如硬盘读写操作完成后,系统会切换到硬盘读写的中断处理程序中执行后续操作。

  老男孩教育Linux运维云计算课程汇集了虚拟化、云计算、安全攻防、Python开发、SRE等技术,课堂效率高、内容丰富全面,由浅入深,循序渐进,帮助学员稳扎稳打,夯实基础,在有限的时间内帮助学员高效提升,成为符合企业需求的技术型人才。

注意:吐槽知乎网只是一个问答与文章免费发布平台,所有信息均有会员免费发布,不产生金钱交易,如果你有资金往来,请及时通过电话与对方联系,调查清楚,确认无误在选择,否则造成你的损失,由自己承担,本平台概不负责,谢谢!

0 个评论

要回复文章请先登录注册

狗粮批发
嘿,进入会员专区!