第1章 Linux内核简介

通常,内核由负责响应中断的中断服务程序、负责管理多个进程从而分享处理器时间的调度程序,负责管理进程地址空间的内存管理程序和网络、进程间通信等系统服务程序共同组成。

在系统中运行的应用程序通过系统调用来与内核通信:


image.png

当一个应用程序执行一条系统调用,我们称内核正在代其执行。这种情况下,应用程序被称为通过系统调用在内核空间进行,而内核被称为运行于进程上下文中。这种交互关系(应用程序通过系统调用界面陷入内核)是应用程序完成其工作的基本行为方式。

每个处理器在任何指定时间点上的活动概括为以下三者之一:

  • 运行于用户空间,执行用户进程;
  • 运行于内核空间,处于进程上下文,代表某个特定的进程执行;
  • 运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断。

Linux内核与Unix内核的区别:

  • Linux支持动态加载内核模块,尽管其为单内核。
    • 单内核:把内核当作一个单独的大过程来实现,同时也运行在一个单独的地址空间上;
    • 微内核:把功能划分为多个独立的过程,每个过程叫做一个服务器。
  • Linux支持对称多处理(SMP)机制
  • Linux内核可以抢占
  • Linux内核不区分线程和其他一般进程
  • Linux提供具有设备类的面向对象的设备模型、热插拔事件,以及用户空间的设备文件系统
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容