linux内核态文件有哪些,linux内核简介

linux内核简介

内核是用来管理和分配计算机资源的,它主要有进程调度、内存管理、提供文件系统、创建和终止进程、对设备的访问、联网、提供系统调用的接口等。

内核还可以为内阁用户模拟出抽象的虚拟私有计算机,每个用户都可以登录进系统独立操作,与其他用户大致无干。

内核态和用户态

现代处理器一般都允许cpu至少在2种不同的状态下运行即用户态和内核态。与之对应,可将虚拟内存区域划分为用户控件和内核控件。

在用户态运行时,cpu只能访问被标记为用户空间的内存,试图访问内核控件的内存会引发硬件异常。当运行在内核态时,2种内存空间都能访问。

仅当cpu运行在内核态时才能执行某些特定的操作如关机、访问内存管理硬件以及io操作的初始化等。基于这一特性,所以实现者们把操作系统置于内核空间,这就确保用户进程不能访问内核指令和数据结构,同时也无法执行不利于系统的操作。

刷新我们的认知

程序员们都习惯于面向进程的思维方式来考虑编程问题,当我们了解了内核态和用户态后,就应该站在内核的角度重新审视问题。

1.一个运行中的系统通常会有多个进程,对进程而言,它对很多事件的发生都无法预期。执行中的进程不清除自己对cpu的占用何时结束,进程不知道自己在RAM的位置(有没可能在交换空间),进程间不能直接通信,进程本身不同创建进程,连让自己终止的能力都内有。

2.内核则是运行在系统的中枢,它对系统的一切都了如指掌,为系统上的所有进程提供了便利。如上文说得cpu的调度,文件io等都只能是内核来完成,进程根本无能为力。

那么为啥我们平时所了解的,一个进程既可以和其他进程通信又可以写入文件、创建子进程、终止运行等等。其实都是进程通过内核接口来向内核请求的结果,也就是进程可以向内核发送指令(系统调用),然后内核帮助我们完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值